diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt index 66ad89a3a2ba..5229c2af141a 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt @@ -80,6 +80,7 @@ target_link_libraries(reactnativejni glog_init logger react_cxxreact + react_cxxstableapi react_renderer_runtimescheduler reactnativejni_common runtimeexecutor diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h b/packages/react-native/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h index 2239ee579808..3e7c2c4ad229 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include #include diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h b/packages/react-native/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h index d144398244f5..3f24801ea6fa 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/jni/JavaScriptExecutorHolder.h @@ -5,6 +5,8 @@ * LICENSE file in the root directory of this source tree. */ +#include + #include #include diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h b/packages/react-native/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h index 3c246e47d5eb..316e73b5331d 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h b/packages/react-native/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h index bdefb6a068f6..8ea753923ba1 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/jni/MethodInvoker.h @@ -7,6 +7,8 @@ #pragma once +#include + #include #include diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h b/packages/react-native/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h index f277fc334976..a63964dc7e42 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/jni/ModuleRegistryBuilder.h @@ -5,6 +5,8 @@ * LICENSE file in the root directory of this source tree. */ +#include + #include #include diff --git a/scripts/cxx-api/README.md b/scripts/cxx-api/README.md index b894a008fc0a..bcb5df9a4472 100644 --- a/scripts/cxx-api/README.md +++ b/scripts/cxx-api/README.md @@ -4,7 +4,7 @@ Python build pipeline for React Native's C++ (and Objective-C) API snapshots. ## Overview -`scripts/cxx-api` generates human-readable snapshots of React Native's public C++ API surface. It uses [Doxygen](https://www.doxygen.nl/) to parse C/C++/Objective-C headers and a custom Python parser to produce a simplified, sorted representation of every public symbol. +`scripts/cxx-api` generates human-readable snapshots of React Native's public C++ API surface. It uses [Doxygen](https://www.doxygen.nl/) to parse C/C++/Objective-C headers and a custom Python parser to produce a simplified, sorted representation of every public symbol. Symbols declared in headers that the C++ stable API classifies as private or "for frameworks" are left out by default (see [Tier filtering](#tier-filtering)). The pipeline produces one `.api` snapshot file per configured **API view × variant** combination: @@ -16,8 +16,11 @@ The pipeline produces one `.api` snapshot file per configured **API view × vari | `ReactAndroidReleaseCxx.api` | Android-specific C++ API (release) | | `ReactAppleDebugCxx.api` | Apple-specific C++/Obj-C API (debug) | | `ReactAppleReleaseCxx.api` | Apple-specific C++/Obj-C API (release) | +| `ReactCommonFrameworksCxx.api` | Platform-independent C++ API, including for-frameworks symbols | +| `ReactAndroidFrameworksCxx.api` | Android-specific C++ API, including for-frameworks symbols | +| `ReactAppleFrameworksCxx.api` | Apple-specific C++/Obj-C API, including for-frameworks symbols | -For each view, debug and release variants are generated with different preprocessor definitions (e.g. `REACT_NATIVE_DEBUG` vs `NDEBUG`), since `#ifdef` guards in the source headers can produce a different public API surface per variant. +For each view, debug and release variants are generated with different preprocessor definitions (e.g. `REACT_NATIVE_DEBUG` vs `NDEBUG`), since `#ifdef` guards in the source headers can produce a different public API surface per variant. The frameworks variant uses the view's base definitions and also includes symbols from "for frameworks" headers. Snapshot files are committed to the repo under `scripts/cxx-api/api-snapshots/`. @@ -41,17 +44,44 @@ python -m scripts.cxx-api.parser --validate If any snapshot differs, a unified diff is printed and the process exits with a non-zero status. To fix a failing validation, regenerate the snapshots with `python -m scripts.cxx-api.parser` and commit the updated `.api` files. +#### Log tier boundary breaks + +Pass `--log-boundary-breaks` (in either mode) to print every header whose includes cross a tier boundary, with the include chain that causes it: + +```sh +python -m scripts.cxx-api.parser --validate --log-boundary-breaks +``` + ## How it works -The pipeline has two main stages: +The pipeline has three main stages: + +### 1. Tier classification + +Every header in a view's inputs is classified by the C++ stable API guard it includes: -### 1. Doxygen XML generation +| Guard | Tier | +|---|---| +| `react/cxxstableapi/UmbrellaGuard.h` | public | +| `react/cxxstableapi/FrameworksGuard.h` | for frameworks | +| `react/cxxstableapi/PrivateGuard.h` | private | +| none | unclassified | + +The headers' `#include`/`#import` directives are resolved into an include graph of the view. + +### 2. Doxygen XML generation Doxygen is configured via a generated config file (built from `.doxygen.config.template`) with the input directories, exclude patterns, and preprocessor definitions specified in `config.yml`. It outputs XML describing every symbol found in the headers. -### 2. Snapshot parsing +### 3. Snapshot parsing + +The Python parser (`parser/`) reads the Doxygen XML output and builds a scope tree of the public API surface, leaving out symbols declared in skipped headers. The tree is then serialized to a deterministically sorted, human-readable `.api` text format. -The Python parser (`parser/`) reads the Doxygen XML output and builds a scope tree of the public API surface. The tree is then serialized to a deterministically sorted, human-readable `.api` text format. +## Tier filtering + +Each view includes the tiers listed in its `visibility` config (`public`, `frameworks`, `private`), only `public` by default. A header in any other tier is skipped unless a header in an included tier reaches it, directly or through other includes: anything a public header includes is public in practice, whatever its own guard says. Unclassified headers are never skipped. + +A boundary break is a public header that reaches a for-frameworks or private header, or a for-frameworks header that reaches a private one. `--log-boundary-breaks` reports them at the edge where visibility drops. ## When to use it @@ -73,7 +103,11 @@ All API views and their variants are defined in `config.yml`. Each view specifie | `definitions` | Preprocessor macros to define | | `variants` | Named build variants (e.g. debug/release) with extra definitions | | `codegen` | Optional codegen platform (`android`, `ios`) to generate TurboModule/Component headers before scanning | -| `private_directories` | Directories whose headers are scanned (they may be transitively included) but should not contribute public symbols. If any public API entity is defined in a private directory, a warning is printed to help catch accidental API exposure. | +| `exclude_symbols` | Regex patterns for symbols to skip | +| `input_filter` | Whether to run Doxygen through the input filters in `parser/input_filters/` | +| `visibility` | C++ stable API tiers to include (`public`, `frameworks`, `private`); defaults to `[public]`. See [Tier filtering](#tier-filtering) | + +`exclude_patterns` and `exclude_symbols` can also be set at the top level, in which case they apply to every view. A top-level `visibility` applies to every view that does not set its own, and a variant can set `visibility` to override its view's. ## Snapshot format diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api index 1458d1fd6e03..777b8427b4ba 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api @@ -319,86 +319,6 @@ union jvalue { } -bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); -double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); -int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); -std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); - -class facebook::xplat::JsArgumentException : public std::logic_error { - public JsArgumentException(const std::string& msg); -} - - -class facebook::xplat::module::CxxModule { - public static constexpr AsyncTagType AsyncTag; - public static constexpr SyncTagType SyncTag; - public std::weak_ptr getInstance(); - public using Callback = std::function)>; - public using Provider = std::function()>; - public virtual std::map getConstants(); - public virtual std::string getName() = 0; - public virtual std::vector getMethods() = 0; - public virtual ~CxxModule() = default; - public void setInstance(std::weak_ptr instance); -} - -struct facebook::xplat::module::CxxModule::Method { - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc, AsyncTagType); - public bool isPromise; - public const char* getType(); - public size_t callbacks; - public std::function syncFunc; - public std::function func; - public std::string name; - template - public Method(std::string aname, T* t, void(T::*method)()); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); -} - - -std::string facebook::xplat::detail::toStringHelper(); -template -R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); -template -std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); -template -std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); - -template -struct facebook::xplat::detail::is_dynamic { - public using type = typename std::enable_if::value, T>::type; -} - - class facebook::hermes::IHermes : public facebook::jsi::ICast { protected ~IHermes() = default; public static constexpr facebook::jsi::UUID uuid; @@ -453,137 +373,26 @@ struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { } -const char facebook::react::AndroidHorizontalScrollContentViewShadowNodeComponentName[]; -const char facebook::react::AndroidProgressBarComponentName[]; -const char facebook::react::AndroidSwitchComponentName[]; -const char facebook::react::AndroidTextInputComponentName[]; -const char facebook::react::ImageComponentName[]; -const char facebook::react::ImageFetcherKey[]; -const char facebook::react::ImageManagerKey[]; -const char facebook::react::LegacyViewManagerAndroidInteropComponentName[]; -const char facebook::react::LegacyViewManagerInteropComponentName[]; -const char facebook::react::ModalHostViewComponentName[]; -const char facebook::react::ParagraphComponentName[]; -const char facebook::react::RawTextComponentName[]; -const char facebook::react::RootComponentName[]; -const char facebook::react::RuntimeSchedulerKey[]; -const char facebook::react::SafeAreaViewComponentName[]; -const char facebook::react::ScrollViewComponentName[]; -const char facebook::react::TextComponentName[]; -const char facebook::react::TextEffectComponentName[]; -const char facebook::react::UnimplementedViewComponentName[]; const char facebook::react::ViewComponentName[]; const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; -constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; constexpr auto facebook::react::rncore_ModuleProvider; constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; -constexpr char facebook::react::VirtualViewComponentName[]; -constexpr char* const facebook::react::TextLayoutManagerKey; -constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; -constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; constexpr facebook::react::Tag facebook::react::kNoTag; -constexpr float facebook::react::kDefaultEpsilon; -constexpr size_t facebook::react::EVENT_BUFFER_SIZE; -constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; -constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; static constexpr auto facebook::react::kPropNameLengthHardCap; -static constexpr double facebook::react::SingleFrameIntervalMs; -static constexpr double facebook::react::TicksPerMs; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_BASE_ATTRIBUTES; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_CACHE_ID; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_FRAGMENTS; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_HASH; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_STRING; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_HEIGHT; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_IS_ATTACHMENT; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_REACT_TAG; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_STRING; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_TEXT_ATTRIBUTES; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_WIDTH; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_ADJUST_FONT_SIZE_TO_FIT; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_ELLIPSIZE_MODE; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_HYPHENATION_FREQUENCY; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_INCLUDE_FONT_PADDING; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MAX_NUMBER_OF_LINES; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MINIMUM_FONT_SCALE; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MINIMUM_FONT_SIZE; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_ALIGN_VERTICAL; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_BREAK_STRATEGY; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_WIDTH_MODE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ACCESSIBILITY_ROLE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALIGNMENT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALIGNMENT_VERTICAL; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALLOW_FONT_SCALING; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_BACKGROUND_COLOR; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_BEST_WRITING_DIRECTION; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_FAMILY; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_SIZE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_SIZE_MULTIPLIER; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_STYLE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_VARIANT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_VARIATION_SETTINGS; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_WEIGHT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FOREGROUND_COLOR; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_IS_HIGHLIGHTED; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LAYOUT_DIRECTION; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LETTER_SPACING; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LINE_BREAK_STRATEGY; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LINE_HEIGHT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_MAX_FONT_SIZE_MULTIPLIER; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_OPACITY; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ROLE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_COLOR; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_LINE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_STYLE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_EFFECTS; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_COLOR; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_OFFSET_DX; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_OFFSET_DY; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_RADIUS; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_TRANSFORM; -static constexpr facebook::react::MapBuffer::Key facebook::react::TE_KEY_NAME; -static constexpr facebook::react::MapBuffer::Key facebook::react::TE_KEY_PROPS; -static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_ATTRIBUTED_STRING; -static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_HASH; -static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_MOST_RECENT_EVENT_COUNT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_PARAGRAPH_ATTRIBUTES; static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; -static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; -static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; -static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; -template -using facebook::react::CSSCompoundDataType = std::variant; -template -using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; -template -using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; -template -using facebook::react::EventListenerT = std::function; -typedef std::function facebook::react::ValueListenerCallback; -typedef std::tuple facebook::react::RectAsTuple; -typedef void(*facebook::react::WarnOnUsageLogger)(std::string message); -using facebook::react::ActivePointerRegistry = std::unordered_map; using facebook::react::ActivityIndicatorViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::ActivityIndicatorViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::ActivityIndicatorViewState = facebook::react::StateData; using facebook::react::AndroidDrawerLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::AndroidDrawerLayoutShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::AndroidDrawerLayoutState = facebook::react::StateData; -using facebook::react::AndroidHorizontalScrollContentViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::AndroidSwipeRefreshLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::AndroidSwipeRefreshLayoutShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::AndroidSwipeRefreshLayoutState = facebook::react::StateData; -using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; -using facebook::react::AnimationTimestamp = std::chrono::duration; -using facebook::react::BackgroundExecutor = std::function&& callback)>; using facebook::react::BackgroundImage = std::variant; using facebook::react::BackgroundSize = std::variant; using facebook::react::BorderColors = facebook::react::RectangleEdges; @@ -591,22 +400,7 @@ using facebook::react::BorderCurves = facebook::react::RectangleCorners; using facebook::react::BorderStyles = facebook::react::RectangleEdges; using facebook::react::BorderWidths = facebook::react::RectangleEdges; -using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSPreservedToken = facebook::react::CSSToken; -using facebook::react::CSSRadialGradientSize = std::variant; -using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; using facebook::react::CallFunc = std::function; -using facebook::react::Callback = std::function; -using facebook::react::CallbackHandle = facebook::jsi::Object; -using facebook::react::CallbackId = uint64_t; -using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; @@ -616,139 +410,58 @@ using facebook::react::ComponentDescriptorConstructor = facebook::react::Compone using facebook::react::ComponentDescriptorProviderRequest = std::function; using facebook::react::ComponentHandle = int64_t; using facebook::react::ComponentName = const char*; -using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; using facebook::react::CornerInsets = facebook::react::RectangleCorners; using facebook::react::DebuggingOverlayComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::DebuggingOverlayShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::DebuggingOverlayState = facebook::react::StateData; -using facebook::react::DispatchEvent = std::function; using facebook::react::EdgeInsets = facebook::react::RectangleEdges; -using facebook::react::EndResult = facebook::react::NativeAnimatedTurboModuleEndResult, std::optional>; -using facebook::react::EventEmitterListener = facebook::react::EventListenerT; -using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; using facebook::react::EventListener = std::function; using facebook::react::EventPipe = std::function; using facebook::react::EventPipeConclusion = std::function; using facebook::react::EventTag = unsigned int; using facebook::react::Float = float; -using facebook::react::GarbageCollectionTrigger = std::function; using facebook::react::GradientDirection = std::variant; -using facebook::react::HasComponentProviderFunctionType = std::function; -using facebook::react::Headers = std::map; using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; using facebook::react::ImageSources = std::vector; -using facebook::react::InteractionTypesMap = std::unordered_map; -using facebook::react::IntersectionObserverObserverId = int32_t; -using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::LegacyViewManagerAndroidInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::LinesMeasurements = std::vector; -using facebook::react::Logger = std::function; -using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MethodCallResult = std::optional; using facebook::react::ModalHostViewSupportedOrientationsMask = uint32_t; -using facebook::react::MountingTransactionCallback = std::function; -using facebook::react::MutationObserverId = int32_t; -using facebook::react::NativeIntersectionObserverEntry = facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry; -using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; -using facebook::react::NativeIntersectionObserverObserveOptions = facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; using facebook::react::NativeMethodCallFunc = std::function; -using facebook::react::NativeMutationObserverObserveOptions = facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions, bool>; -using facebook::react::NativeMutationRecord = facebook::react::NativeMutationObserverNativeMutationRecord, std::vector>; -using facebook::react::NativePartialReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; -using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; -using facebook::react::NativePerformancePerformanceObserverObserveOptions = facebook::react::NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; -using facebook::react::NativeReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; -using facebook::react::NativeRequestIdleCallbackOptions = facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions>; -using facebook::react::NativeResizeObserverEntry = facebook::react::NativeResizeObserverNativeResizeObserverEntry; -using facebook::react::NativeResizeObserverNotifyCallback = facebook::react::SyncCallback; -using facebook::react::NativeResizeObserverObserveOptions = facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions, std::optional>; -using facebook::react::OnMutations = std::function&)>; -using facebook::react::ParagraphProps = facebook::react::HostPlatformParagraphProps; -using facebook::react::PerformanceEntry = std::variant; -using facebook::react::PerformanceEntryInteractionId = uint32_t; -using facebook::react::PerformanceObserverCallback = std::function; -using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; -using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; -using facebook::react::PointerIdentifier = int32_t; using facebook::react::PromiseSetupFunctionType = std::function)>; using facebook::react::PullToRefreshViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::PullToRefreshViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::PullToRefreshViewState = facebook::react::StateData; -using facebook::react::RawCallback = std::function; using facebook::react::RawPropsPropNameHash = uint32_t; using facebook::react::RawPropsPropNameLength = uint16_t; using facebook::react::RawPropsValueIndex = uint16_t; -using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ResizeObserverObserverId = int32_t; -using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::RuntimeExecutor = std::function&& callback)>; -using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; -using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; -using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ScrollViewProps = facebook::react::HostPlatformScrollViewProps; -using facebook::react::ShadowTreeCommitTransaction = std::function; -using facebook::react::ShadowViewMutationList = std::vector; using facebook::react::SharedComponentDescriptor = std::shared_ptr; using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; using facebook::react::SharedEventEmitter = std::shared_ptr; using facebook::react::SharedEventPayload = std::shared_ptr; using facebook::react::SharedEventTarget = std::shared_ptr; -using facebook::react::SharedParagraphAttributes = std::shared_ptr; -using facebook::react::SharedRawTextProps = std::shared_ptr; -using facebook::react::SharedScrollViewProps = std::shared_ptr; using facebook::react::SharedShadowNodeFamily = std::shared_ptr; -using facebook::react::SharedTextAttributes = std::shared_ptr; using facebook::react::SharedTouchEventEmitter = std::shared_ptr; using facebook::react::SharedViewEventEmitter = std::shared_ptr; using facebook::react::SharedViewProps = std::shared_ptr; -using facebook::react::SizeAsTuple = std::tuple; -using facebook::react::SnapshotMap = std::unordered_map>; using facebook::react::StatePipe = std::function; using facebook::react::SurfaceId = int32_t; using facebook::react::Tag = int32_t; using facebook::react::TelemetryClock = std::chrono::steady_clock; using facebook::react::TelemetryDuration = std::chrono::nanoseconds; using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; -using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; -using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); -using facebook::react::TimerHandle = int; -using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; using facebook::react::Touch = facebook::react::HostPlatformTouch; using facebook::react::Touches = std::unordered_set; -using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; using facebook::react::TracingStateListener = std::function; using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; -using facebook::react::UiTask = std::function; using facebook::react::UnimplementedNativeViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::UnimplementedNativeViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::UnimplementedNativeViewState = facebook::react::StateData; -using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::UserTimingDetailProvider = std::function; using facebook::react::ValueFactory = std::function; using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; -using facebook::react::ViewNodePairScope = std::deque; using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; using facebook::react::ViewShadowNodeProps = facebook::react::ViewProps; -using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); -template -concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; -template -concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && - ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; template concept facebook::react::StateDataWithJNIReference = requires(StateDataT stateData) { { stateData.getJNIReference() } -> std::same_as>; @@ -757,51 +470,6 @@ template concept facebook::react::StateDataWithMapBuffer = requires(StateDataT stateData) { { stateData.getMapBuffer() } -> std::same_as; }; -template -concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { - { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { - { T::consume(parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { - { T::consumePreservedToken(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { - { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && - !CSSParserSink) || -CSSParserSink; -template -concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& - (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); -template -concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(func, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { - { visitor(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(block, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; -template -concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; -template -concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; -template -concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; -template -concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; template concept facebook::react::DeclaresOwnSetProp = std::is_same_v; template @@ -819,51 +487,18 @@ template concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { { T::filterRawProps(rawProps) } -> std::same_as; }; -template -concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( - TextLayoutManagerT textLayoutManager, - facebook::react::AttributedString attributedString, - facebook::react::ParagraphAttributes paragraphAttributes, - facebook::react::TextLayoutContext layoutContext, - facebook::react::LayoutConstraints layoutConstraints, - typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { - sizeof(typename TextLayoutManagerT::PreparedTextLayout); - { - textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) - } -> std::same_as; - { - textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) - } -> std::same_as; -}; AAssetManager* facebook::react::extractAssetManager(jni::alias_ref assetManager); JSI_EXPORT std::shared_ptr facebook::react::FBReactNativeSpec_ModuleProvider(const std::string& moduleName, const facebook::react::JavaTurboModule::InitParams& params); YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); -bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); -bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); bool facebook::react::areBorderRadiiCircular(const facebook::react::BorderRadii& borderRadii); -bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); -bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); bool facebook::react::hostPlatformColorIsColorMeaningful(facebook::react::Color color) noexcept; bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); bool facebook::react::isZero(facebook::react::Float n); const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); -const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); -const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); constexpr auto facebook::react::to_underlying(auto e) noexcept; -constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); constexpr char facebook::react::toLower(char c); -constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); -constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); -constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); -double facebook::react::ceil(double value) noexcept; -double facebook::react::floor(double value) noexcept; -double facebook::react::getCPUTimeNanos(); -double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); -double facebook::react::round(double value) noexcept; facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); facebook::react::AnimatedPropsBuffer facebook::react::encodeAnimatedProps(const std::unordered_map& updates); facebook::react::Color facebook::react::hostPlatformColorFromComponents(facebook::react::ColorComponents components); @@ -871,33 +506,19 @@ facebook::react::Color facebook::react::hostPlatformColorFromRGBA(uint8_t r, uin facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); facebook::react::ColorComponents facebook::react::colorComponentsFromHostPlatformColor(facebook::react::Color color); facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); -facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); -facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); facebook::react::Float facebook::react::floatFromYogaFloat(float value); facebook::react::Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); -facebook::react::MapBuffer facebook::react::serializeImageRequests(const std::vector& items); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::AttributedString& attributedString); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::AttributedString::Fragment& fragment); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::FontVariant& fontVariant); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::ParagraphAttributes& paragraphAttributes); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::ParagraphState& paragraphState); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::TextAttributes& textAttributes); -facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); -facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); -facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); facebook::react::SharedColor facebook::react::blackColor(); facebook::react::SharedColor facebook::react::clearColor(); -facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); facebook::react::SharedColor facebook::react::parsePlatformColor(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value); facebook::react::SharedColor facebook::react::whiteColor(); -facebook::react::Size facebook::react::ModalHostViewScreenSize(void); facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); @@ -906,17 +527,12 @@ facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(facebook::react::Float value); float facebook::react::alphaFromHostPlatformColor(facebook::react::Color color); float facebook::react::blueFromHostPlatformColor(facebook::react::Color color); -float facebook::react::ceil(float value) noexcept; -float facebook::react::floor(float value) noexcept; float facebook::react::greenFromHostPlatformColor(facebook::react::Color color); float facebook::react::redFromHostPlatformColor(facebook::react::Color color); -float facebook::react::round(float value) noexcept; float facebook::react::yogaFloatFromFloat(facebook::react::Float value); folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); folly::dynamic facebook::react::toDynamic(const YGValue& dimension); -folly::dynamic facebook::react::toDynamic(const facebook::react::AndroidProgressBarProps& props); -folly::dynamic facebook::react::toDynamic(const facebook::react::AndroidTextInputTextShadowOffsetStruct& value); folly::dynamic facebook::react::toDynamic(const facebook::react::BackgroundImage& backgroundImage); folly::dynamic facebook::react::toDynamic(const facebook::react::BoxShadow& boxShadow); folly::dynamic facebook::react::toDynamic(const facebook::react::EdgeInsets& edgeInsets); @@ -924,7 +540,6 @@ folly::dynamic facebook::react::toDynamic(const facebook::react::FilterFunction& folly::dynamic facebook::react::toDynamic(const facebook::react::ImageSource& imageSource); folly::dynamic facebook::react::toDynamic(const facebook::react::Point& point); folly::dynamic facebook::react::toDynamic(const facebook::react::SharedColor& sharedColor); -folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); @@ -935,91 +550,32 @@ folly::dynamic facebook::react::toDynamic(uint32_t value); int facebook::react::toAndroidRepr(const facebook::react::SharedColor& color); int facebook::react::toInt(const facebook::react::DisplayType& displayType); int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); -long double facebook::react::ceil(long double value) noexcept; -long double facebook::react::floor(long double value) noexcept; -long double facebook::react::round(long double value) noexcept; -size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); -std::function facebook::react::makeCallback(std::weak_ptr instance, const folly::dynamic& callbackId); std::optional facebook::react::blendModeFromString(std::string_view blendModeName); std::optional facebook::react::filterTypeFromString(std::string_view filterName); -std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); -std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); std::optional facebook::react::isolationFromString(std::string_view isolationSetting); -std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); -std::string facebook::react::base64Encode(const std::string_view s); -std::string facebook::react::componentNameByReactViewName(std::string viewName); -std::string facebook::react::generateRandomUuidString(); std::string facebook::react::toString(const double& value); std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); -std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); -std::string facebook::react::toString(const facebook::react::DataDetectorType& value); std::string facebook::react::toString(const facebook::react::DisplayType& displayType); -std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); -std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); std::string facebook::react::toString(const facebook::react::FilterType& filterType); -std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); -std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); -std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); -std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); std::string facebook::react::toString(const facebook::react::ImageSource& value); std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); -std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); -std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); std::string facebook::react::toString(const facebook::react::Role& role); -std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); std::string facebook::react::toString(const facebook::react::SharedColor& value); -std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); -std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); -std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); -std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); -std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); -std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); -std::string facebook::react::toString(const facebook::react::TextWidthMode& textWidthMode); -std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); std::string facebook::react::toString(double doubleValue, char suffix); std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); std::string facebook::react::toString(facebook::react::PointerEventsMode value); -std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); std::unique_ptr facebook::react::loadScriptFromAssets(AAssetManager* assetManager, const std::string& assetName); std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); -std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); -std::vector facebook::react::parseMethodCalls(folly::dynamic&& jsonData); -std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); -std::vector> facebook::react::buildNativeModuleList(std::weak_ptr winstance, jni::alias_ref::javaobject> javaModules, std::shared_ptr moduleMessageQueue); -template -constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); -template -constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); -template -facebook::react::Float facebook::react::roundToPixel(facebook::react::Float value, facebook::react::Float scaleFactor); -template -facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, facebook::react::Float scaleFactor); -template -facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, facebook::react::Float scaleFactor); -template -facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, facebook::react::Float scaleFactor); template std::size_t facebook::react::hash_combine(const T& v, const Args &... args); template void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); template void facebook::react::hash_combine_optionals(std::size_t& seed, const std::optional &... optionals); -template ::type> -facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); -template -constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); -template -constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); template constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; template @@ -1031,12 +587,6 @@ DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); template T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue); template -T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); -template -T facebook::react::get(const std::unique_ptr& animatedProp); -template -bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); -template folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); template jni::local_ref> facebook::react::makeJWeakReference(jni::alias_ref ref); @@ -1058,11 +608,6 @@ uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noex uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; void facebook::react::FBReactNativeSpec_registerComponentDescriptorsFromCodegen(std::shared_ptr registry); void facebook::react::addDynamicToJArray(jni::alias_ref> jarray, jint index, const folly::dynamic& dyn); -void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); -void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); -void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); -void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); -void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); void facebook::react::ensureThreadDurationJNIEnvAttached(); void facebook::react::fromRawValue(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); @@ -1072,36 +617,17 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); @@ -1112,24 +638,16 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::DataDetectorType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::EdgeInsets& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageResizeMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageSource& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); @@ -1138,15 +656,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); -void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); -void facebook::react::handleJSError(facebook::jsi::Runtime& runtime, const facebook::jsi::JSError& error, bool isFatal); -void facebook::react::mergeAnimatedRawProps(folly::dynamic& target, const folly::dynamic& source); -void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); -void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); -void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); void facebook::react::reactAndroidLoggingHook(const std::string& message, unsigned int logLevel); void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); @@ -1154,17 +663,10 @@ void facebook::react::serializeTransformAxis(const facebook::react::TransformOpe void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); -void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); -void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); -bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); -bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); -bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); -bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; -bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); constexpr bool facebook::react::operator&(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); @@ -1236,11 +738,6 @@ class facebook::react::ActivityIndicatorViewProps : public facebook::react::Host public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - class facebook::react::AndroidAnimationChoreographer : public facebook::react::AnimationChoreographer { public virtual void pause() override; public virtual void resume() override; @@ -1299,25 +796,9 @@ class facebook::react::AndroidHorizontalScrollContentViewProps : public facebook public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidHorizontalScrollContentViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidHorizontalScrollContentViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidHorizontalScrollContentViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public virtual void layout(facebook::react::LayoutContext layoutContext) override; -} - -class facebook::react::AndroidProgressBarComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public AndroidProgressBarComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::AndroidProgressBarEventEmitter : public facebook::react::BaseViewEventEmitter { } -class facebook::react::AndroidProgressBarMeasurementsManager { - public AndroidProgressBarMeasurementsManager(const std::shared_ptr& contextContainer); - public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, const facebook::react::AndroidProgressBarProps& props, facebook::react::LayoutConstraints layoutConstraints) const; -} - class facebook::react::AndroidProgressBarProps : public facebook::react::HostPlatformViewProps { public AndroidProgressBarProps() = default; public AndroidProgressBarProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidProgressBarProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -1332,14 +813,6 @@ class facebook::react::AndroidProgressBarProps : public facebook::react::HostPla public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidProgressBarShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidProgressBarShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidProgressBarShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public void setAndroidProgressBarMeasurementsManager(const std::shared_ptr& measurementsManager); -} - class facebook::react::AndroidSwipeRefreshLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { public void onRefresh(facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh value) const; } @@ -1360,11 +833,6 @@ class facebook::react::AndroidSwipeRefreshLayoutProps : public facebook::react:: public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidSwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public AndroidSwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::AndroidSwitchEventEmitter : public facebook::react::BaseViewEventEmitter { public void onChange(facebook::react::AndroidSwitchEventEmitter::OnChange value) const; } @@ -1374,11 +842,6 @@ struct facebook::react::AndroidSwitchEventEmitter::OnChange { public int target; } -class facebook::react::AndroidSwitchMeasurementsManager { - public AndroidSwitchMeasurementsManager(const std::shared_ptr& contextContainer); - public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, facebook::react::LayoutConstraints layoutConstraints) const; -} - class facebook::react::AndroidSwitchProps : public facebook::react::HostPlatformViewProps { public AndroidSwitchProps() = default; public AndroidSwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwitchProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -1395,237 +858,6 @@ class facebook::react::AndroidSwitchProps : public facebook::react::HostPlatform public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidSwitchShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidSwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidSwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public void setAndroidSwitchMeasurementsManager(const std::shared_ptr& measurementsManager); -} - -class facebook::react::AndroidTextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public AndroidTextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; -} - -class facebook::react::AndroidTextInputEventEmitter : public facebook::react::BaseViewEventEmitter { -} - -class facebook::react::AndroidTextInputProps : public facebook::react::BaseTextInputProps { - public AndroidTextInputProps() = default; - public AndroidTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool allowFontScaling; - public bool autoCorrect; - public bool caretHidden; - public bool contextMenuHidden; - public bool disableFullscreenUI; - public bool hasPadding; - public bool hasPaddingBottom; - public bool hasPaddingEnd; - public bool hasPaddingHorizontal; - public bool hasPaddingLeft; - public bool hasPaddingRight; - public bool hasPaddingStart; - public bool hasPaddingTop; - public bool hasPaddingVertical; - public bool includeFontPadding; - public bool secureTextEntry; - public bool selectTextOnFocus; - public bool showSoftInputOnFocus; - public facebook::react::AndroidTextInputTextShadowOffsetStruct textShadowOffset; - public facebook::react::Float fontSize; - public facebook::react::Float letterSpacing; - public facebook::react::Float lineHeight; - public facebook::react::Float maxFontSizeMultiplier; - public facebook::react::Float textShadowRadius; - public facebook::react::SharedColor color; - public facebook::react::SharedColor textShadowColor; - public folly::dynamic getDynamic() const; - public int inlineImagePadding; - public int numberOfLines; - public std::string autoComplete; - public std::string fontFamily; - public std::string fontStyle; - public std::string fontWeight; - public std::string importantForAutofill; - public std::string inlineImageLeft; - public std::string keyboardType; - public std::string returnKeyLabel; - public std::string returnKeyType; - public std::string textAlign; - public std::string textBreakStrategy; - public std::string textDecorationLine; - public std::string textTransform; - public std::string value; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::AndroidTextInputShadowNode : public facebook::react::ConcreteViewShadowNode { - protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; - protected std::shared_ptr textLayoutManager_; - protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - protected virtual void layout(facebook::react::LayoutContext layoutContext) override; - public AndroidTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - -class facebook::react::AndroidTextInputState { - public AndroidTextInputState() = default; - public AndroidTextInputState(const facebook::react::AndroidTextInputState& previousState, const folly::dynamic& data); - public AndroidTextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); - public facebook::react::AttributedString reactTreeAttributedString; - public facebook::react::AttributedStringBox attributedStringBox; - public facebook::react::MapBuffer getMapBuffer() const; - public facebook::react::ParagraphAttributes paragraphAttributes; - public folly::dynamic getDynamic() const; - public int64_t cachedAttributedStringId; - public int64_t mostRecentEventCount; -} - -class facebook::react::AnimatedModule : public facebook::react::NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { - public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); - public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); - public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); - public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); - public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); - public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void finishOperationBatch(facebook::jsi::Runtime& rt); - public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); - public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); - public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); - public void removeListeners(facebook::jsi::Runtime& rt, int count); - public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); - public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); - public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); - public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void startOperationBatch(facebook::jsi::Runtime& rt); - public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); - public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); -} - -class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { - public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; -} - -class facebook::react::AnimatedNode { - protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); - protected facebook::react::AnimatedNodeType type_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag tag_; - protected std::unordered_set children_; - public AnimatedNode(const facebook::react::AnimatedNode&) = default; - public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; - public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); - public const folly::dynamic& getConfig() const noexcept; - public const std::unordered_set& getChildren() const noexcept; - public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; - public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; - public facebook::react::AnimatedNodeType type() const noexcept; - public facebook::react::Tag tag() const noexcept; - public int activeIncomingNodes; - public int bfsColor; - public static constexpr int INITIAL_BFS_COLOR; - public static std::optional getNodeTypeByName(const std::string& nodeTypeName); - public std::string debugID() const; - public virtual void onAttachToNode(facebook::react::Tag); - public virtual void onDetachedFromNode(facebook::react::Tag); - public virtual void update(); - public virtual ~AnimatedNode() = default; - public void addChild(facebook::react::Tag tag); - public void removeChild(facebook::react::Tag tag); -} - -class facebook::react::AnimatedPropsRegistry { - public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); - public void clear(facebook::react::SurfaceId surfaceId); - public void clearOnSurfaceStop(facebook::react::SurfaceId surfaceId); - public void initializeSurface(facebook::react::SurfaceId surfaceId); - public void update(const std::vector& batches); -} - -class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { - public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); - public using PauseCallback = std::function; - public using ResumeCallback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) override; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; - public virtual void stop(facebook::react::CallbackId callbackId) override; - public virtual void trigger() override; - public void requestAsyncFlushForSurfaces(const std::set& surfaces); - public void synchronouslyUpdateProps(const std::unordered_map& updates); - public ~AnimationBackend() override; -} - -class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { - public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; -} - -class facebook::react::AnimationChoreographer { - public virtual facebook::react::AnimationTimestamp now() const; - public virtual void pause() = 0; - public virtual void resume() = 0; - public virtual ~AnimationChoreographer() = default; - public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; - public void setAnimationBackend(std::weak_ptr animationBackend); -} - -class facebook::react::AnimationDriver { - protected bool ignoreCompletedHandlers_; - protected bool isComplete_; - protected bool isStarted_; - protected double startFrameTimeMs_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag animatedValueTag_; - protected folly::dynamic config_; - protected int currentIteration_; - protected int id_; - protected int iterations_; - protected std::optional endCallback_; - protected virtual bool update(double, bool); - protected void markNodeUpdated(facebook::react::Tag tag); - public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); - public bool getIsComplete() const noexcept; - public facebook::react::Tag getAnimatedValueTag() const noexcept; - public int getId() const noexcept; - public static std::optional getDriverTypeByName(const std::string& driverTypeName); - public std::string debugID() const; - public virtual void updateConfig(folly::dynamic config); - public virtual ~AnimationDriver() = default; - public void runAnimationStep(double renderingTime); - public void startAnimation(); - public void stopAnimation(bool ignoreCompletedHandlers = false); -} - -class facebook::react::AppRegistryBinding { - public AppRegistryBinding() = delete; - public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); -} - class facebook::react::AsyncArrayBuffer { public AsyncArrayBuffer(const facebook::react::AsyncArrayBuffer&) = delete; public AsyncArrayBuffer(facebook::react::AsyncArrayBuffer&&) noexcept = default; @@ -1644,153 +876,6 @@ class facebook::react::AsyncArrayBuffer { public ~AsyncArrayBuffer() = default; } -class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { - public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; - public bool isContentEqual(const facebook::react::AttributedString& rhs) const; - public bool isEmpty() const; - public bool operator==(const facebook::react::AttributedString& rhs) const; - public const facebook::react::AttributedString::Fragments& getFragments() const; - public const facebook::react::TextAttributes& getBaseTextAttributes() const; - public facebook::react::AttributedString::Fragments& getFragments(); - public std::string getString() const; - public using Fragments = std::vector; - public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); - public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); - public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); -} - -class facebook::react::AttributedString::Fragment { - public bool isAttachment() const; - public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; - public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; - public facebook::react::ShadowView parentShadowView; - public facebook::react::TextAttributes textAttributes; - public static std::string AttachmentCharacter(); - public std::string string; -} - -class facebook::react::AttributedString::Range { - public int length; - public int location; -} - -class facebook::react::AttributedStringBox { - public AttributedStringBox(); - public AttributedStringBox(const facebook::react::AttributedString& value); - public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; - public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; - public AttributedStringBox(std::shared_ptr opaquePointer); - public const facebook::react::AttributedString& getValue() const; - public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; - public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; - public facebook::react::AttributedStringBox::Mode getMode() const; - public std::shared_ptr getOpaquePointer() const; -} - -enum facebook::react::AttributedStringBox::Mode { - OpaquePointer, - Value, -} - -class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseParagraphProps() = default; - public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool isSelectable; - public bool onTextLayout; - public facebook::react::ParagraphAttributes paragraphAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { - public BaseScrollViewProps() = default; - public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool alwaysBounceHorizontal; - public bool alwaysBounceVertical; - public bool automaticallyAdjustContentInsets; - public bool automaticallyAdjustKeyboardInsets; - public bool automaticallyAdjustsScrollIndicatorInsets; - public bool bounces; - public bool bouncesZoom; - public bool canCancelContentTouches; - public bool centerContent; - public bool directionalLockEnabled; - public bool disableIntervalMomentum; - public bool horizontal; - public bool isInvertedVirtualizedList; - public bool pagingEnabled; - public bool persistentScrollbar; - public bool pinchGestureEnabled; - public bool scrollEnabled; - public bool scrollToOverflowEnabled; - public bool scrollsToTop; - public bool showsHorizontalScrollIndicator; - public bool showsVerticalScrollIndicator; - public bool snapToEnd; - public bool snapToStart; - public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; - public facebook::react::EdgeInsets contentInset; - public facebook::react::EdgeInsets scrollIndicatorInsets; - public facebook::react::Float decelerationRate; - public facebook::react::Float endDraggingSensitivityMultiplier; - public facebook::react::Float maximumZoomScale; - public facebook::react::Float minimumZoomScale; - public facebook::react::Float scrollEventThrottle; - public facebook::react::Float snapToInterval; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::ScrollViewIndicatorStyle indicatorStyle; - public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; - public facebook::react::ScrollViewSnapToAlignment snapToAlignment; - public std::optional maintainVisibleContentPosition; - public std::vector snapToOffsets; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseTextInputProps() = default; - public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool autoFocus; - public bool disableKeyboardShortcuts; - public bool editable; - public bool multiline; - public bool readOnly; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::SharedColor cursorColor; - public facebook::react::SharedColor placeholderTextColor; - public facebook::react::SharedColor selectionColor; - public facebook::react::SharedColor selectionHandleColor; - public facebook::react::SharedColor underlineColorAndroid; - public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; - public facebook::react::SubmitBehavior submitBehavior; - public facebook::react::TextAttributes getEffectiveTextAttributes(facebook::react::Float fontSizeMultiplier) const; - public int maxLength; - public int mostRecentEventCount; - public std::optional> acceptDragAndDropTypes; - public std::string autoCapitalize; - public std::string defaultValue; - public std::string placeholder; - public std::string text; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextProps { - public BaseTextProps() = default; - public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::TextAttributes textAttributes; - public void appendTextAttributesProps(folly::dynamic& result, const facebook::react::BaseTextProps* prevProps) const; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextShadowNode { - public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); - public using Attachments = std::vector; -} - -class facebook::react::BaseTextShadowNode::Attachment { - public const facebook::react::ShadowNode* shadowNode; - public size_t fragmentIndex; -} - class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { public void onAccessibilityAction(const std::string& name) const; public void onAccessibilityEscape() const; @@ -1847,16 +932,6 @@ class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { - public BigStringBuffer(std::unique_ptr script); - public virtual const uint8_t* data() const override; - public virtual size_t size() const override; -} - -class facebook::react::BindingsInstaller { - public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); -} - class facebook::react::BindingsInstallerHolder : public jni::HybridClass { public static constexpr auto kJavaDescriptor; public using BindingsInstallFunc = std::function& callInvoker)>; @@ -1874,72 +949,6 @@ class facebook::react::BlobModuleJSIBindings : public jni::JavaClass messageQueueThread); - public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; - public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; -} - -class facebook::react::BufferedRuntimeExecutor : public std::enable_shared_from_this { - public BufferedRuntimeExecutor(facebook::react::BufferedRuntimeExecutor::Executor executor); - public facebook::react::RuntimeExecutor asRuntimeExecutor(); - public facebook::react::RuntimeExecutor asWeakRuntimeExecutor(); - public using Executor = std::function; - public using Work = std::function; - public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void execute(facebook::react::SchedulerPriority priority, facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void flush(); -} - -class facebook::react::CSSSyntaxParser { - public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; - public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; - public constexpr CSSSyntaxParser(std::string_view css); - public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); - public constexpr bool isFinished() const; - public constexpr const facebook::react::CSSToken& peek() const; - public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; - public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; - public constexpr void consumeWhitespace(); - template - public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); - template - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); -} - -class facebook::react::CSSToken { - public constexpr CSSToken(const facebook::react::CSSToken& other) = default; - public constexpr CSSToken(facebook::react::CSSToken&& other) = default; - public constexpr CSSToken(facebook::react::CSSTokenType type); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); - public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); - public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; - public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; - public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; - public constexpr facebook::react::CSSTokenType type() const; - public constexpr float numericValue() const; - public constexpr std::string_view stringValue() const; - public constexpr std::string_view unit() const; -} - -class facebook::react::CSSTokenizer { - public constexpr CSSTokenizer(std::string_view characters); - public constexpr facebook::react::CSSToken next(); -} - -class facebook::react::CSSValueParser { - public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; - public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); - public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; - public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); - public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); -} - class facebook::react::CallInvoker { public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; @@ -1954,13 +963,6 @@ class facebook::react::CallInvokerHolder : public jni::HybridClass getCallInvoker(); } -class facebook::react::CallInvokerImpl : public facebook::react::CallInvoker { - public CallInvokerImpl(std::shared_ptr bufferedRuntimeExecutor, std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { public facebook::jsi::Function& callback() noexcept; public facebook::jsi::Runtime& runtime() noexcept; @@ -1970,32 +972,6 @@ class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject public void destroy(); } -class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; -} - -class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; -} - -class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { - public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::Color getColor(); - public virtual void update() override; -} - -class facebook::react::ComponentBuilder { - public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; - public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; - public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); - public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; - public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; - template - public std::shared_ptr build(facebook::react::Element element) const; -} - class facebook::react::ComponentDescriptor { protected facebook::react::ComponentDescriptor::Flavor flavor_; protected facebook::react::EventDispatcher::Weak eventDispatcher_; @@ -2083,17 +1059,6 @@ class facebook::react::ContextContainer { public void insert(const std::string& key, const T& instance) const; } -class facebook::react::CxxNativeModule : public facebook::react::NativeModule { - public CxxNativeModule(std::weak_ptr instance, std::string name, facebook::xplat::module::CxxModule::Provider provider, std::shared_ptr messageQueueThread); - public static void setShouldWarnOnUse(bool value); - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int hookId, folly::dynamic&& args) override; - public virtual folly::dynamic getConstants() override; - public virtual std::string getName() override; - public virtual std::string getSyncMethodName(unsigned int methodId) override; - public virtual std::vector getMethods() override; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; -} - class facebook::react::CxxReactPackage : public jni::HybridClass { public static constexpr auto kJavaDescriptor; public virtual std::shared_ptr getModule(const std::string& name, const std::shared_ptr& jsInvoker) = 0; @@ -2112,11 +1077,6 @@ class facebook::react::DebuggingOverlayProps : public facebook::react::HostPlatf public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - class facebook::react::DefaultComponentsRegistry : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; public static std::function)> registerCodegenComponentDescriptorsFromEntryPoint; @@ -2139,66 +1099,12 @@ class facebook::react::DefaultTurboModuleManagerDelegate : public jni::HybridCla public std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker) override; } -class facebook::react::DevToolsRuntimeSettings { - public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; - public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; - public static facebook::react::DevToolsRuntimeSettings& getInstance(); - public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; - public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; - public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); - public ~DevToolsRuntimeSettings() = default; -} - -class facebook::react::DevToolsRuntimeSettingsModule : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec { - public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); - public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); -} - -class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { - public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::ElementFragment { - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; - public facebook::react::ElementFragment::List children; - public facebook::react::ElementFragment::ReferenceCallback referenceCallback; - public facebook::react::ElementFragment::StateCallback stateCallback; - public facebook::react::Props::Shared props; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public using FinalizeCallback = std::function; - public using List = std::vector; - public using ListOfShared = std::vector; - public using ReferenceCallback = std::function& shadowNode)>; - public using Shared = std::shared_ptr; - public using StateCallback = std::function; -} - class facebook::react::Error { public Error(const char* message); public Error(std::string message); public const std::string& message() const; } -class facebook::react::EventAnimationDriver { - protected const facebook::react::Tag animatedValueTag_; - protected std::vector eventPath_; - public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); - public facebook::react::Tag getAnimatedNodeTag() const; - public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); - public ~EventAnimationDriver() = default; -} - class facebook::react::EventBeat { protected facebook::react::EventBeat::BeatCallback beatCallback_; protected mutable std::atomic isEventBeatRequested_; @@ -2291,15 +1197,6 @@ class facebook::react::EventLogger { public virtual ~EventLogger() = default; } -class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { - public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); - public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; - public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; -} - class facebook::react::EventQueue { protected const std::unique_ptr eventBeat_; protected facebook::react::EventQueueProcessor eventProcessor_; @@ -2348,13 +1245,6 @@ class facebook::react::EventTarget { public void setEnabled(bool enabled); } -class facebook::react::ExecutorDelegate { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; - public virtual std::shared_ptr getModuleRegistry() = 0; - public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; - public virtual ~ExecutorDelegate() = default; -} - class facebook::react::FabricMountingManager { public FabricMountingManager(const facebook::react::FabricMountingManager&) = delete; public FabricMountingManager(jni::global_ref& javaUIManager); @@ -2393,38 +1283,6 @@ class facebook::react::FocusOrderingHelper { public static void traverseAndUpdateNextFocusableElement(const std::shared_ptr& parentShadowNode, const std::shared_ptr& focusedShadowNode, const std::shared_ptr& currNode, facebook::react::FocusDirection focusDirection, const facebook::react::UIManager& uimanager, facebook::react::Rect sourceRect, std::optional& nextRect, std::shared_ptr& nextNode); } -class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - protected virtual void updateConfig(folly::dynamic config) override; - public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::FuseboxTracer { - public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; - public bool isTracing(); - public bool startTracing(); - public bool stopTracing(const std::function& resultCallback); - public bool stopTracingAndWriteToFile(const std::string& path); - public static facebook::react::FuseboxTracer& getFuseboxTracer(); - public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); -} - -class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { - public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; -} - -class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { - public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; - public void setDebuggerName(const std::string& debuggerName); - public void setEnableDebugger(bool enableDebugger); -} - -class facebook::react::HermesInstance { - public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; -} - class facebook::react::HighResDuration { public constexpr HighResDuration(); public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; @@ -2478,30 +1336,6 @@ class facebook::react::HighResTimeStamp { public static void setTimeStampProviderForTesting(std::function&& timeStampProvider); } -class facebook::react::HostPlatformParagraphProps : public facebook::react::BaseParagraphProps { - public HostPlatformParagraphProps() = default; - public HostPlatformParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool disabled; - public std::optional dataDetectorType; - public std::optional selectionColor; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::HostPlatformScrollViewProps : public facebook::react::BaseScrollViewProps { - public HostPlatformScrollViewProps() = default; - public HostPlatformScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool nestedScrollEnabled; - public bool sendMomentumEvents; - public facebook::react::SharedColor endFillColor; - public folly::dynamic fadingEdgeLength; - public std::string overScrollMode; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - class facebook::react::HostPlatformViewProps : public facebook::react::BaseViewProps { public HostPlatformViewProps() = default; public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -2533,36 +1367,12 @@ class facebook::react::IAsyncEventEmitter { public virtual ~IAsyncEventEmitter() noexcept = default; } -class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ImageErrorInfo { public int responseCode; public std::string error; public std::vector> httpResponseHeaders; } -class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onError(const facebook::react::ImageErrorInfo& error) const; - public void onLoad(const facebook::react::ImageSource& source) const; - public void onLoadEnd() const; - public void onLoadStart() const; - public void onPartialLoad() const; - public void onProgress(double progress, int64_t loaded, int64_t total) const; -} - -class facebook::react::ImageFetcher { - public ImageFetcher(const facebook::react::ImageFetcher&) = delete; - public ImageFetcher(facebook::react::ImageFetcher&&) = delete; - public ImageFetcher(std::shared_ptr contextContainer); - public facebook::react::ImageFetcher& operator=(const facebook::react::ImageFetcher&) = delete; - public facebook::react::ImageFetcher& operator=(facebook::react::ImageFetcher&&) = delete; - public void flushImageRequests(); - public ~ImageFetcher() = default; -} - class facebook::react::ImageLoadError { public ImageLoadError(std::shared_ptr error); public std::shared_ptr getError() const; @@ -2574,27 +1384,6 @@ class facebook::react::ImageManager { public virtual ~ImageManager(); } -class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { - public ImageProps() = default; - public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool shouldNotifyLoadEvents; - public facebook::react::EdgeInsets capInsets; - public facebook::react::Float blurRadius; - public facebook::react::Float resizeMultiplier; - public facebook::react::ImageResizeMode resizeMode; - public facebook::react::ImageSource defaultSource; - public facebook::react::ImageSource loadingIndicatorSource; - public facebook::react::ImageSources sources; - public facebook::react::SharedColor overlayColor; - public std::optional progressiveRenderingEnabled; - public std::optional fadeDuration; - public std::optional tintColor; - public std::string resizeMethod; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - class facebook::react::ImageRequest { public ImageRequest(const facebook::react::ImageRequest& other) = delete; public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; @@ -2657,15 +1446,6 @@ class facebook::react::ImageResponseObserverCoordinator { public void removeObserver(const std::shared_ptr& observer) const; } -class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { - public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setImageManager(const std::shared_ptr& imageManager); -} - class facebook::react::ImageSource { public bool operator==(const facebook::react::ImageSource& rhs) const; public facebook::react::Float scale; @@ -2693,15 +1473,6 @@ enum facebook::react::ImageSource::Type { Remote, } -class facebook::react::ImageState { - public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const facebook::react::ImageRequestParams& imageRequestParams); - public ImageState(const facebook::react::ImageState& previousState, folly::dynamic data); - public const facebook::react::ImageRequest& getImageRequest() const; - public const facebook::react::ImageRequestParams& getImageRequestParams() const; - public facebook::react::ImageSource getImageSource() const; - public folly::dynamic getDynamic() const; -} - class facebook::react::ImageTelemetry { public ImageTelemetry(const facebook::react::SurfaceId surfaceId); public facebook::react::SurfaceId getSurfaceId() const; @@ -2717,30 +1488,6 @@ class facebook::react::InspectorNetworkRequestListener : public jni::HybridClass public void onHeaders(jint httpStatusCode, jni::alias_ref> headers); } -class facebook::react::Instance { - public bool isBatchActive(); - public bool isInspectable(); - public bool supportsProfiling(); - public const facebook::react::ModuleRegistry& getModuleRegistry() const; - public facebook::react::ModuleRegistry& getModuleRegistry(); - public facebook::react::RuntimeExecutor getRuntimeExecutor(); - public std::shared_ptr getJSCallInvoker(); - public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker); - public void callJSCallback(uint64_t callbackId, folly::dynamic&& params); - public void callJSFunction(std::string&& module, std::string&& method, folly::dynamic&& params); - public void handleMemoryPressure(int pressureLevel); - public void initializeBridge(std::unique_ptr callback, std::shared_ptr jsef, std::shared_ptr jsQueue, std::shared_ptr moduleRegistry, facebook::react::jsinspector_modern::HostTarget* inspectorTarget = nullptr); - public void initializeRuntime(); - public void loadRAMBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL, bool loadSynchronously); - public void loadScriptFromString(std::unique_ptr string, std::string sourceURL, bool loadSynchronously); - public void registerBundle(uint32_t bundleId, const std::string& bundlePath); - public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); - public void setSourceURL(std::string sourceURL); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~Instance() override; -} - class facebook::react::InstanceHandle { public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; @@ -2748,43 +1495,6 @@ class facebook::react::InstanceHandle { public using Shared = std::shared_ptr; } -class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { - public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; - public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; - public virtual void update() override; -} - -class facebook::react::IntersectionObserver { - public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); - public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); - public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); - public std::vector getThresholds() const; -} - -class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public IntersectionObserverManager(); - public std::vector takeRecords(); - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); - public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); -} - -class facebook::react::IntersectionObserverState { - public bool isIntersecting() const; - public bool operator==(const facebook::react::IntersectionObserverState& other) const; - public static facebook::react::IntersectionObserverState Initial(); - public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold); - public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold, facebook::react::Float rootThreshold); - public static facebook::react::IntersectionObserverState NotIntersecting(); -} - class facebook::react::JArrayBuffer : public jni::HybridClass { public JArrayBuffer(std::shared_ptr buffer, bool owningBytes) noexcept; public bool hasBytes() const noexcept; @@ -2864,10 +1574,6 @@ class facebook::react::JNativeModulePerfLogger : public jni::HybridClass get() = 0; } -class facebook::react::JPreparedLayout : public facebook::jni::JavaClass { - public static constexpr auto kJavaDescriptor; -} - class facebook::react::JReactExceptionManager : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; public void reportJsException(facebook::jsi::Runtime& runtime, const facebook::react::JsErrorHandler::ProcessedError& error); @@ -2978,69 +1684,6 @@ class facebook::react::JSBigString : public facebook::jsi::Buffer { public ~JSBigString() override = default; } -class facebook::react::JSExecutor { - public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); - public virtual bool isInspectable(); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); - public virtual std::string getDescription() = 0; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; - public virtual void destroy(); - public virtual void flush(); - public virtual void handleMemoryPressure(int pressureLevel); - public virtual void initializeRuntime() = 0; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; - public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) = 0; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; - public virtual void* getJavaScriptContext(); - public virtual ~JSExecutor() = default; -} - -class facebook::react::JSExecutorFactory { - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; - public virtual ~JSExecutorFactory() = default; -} - -class facebook::react::JSIExecutor : public facebook::react::JSExecutor { - public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); - public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); - public using RuntimeInstaller = std::function; - public virtual bool isInspectable() override; - public virtual std::string getDescription() override; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; - public virtual void flush() override; - public virtual void handleMemoryPressure(int pressureLevel) override; - public virtual void initializeRuntime() override; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; - public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) override; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; - public virtual void* getJavaScriptContext() override; -} - -class facebook::react::JSINativeModules { - public JSINativeModules(std::shared_ptr moduleRegistry); - public facebook::jsi::Value getModule(facebook::jsi::Runtime& rt, const facebook::jsi::PropNameID& name); - public void reset(); -} - -class facebook::react::JSModulesUnbundle { - public JSModulesUnbundle(); - public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const = 0; - public virtual ~JSModulesUnbundle() = default; -} - -class facebook::react::JSModulesUnbundle::ModuleNotFound : public std::out_of_range { - public ModuleNotFound(uint32_t moduleId); -} - -struct facebook::react::JSModulesUnbundle::Module { - public std::string code; - public std::string name; -} - class facebook::react::JWritableMapBuffer : public facebook::jni::JavaClass { public facebook::react::MapBuffer getMapBuffer(); public static constexpr auto kJavaDescriptor; @@ -3063,22 +1706,6 @@ class facebook::react::JavaMessageQueueThread : public facebook::jni::JavaClass< public static constexpr auto kJavaDescriptor; } -class facebook::react::JavaNativeModule : public facebook::react::NativeModule { - public JavaNativeModule(std::weak_ptr instance, jni::alias_ref wrapper, std::shared_ptr messageQueueThread); - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& params) override; - public virtual folly::dynamic getConstants() override; - public virtual std::string getName() override; - public virtual std::string getSyncMethodName(unsigned int reactMethodId) override; - public virtual std::vector getMethods() override; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; -} - -class facebook::react::JavaScriptExecutorHolder : public jni::HybridClass { - protected JavaScriptExecutorHolder(std::shared_ptr factory); - public static constexpr auto kJavaDescriptor; - public std::shared_ptr getExecutorFactory(); -} - class facebook::react::JavaTimerRegistry : public facebook::react::PlatformTimerRegistry { public JavaTimerRegistry(jni::global_ref javaTimerManager); public virtual void createRecurringTimer(uint32_t timerID, double delayMS) override; @@ -3101,96 +1728,9 @@ struct facebook::react::JavaTurboModule::InitParams { public std::string moduleName; } -class facebook::react::JniJSModulesUnbundle : public facebook::react::JSModulesUnbundle { - public JniJSModulesUnbundle() = default; - public JniJSModulesUnbundle(AAssetManager* assetManager, std::string moduleDirectory); - public JniJSModulesUnbundle(facebook::react::JniJSModulesUnbundle&& other) = delete; - public facebook::react::JniJSModulesUnbundle& operator=(facebook::react::JSModulesUnbundle&& other) = delete; - public static bool isUnbundle(AAssetManager* assetManager, const std::string& assetName); - public static std::unique_ptr fromEntryFile(AAssetManager* assetManager, const std::string& entryFile); - public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const override; -} - -class facebook::react::JsErrorHandler { - public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); - public bool hasHandledFatalError(); - public bool inErrorHandler(); - public bool isRuntimeReady(); - public using OnJsError = std::function; - public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); - public void notifyOfFatalError(); - public void registerErrorListener(const std::function& listener); - public void setRuntimeReady(); - public ~JsErrorHandler(); -} - -struct facebook::react::JsErrorHandler::ProcessedError { - public bool isFatal; - public facebook::jsi::Object extraData; - public int id; - public std::optional componentStack; - public std::optional name; - public std::optional originalMessage; - public std::string message; - public std::vector stack; -} - -struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { - public std::optional column; - public std::optional lineNumber; - public std::optional file; - public std::string methodName; -} - -class facebook::react::LayoutAnimationCallbackWrapper { - public LayoutAnimationCallbackWrapper(); - public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); - public void call(facebook::jsi::Runtime& runtime) const; -} - -class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; - public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); -} - -class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { - protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected facebook::react::ShadowView createInterpolatedShadowView(facebook::react::Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; - protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; - protected mutable std::mutex currentAnimationMutex_; - protected mutable std::optional currentAnimation_; - protected mutable std::vector inflightAnimations_; - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; - protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; - protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; - public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); - public virtual bool shouldAnimateFrame() const override; - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; - public void setClockNow(std::function now); - public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; - public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; -} - -class facebook::react::LayoutAnimationStatusDelegate { - public virtual void onAllAnimationsComplete() = 0; - public virtual void onAnimationStarted() = 0; - public virtual ~LayoutAnimationStatusDelegate() = default; -} - class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { } -class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; -} - class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); @@ -3223,36 +1763,6 @@ struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { public bool includeViewportOffset; } -class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { - public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); - public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); - public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; - public virtual void lockRevisions() override; - public virtual void unlockRevisions() override; -} - -class facebook::react::LeakChecker { - public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); - public void stopSurface(facebook::react::SurfaceId surfaceId); - public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; -} - -class facebook::react::LegacyViewManagerInteropState { - public std::shared_ptr coordinator; -} - -class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { - public LegacyViewManagerInteropViewProps() = default; - public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public const folly::dynamic otherProps; -} - -class facebook::react::LineMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::Size size; -} - class facebook::react::LongLivedObject { protected LongLivedObject(facebook::jsi::Runtime& runtime); protected facebook::jsi::Runtime& runtime_; @@ -3330,33 +1840,6 @@ class facebook::react::MapBufferBuilder { public void putString(facebook::react::MapBuffer::Key key, const std::string& value); } -class facebook::react::MergedValueDispatcher { - public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); - public using DispatchFunction = std::function&&)>; - public using MergedValueFunction = std::function&& tagToProps)>; - public void dispatch(const std::unordered_map& value); -} - -class facebook::react::MessageQueueThread { - public virtual void quitSynchronous() = 0; - public virtual void runOnQueue(std::function&&) = 0; - public virtual void runOnQueueSync(std::function&&) = 0; - public virtual ~MessageQueueThread() = default; -} - -class facebook::react::MethodInvoker { - public MethodInvoker(jni::alias_ref method, std::string methodName, std::string signature, std::string traceName, bool isSync); - public bool isSyncHook() const; - public facebook::react::MethodCallResult invoke(std::weak_ptr& instance, jni::alias_ref module, const folly::dynamic& params); - public std::string getMethodName() const; -} - -class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ModalHostViewEventEmitter : public facebook::react::BaseViewEventEmitter { public static char const* toString(const facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation value); public void onDismiss(facebook::react::ModalHostViewEventEmitter::OnDismiss value) const; @@ -3400,103 +1883,6 @@ class facebook::react::ModalHostViewProps : public facebook::react::HostPlatform public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::ModalHostViewState { - public ModalHostViewState(); - public ModalHostViewState(const facebook::react::ModalHostViewState& previousState, folly::dynamic data); - public ModalHostViewState(facebook::react::Size screenSize_); - public const facebook::react::Size screenSize; - public folly::dynamic getDynamic() const; - public using Shared = std::shared_ptr; -} - -class facebook::react::ModuleHolder : public facebook::jni::JavaClass { - public facebook::xplat::module::CxxModule::Provider getProvider(const std::string& moduleName) const; - public static constexpr auto kJavaDescriptor; - public std::string getName() const; -} - -class facebook::react::ModuleRegistry { - public ModuleRegistry(std::vector> modules, facebook::react::ModuleRegistry::ModuleNotFoundCallback callback = nullptr); - public facebook::react::MethodCallResult callSerializableNativeHook(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params); - public std::optional getConfig(const std::string& name); - public std::string getModuleName(unsigned int moduleId); - public std::string getModuleSyncMethodName(unsigned int moduleId, unsigned int methodId); - public std::vector moduleNames(); - public using ModuleNotFoundCallback = std::function; - public void callNativeMethod(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params, int callId); - public void registerModules(std::vector> modules); -} - -class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { - public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MountingCoordinator { - public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); - public bool hasPendingTransactions() const; - public bool waitForTransaction(std::chrono::duration timeout) const; - public const facebook::react::TelemetryController& getTelemetryController() const; - public facebook::react::ShadowTreeRevision getBaseRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional pullTransaction(bool willPerformAsynchronously = false) const; - public void didPerformAsyncTransactions() const; - public void setMountingOverrideDelegate(std::weak_ptr delegate) const; -} - -class facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const = 0; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; - public virtual ~MountingOverrideDelegate() = default; -} - -class facebook::react::MountingTransaction { - public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; - public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; - public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); - public const facebook::react::ShadowViewMutationList& getMutations() const; - public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; - public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; - public facebook::react::MountingTransaction::Number getNumber() const; - public facebook::react::ShadowViewMutationList getMutations(); - public facebook::react::SurfaceId getSurfaceId() const; - public facebook::react::TransactionTelemetry& getTelemetry() const; - public using Number = int64_t; - public void mergeWith(facebook::react::MountingTransaction&& transaction); -} - -class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { - public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MutationObserver { - public MutationObserver(const facebook::react::MutationObserver&) = delete; - public MutationObserver(facebook::react::MutationObserver&&) = default; - public MutationObserver(facebook::react::MutationObserverId mutationObserverId); - public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; - public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; - public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); - public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; -} - -class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { - public MutationObserverManager(); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); - public void disconnect(facebook::react::UIManager& uiManager); - public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); - public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); -} - class facebook::react::NativeAccessibilityInfoSpecJSI : public facebook::react::JavaTurboModule { public NativeAccessibilityInfoSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3517,68 +1903,6 @@ class facebook::react::NativeAnimatedModuleSpecJSI : public facebook::react::Jav public NativeAnimatedModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { - public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; - public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; - public bool commitProps(); - public bool hasManagedProps() const noexcept; - public bool isOnRenderThread() const noexcept; - public bool useSharedAnimatedBackend() const noexcept; - public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); - public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); - public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; - public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; - public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; - public std::optional getValue(facebook::react::Tag tag) noexcept; - public std::shared_ptr getEventEmitterListener() noexcept; - public using DirectManipulationCallback = std::function; - public using FabricCommitCallback = std::function&)>; - public using FrameRateListenerCallback = std::function; - public using ResolvePlatformColor = std::function; - public using StartOnRenderCallback = std::function&&, bool isAsync)>; - public using StopOnRenderCallback = std::function; - public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; - public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; - public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void dropAnimatedNode(facebook::react::Tag tag) noexcept; - public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); - public void flattenAnimatedNodeOffset(facebook::react::Tag tag); - public void flushAnimatedNodesCreatedAsync() noexcept; - public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); - public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; - public void onRender(); - public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; - public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; - public void restoreDefaultValues(facebook::react::Tag tag) noexcept; - public void scheduleOnUI(facebook::react::UiTask&& task); - public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; - public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); - public void setAnimatedNodeValue(facebook::react::Tag tag, double value); - public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; - public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; - public void startRenderCallbackIfNeeded(bool isAsync); - public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; - public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; - public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; - public ~NativeAnimatedNodesManager() noexcept; - template >> - public T* getAnimatedNode(facebook::react::Tag tag) const; -} - -class facebook::react::NativeAnimatedNodesManagerProvider { - public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); - public std::shared_ptr getEventEmitterListener(); - public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); - public void addEventEmitterListener(const std::shared_ptr& listener); -} - class facebook::react::NativeAnimatedTurboModuleSpecJSI : public facebook::react::JavaTurboModule { public NativeAnimatedTurboModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3612,41 +1936,10 @@ class facebook::react::NativeBlobModuleSpecJSI : public facebook::react::JavaTur public NativeBlobModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeCPUTime : public facebook::react::NativeCPUTimeCxxSpec { - public NativeCPUTime(std::shared_ptr jsInvoker); - public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); - public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); -} - class facebook::react::NativeClipboardSpecJSI : public facebook::react::JavaTurboModule { public NativeClipboardSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeDOM : public facebook::react::NativeDOMCxxSpec { - public NativeDOM(std::shared_ptr jsInvoker); - public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); - public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); - public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); - public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); - public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); - public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); - public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); - public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); - public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); -} - class facebook::react::NativeDevLoadingViewSpecJSI : public facebook::react::JavaTurboModule { public NativeDevLoadingViewSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3691,12 +1984,6 @@ class facebook::react::NativeI18nManagerSpecJSI : public facebook::react::JavaTu public NativeI18nManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeIdleCallbacks : public facebook::react::NativeIdleCallbacksCxxSpec { - public NativeIdleCallbacks(std::shared_ptr jsInvoker); - public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); - public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); -} - class facebook::react::NativeImageEditorSpecJSI : public facebook::react::JavaTurboModule { public NativeImageEditorSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3713,15 +2000,6 @@ class facebook::react::NativeIntentAndroidSpecJSI : public facebook::react::Java public NativeIntentAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeIntersectionObserver : public facebook::react::NativeIntersectionObserverCxxSpec { - public NativeIntersectionObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeJSCHeapCaptureSpecJSI : public facebook::react::JavaTurboModule { public NativeJSCHeapCaptureSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3764,101 +2042,10 @@ class facebook::react::NativeMethodCallInvokerHolder : public jni::HybridClass getNativeMethodCallInvoker(); } -class facebook::react::NativeMicrotasks : public facebook::react::NativeMicrotasksCxxSpec { - public NativeMicrotasks(std::shared_ptr jsInvoker); - public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); -} - -class facebook::react::NativeModule { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& args) = 0; - public virtual folly::dynamic getConstants() = 0; - public virtual std::string getName() = 0; - public virtual std::string getSyncMethodName(unsigned int methodId) = 0; - public virtual std::vector getMethods() = 0; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) = 0; - public virtual ~NativeModule() = default; -} - -class facebook::react::NativeModulePerfLogger { - public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; - public virtual void asyncMethodCallBatchPreprocessStart() = 0; - public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; - public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual ~NativeModulePerfLogger() = default; -} - -class facebook::react::NativeMutationObserver : public facebook::react::NativeMutationObserverCxxSpec { - public NativeMutationObserver(std::shared_ptr jsInvoker); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); - public void disconnect(facebook::jsi::Runtime& runtime); - public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); - public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); -} - class facebook::react::NativeNetworkingAndroidSpecJSI : public facebook::react::JavaTurboModule { public NativeNetworkingAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativePerformance : public facebook::react::NativePerformanceCxxSpec { - public NativePerformance(std::shared_ptr jsInvoker); - public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); - public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); - public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); - public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); - public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); - public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); - public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); - public std::vector getEntries(facebook::jsi::Runtime& rt); - public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); - public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); - public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); - public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); - public std::vector> getEventCounts(facebook::jsi::Runtime& rt); - public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); - public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); - public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); - public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); - public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); -} - class facebook::react::NativePermissionsAndroidSpecJSI : public facebook::react::JavaTurboModule { public NativePermissionsAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3879,15 +2066,6 @@ class facebook::react::NativeRedBoxSpecJSI : public facebook::react::JavaTurboMo public NativeRedBoxSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeResizeObserver : public facebook::react::NativeResizeObserverCxxSpec { - public NativeResizeObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeResizeObserverObserveOptions& options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::NativeResizeObserverNotifyCallback notifyResizeObserversFunction); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserve(facebook::jsi::Runtime& runtime, facebook::react::ResizeObserverObserverId resizeObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::JavaTurboModule { public NativeSegmentFetcherSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3916,26 +2094,6 @@ class facebook::react::NativeTimingSpecJSI : public facebook::react::JavaTurboMo public NativeTimingSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeToJsBridge { - public NativeToJsBridge(facebook::react::JSExecutorFactory* jsExecutorFactory, std::shared_ptr registry, std::shared_ptr jsQueue, std::shared_ptr callback); - public bool isBatchActive(); - public bool isInspectable(); - public facebook::react::jsinspector_modern::RuntimeTargetDelegate& getInspectorTargetDelegate(); - public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker) const; - public virtual ~NativeToJsBridge(); - public void callFunction(std::string&& module, std::string&& method, folly::dynamic&& arguments); - public void destroy(); - public void handleMemoryPressure(int pressureLevel); - public void initializeRuntime(); - public void invokeCallback(double callbackId, folly::dynamic&& arguments); - public void loadBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); - public void loadBundleSync(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); - public void registerBundle(uint32_t bundleId, const std::string& bundlePath); - public void runOnExecutorQueue(std::function&& task) noexcept; - public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); - public void* getJavaScriptContext(); -} - class facebook::react::NativeToastAndroidSpecJSI : public facebook::react::JavaTurboModule { public NativeToastAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3956,172 +2114,6 @@ class facebook::react::NativeWebSocketModuleSpecJSI : public facebook::react::Ja public NativeWebSocketModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NetworkReporter { - public bool isDebuggingEnabled() const; - public static facebook::react::NetworkReporter& getInstance(); - public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); - public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); - public void reportRequestFailed(const std::string& requestId, bool cancelled) const; - public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); - public void reportResponseEnd(const std::string& requestId, int encodedDataLength); - public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); - public void reportWebSocketClosed(const std::string& requestId) const; - public void reportWebSocketCreated(const std::string& requestId, const std::string& url) const; - public void reportWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t statusCode, const facebook::react::Headers& headers) const; - public void reportWebSocketMessageReceived(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketMessageSent(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::Headers& headers) const; - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { - public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(std::string propKey, folly::dynamic& props); -} - -class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { - protected std::vector inputNodes_; - public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); -} - -class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { - public bool adjustsFontSizeToFit; - public bool includeFontPadding; - public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; - public facebook::react::EllipsizeMode ellipsizeMode; - public facebook::react::Float minimumFontScale; - public facebook::react::Float minimumFontSize; - public facebook::react::HyphenationFrequency android_hyphenationFrequency; - public facebook::react::TextBreakStrategy textBreakStrategy; - public facebook::react::TextWidthMode textWidthMode; - public int maximumNumberOfLines; - public std::optional textAlignVertical; -} - -class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; -} - -class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; - public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - -class facebook::react::ParagraphShadowNode::Content { - public facebook::react::AttributedString attributedString; - public facebook::react::BaseTextShadowNode::Attachments attachments; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::ParagraphState { - public ParagraphState() = default; - public ParagraphState(const facebook::react::ParagraphState&, const folly::dynamic&); - public ParagraphState(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, std::weak_ptr layoutManager); - public ParagraphState(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, std::weak_ptr layoutManager, facebook::react::MeasuredPreparedTextLayout measuredLayout); - public facebook::react::AttributedString attributedString; - public facebook::react::MapBuffer getMapBuffer() const; - public facebook::react::MeasuredPreparedTextLayout measuredLayout; - public facebook::react::ParagraphAttributes paragraphAttributes; - public folly::dynamic getDynamic() const; - public jni::local_ref getJNIReference() const; - public std::weak_ptr layoutManager; -} - -class facebook::react::PerformanceEntryBuffer { - public PerformanceEntryBuffer() = default; - public facebook::react::HighResDuration durationThreshold; - public size_t droppedEntriesCount; - public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; - public virtual void clear() = 0; - public virtual void clear(const std::string& name) = 0; - public virtual void getEntries(std::vector& target) const = 0; - public virtual void getEntries(std::vector& target, const std::string& name) const = 0; - public virtual ~PerformanceEntryBuffer() = default; -} - -class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryCircularBuffer(size_t size); - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; - public ~PerformanceEntryCircularBuffer() override = default; -} - -class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryKeyedBuffer() = default; - public std::optional find(const std::string& name) const; - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; -} - -class facebook::react::PerformanceEntryReporter { - public PerformanceEntryReporter(); - public const std::unordered_map& getEventCounts() const; - public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); - public static std::shared_ptr& getInstance(); - public static std::vector getSupportedEntryTypes(); - public std::optional getMarkTime(const std::string& markName) const; - public std::vector getEntries() const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; - public using UserTimingDetailProvider = std::function; - public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void clearEntries(); - public void clearEntries(facebook::react::PerformanceEntryType entryType); - public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); - public void clearEventCounts(); - public void getEntries(std::vector& dest) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); - public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); - public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); -} - -class facebook::react::PerformanceEntryReporterEventListener { - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); - public virtual ~PerformanceEntryReporterEventListener() = default; -} - -class facebook::react::PerformanceObserver : public std::enable_shared_from_this { - public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public std::vector takeRecords(); - public uint32_t getDroppedEntriesCount() noexcept; - public void disconnect() noexcept; - public void handleEntry(const facebook::react::PerformanceEntry& entry); - public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); - public void observe(std::unordered_set types); - public ~PerformanceObserver() = default; -} - -class facebook::react::PerformanceObserverRegistry { - public PerformanceObserverRegistry() = default; - public void addObserver(std::shared_ptr observer); - public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); - public void removeObserver(std::shared_ptr observer); -} - class facebook::react::PerformanceTracerCxxInterop : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; public static jboolean isTracing(facebook::jni::alias_ref jthis); @@ -4133,41 +2125,6 @@ class facebook::react::PerformanceTracerCxxInterop : public facebook::jni::JavaC public static void unsubscribeFromTracingStateChanges(facebook::jni::alias_ref jthis, jint subscriptionId); } -class facebook::react::PlatformTimerRegistry { - public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; - public virtual void createTimer(uint32_t timerID, double delayMS) = 0; - public virtual void deleteTimer(uint32_t timerID) = 0; - public virtual void quit(); - public virtual void setTimerManager(std::weak_ptr); - public virtual ~PlatformTimerRegistry() noexcept = default; -} - -class facebook::react::PointerEventsProcessor { - public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); - public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); - public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); -} - -class facebook::react::PointerHoverTracker { - public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); - public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; - public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; - public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; - public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; - public using EventPath = std::vector>; - public using Unique = std::unique_ptr; - public void markAsOld(); -} - -class facebook::react::PreparedTextCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::Float pointScaleFactor; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { public Props() = default; public Props(const facebook::react::Props& other) = default; @@ -4183,21 +2140,6 @@ class facebook::react::Props : public virtual facebook::react::Sealable, public public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { - public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::SurfaceId connectedRootTag() const; - public facebook::react::Tag connectedViewTag() const; - public folly::dynamic props(); - public virtual void update() override; - public void collectProps(); - public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); - public void connectToView(facebook::react::Tag viewTag); - public void disconnectFromShadowNodeFamily(); - public void disconnectFromView(facebook::react::Tag viewTag); - public void restoreDefaultValues(); - public void update(bool forceFabricCommit); -} - class facebook::react::PullToRefreshViewEventEmitter : public facebook::react::BaseViewEventEmitter { public void onRefresh(facebook::react::PullToRefreshViewEventEmitter::OnRefresh value) const; } @@ -4217,16 +2159,6 @@ class facebook::react::PullToRefreshViewProps : public facebook::react::HostPlat public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::RAMBundleRegistry { - public RAMBundleRegistry(facebook::react::RAMBundleRegistry&&) = default; - public RAMBundleRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory = nullptr); - public facebook::react::JSModulesUnbundle::Module getModule(uint32_t bundleId, uint32_t moduleId); - public facebook::react::RAMBundleRegistry& operator=(facebook::react::RAMBundleRegistry&&) = default; - public static constexpr uint32_t MAIN_BUNDLE_ID; - public virtual ~RAMBundleRegistry() = default; - public void registerBundle(uint32_t bundleId, std::string bundlePath); -} - class facebook::react::RawProps { public RawProps(); public RawProps(const facebook::react::RawProps& other) noexcept; @@ -4265,17 +2197,6 @@ class facebook::react::RawPropsParser { public void prepare() noexcept; } -class facebook::react::RawTextProps : public facebook::react::Props { - public RawTextProps() = default; - public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public std::string text; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; -} - -class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { -} - class facebook::react::RawValue { public RawValue() noexcept; public RawValue(const folly::dynamic& dynamic) noexcept; @@ -4292,38 +2213,6 @@ class facebook::react::RawValue { public operator T() const; } -class facebook::react::ReactInstance { - public ReactInstance(const facebook::react::ReactInstance&) = delete; - public ReactInstance(facebook::react::ReactInstance&&) = delete; - public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); - public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; - public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; - public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; - public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; - public std::shared_ptr createJSCallInvoker() noexcept; - public std::shared_ptr getRuntimeScheduler() noexcept; - public using BindingsInstallFunc = std::function; - public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); - public void handleMemoryPressureJs(int pressureLevel); - public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; - public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); - public void registerSegment(uint32_t segmentId, const std::string& segmentPath); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~ReactInstance() noexcept override; -} - -struct facebook::react::ReactInstance::JSRuntimeFlags { - public bool isProfiling; - public const std::string runtimeDiagnosticFlags; -} - -class facebook::react::ReactPerfettoLogger { - public static bool isTracing(); - public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); - public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); -} - class facebook::react::ReadableNativeArray : public jni::HybridClass { protected friend HybridBase; public bool equals(jni::alias_ref other); @@ -4336,226 +2225,6 @@ class facebook::react::ReadableNativeArray : public jni::HybridClass takeRecords(); - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyResizeObserversFunction); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions); - public void unobserve(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily); -} - -class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { - public RootProps() = default; - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; -} - -class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { - public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public bool layoutIfNeeded(std::vector* affectedNodes = {}); - public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using Shared = std::shared_ptr; - public using Unshared = std::shared_ptr; - public virtual facebook::react::Transform getTransform() const override; - public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; -} - -class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { - public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::RunLoopObserver { - protected const facebook::react::RunLoopObserver::Activity activities_; - protected const facebook::react::RunLoopObserver::WeakOwner owner_; - protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; - protected mutable std::atomic enabled_; - protected virtual void startObserving() const noexcept = 0; - protected virtual void stopObserving() const noexcept = 0; - protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; - public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; - public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; - public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; - public using Owner = std::shared_ptr; - public using WeakOwner = std::weak_ptr; - public virtual bool isOnRunLoopThread() const noexcept = 0; - public virtual ~RunLoopObserver() noexcept = default; - public void disable() const noexcept; - public void enable() const noexcept; - public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; -} - -class facebook::react::RunLoopObserver::Delegate { - public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; - public virtual ~Delegate() noexcept = default; -} - -enum facebook::react::RunLoopObserver::Activity : int32_t { - AfterWaiting, - BeforeWaiting, - None, -} - -class facebook::react::RuntimeScheduler : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; - public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); - public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; - public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; - public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeSchedulerBase : public facebook::hermes::IEventLoopControl { - public virtual bool getShouldYield() noexcept = 0; - public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; - public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; - public virtual void scheduleTask(const std::function& task) = 0; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) = 0; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; - public virtual ~RuntimeSchedulerBase() = default; -} - -class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { - public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); - public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public std::shared_ptr getRuntimeScheduler() noexcept; - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; -} - -class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { - public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - -class facebook::react::RuntimeSchedulerEventTimingDelegate { - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerEventTimingDelegate() = default; -} - -class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; -} - -class facebook::react::RuntimeSchedulerResizeObserverDelegate { - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) = 0; - public virtual ~RuntimeSchedulerResizeObserverDelegate() = default; -} - -class facebook::react::RuntimeScheduler_Legacy : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Legacy(const facebook::react::RuntimeScheduler_Legacy&) = delete; - public RuntimeScheduler_Legacy(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Legacy(facebook::react::RuntimeScheduler_Legacy&&) = delete; - public facebook::react::RuntimeScheduler_Legacy& operator=(const facebook::react::RuntimeScheduler_Legacy&) = delete; - public facebook::react::RuntimeScheduler_Legacy& operator=(facebook::react::RuntimeScheduler_Legacy&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; - public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { -} - class facebook::react::SafeAreaViewEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -4566,110 +2235,6 @@ class facebook::react::SafeAreaViewProps : public facebook::react::HostPlatformV public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { -} - -class facebook::react::SafeAreaViewState { - public SafeAreaViewState() = default; - public SafeAreaViewState(const facebook::react::SafeAreaViewState&, folly::dynamic data); - public facebook::react::EdgeInsets padding; - public folly::dynamic getDynamic() const; -} - -class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { - public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); - public facebook::react::SchedulerDelegate* getDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr getUIManager() const; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidClearPendingSnapshots() override; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) override; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; - public void addEventListener(std::shared_ptr listener); - public void animationTick() const; - public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void setDelegate(facebook::react::SchedulerDelegate* delegate); - public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public ~Scheduler() override; -} - -class facebook::react::SchedulerDelegate { - public virtual void schedulerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidClearPendingSnapshots() = 0; - public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; - public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void schedulerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~SchedulerDelegate() noexcept = default; -} - -class facebook::react::ScopedShadowTreeRevisionLock { - public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ~ScopedShadowTreeRevisionLock() noexcept; -} - -class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { - public using EndDragMetrics = facebook::react::ScrollEndDragEvent; - public using Metrics = facebook::react::ScrollEvent; - public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; - public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; - public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; -} - -class facebook::react::ScrollViewMaintainVisibleContentPosition { - public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; - public int minIndexForVisible; - public std::optional autoscrollToTopThreshold; -} - -class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); - public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; -} - -class facebook::react::ScrollViewState { - public ScrollViewState() = default; - public ScrollViewState(const facebook::react::ScrollViewState& previousState, folly::dynamic data); - public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); - public bool disableViewCulling; - public facebook::react::Point contentOffset; - public facebook::react::Rect contentBoundingRect; - public facebook::react::Size getContentSize() const; - public folly::dynamic getDynamic() const; - public int scrollAwayPaddingTop; -} - class facebook::react::Sealable { public Sealable(); public Sealable(const facebook::react::Sealable& other); @@ -4682,17 +2247,6 @@ class facebook::react::Sealable { public ~Sealable() noexcept; } -class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { - public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static constexpr facebook::react::ComponentName Name(); - public static facebook::react::ComponentHandle Handle(); -} - class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { protected facebook::react::Props::Shared props_; protected facebook::react::ShadowNodeTraits traits_; @@ -4792,63 +2346,6 @@ enum facebook::react::ShadowNodeTraits::Trait : int32_t { ViewKind, } -class facebook::react::ShadowTree { - public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); - public bool promoteReactRevision() const; - public facebook::react::CommitMode getCommitMode() const; - public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::ShadowTreeRevision getCurrentRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional getCurrentReactRevision() const; - public std::shared_ptr getMountingCoordinator() const; - public using CommitMode = facebook::react::ShadowTreeCommitMode; - public using CommitOptions = facebook::react::ShadowTreeCommitOptions; - public using CommitSource = facebook::react::ShadowTreeCommitSource; - public using CommitStatus = facebook::react::ShadowTreeCommitStatus; - public using Unique = std::unique_ptr; - public void commitEmptyTree() const; - public void mergeReactRevision() const; - public void notifyDelegatesOfUpdates() const; - public void setCommitMode(facebook::react::CommitMode commitMode) const; - public ~ShadowTree(); -} - -class facebook::react::ShadowTreeDelegate { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) const; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; - public virtual ~ShadowTreeDelegate() noexcept = default; -} - -class facebook::react::ShadowTreeRegistry { - public ShadowTreeRegistry() = default; - public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; - public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; - public void add(std::unique_ptr&& shadowTree) const; - public void enumerate(const std::function& callback) const; - public ~ShadowTreeRegistry(); -} - -class facebook::react::ShadowTreeRevision { - public facebook::react::RootShadowNode::Shared rootShadowNode; - public facebook::react::ShadowTreeRevision::Number number; - public facebook::react::TransactionTelemetry telemetry; - public using Number = int64_t; -} - -class facebook::react::ShadowTreeRevisionConsistencyManager { - public virtual void lockRevisions() = 0; - public virtual void unlockRevisions() = 0; - public virtual ~ShadowTreeRevisionConsistencyManager() = default; -} - -class facebook::react::ShadowTreeRevisionProvider { - public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual ~ShadowTreeRevisionProvider() = default; -} - class facebook::react::SharedColor { public SharedColor(); public SharedColor(facebook::react::Color color); @@ -4860,15 +2357,6 @@ class facebook::react::SharedColor { public std::string toString() const noexcept; } -class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::StackTraceParser { - public static std::vector parse(bool isHermes, const std::string& stackString); -} - class facebook::react::State { protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); @@ -4912,48 +2400,6 @@ class facebook::react::StateWrapperImpl : public jni::HybridClass getMountingCoordinator() const noexcept; - public std::string getModuleName() const noexcept; - public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; - public virtual ~SurfaceHandler() noexcept; - public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public void setContextContainer(std::shared_ptr contextContainer) const noexcept; - public void setProps(const folly::dynamic& props) const noexcept; - public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; - public void start() const noexcept; - public void stop() const noexcept; -} - -enum facebook::react::SurfaceHandler::Status { - Registered, - Running, - Unregistered, -} - class facebook::react::SurfaceHandlerBinding : public jni::HybridClass { public SurfaceHandlerBinding(facebook::react::SurfaceId surfaceId, const std::string& moduleName); public const facebook::react::SurfaceHandler& getSurfaceHandler(); @@ -4967,43 +2413,6 @@ class facebook::react::SurfaceHandlerBinding : public jni::HybridClass getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; - public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; - public std::unordered_set getRunningSurfaces() const noexcept; - public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; - public void stopAllSurfaces() noexcept; - public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; - public ~SurfaceManager() noexcept; -} - -struct facebook::react::SurfaceManager::SurfaceProps { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; - public facebook::react::SurfaceId surfaceId; - public folly::dynamic props; - public std::string moduleName; -} - -class facebook::react::SurfaceTelemetry { - public facebook::react::TelemetryDuration getCommitTime() const; - public facebook::react::TelemetryDuration getDiffTime() const; - public facebook::react::TelemetryDuration getLayoutTime() const; - public facebook::react::TelemetryDuration getMountTime() const; - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public int getLastRevisionNumber() const; - public int getNumberOfMutations() const; - public int getNumberOfTextMeasurements() const; - public int getNumberOfTransactions() const; - public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; - public std::vector getRecentTransactionTelemetries() const; - public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); -} - class facebook::react::SwitchEventEmitter : public facebook::react::BaseViewEventEmitter { public void onChange(facebook::react::SwitchEventEmitter::OnChange value) const; } @@ -5028,163 +2437,6 @@ class facebook::react::SwitchProps : public facebook::react::HostPlatformViewPro public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::TaskPriorityComparer { - public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); -} - -class facebook::react::TelemetryController { - public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; -} - -class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { - public bool operator==(const facebook::react::TextAttributes& rhs) const; - public facebook::react::Float fontSize; - public facebook::react::Float fontSizeMultiplier; - public facebook::react::Float letterSpacing; - public facebook::react::Float lineHeight; - public facebook::react::Float maxFontSizeMultiplier; - public facebook::react::Float opacity; - public facebook::react::Float textShadowRadius; - public facebook::react::SharedColor backgroundColor; - public facebook::react::SharedColor foregroundColor; - public facebook::react::SharedColor textDecorationColor; - public facebook::react::SharedColor textShadowColor; - public static facebook::react::TextAttributes defaultTextAttributes(); - public std::optional allowFontScaling; - public std::optional isHighlighted; - public std::optional isPressable; - public std::optional accessibilityRole; - public std::optional dynamicTypeRamp; - public std::optional fontStyle; - public std::optional fontVariant; - public std::optional fontWeight; - public std::optional layoutDirection; - public std::optional lineBreakMode; - public std::optional lineBreakStrategy; - public std::optional role; - public std::optional textShadowOffset; - public std::optional alignment; - public std::optional textDecorationLineType; - public std::optional textDecorationStyle; - public std::optional textTransform; - public std::optional baseWritingDirection; - public std::optional fontVariationSettings; - public std::string fontFamily; - public std::vector textEffects; - public void apply(facebook::react::TextAttributes textAttributes); -} - -class facebook::react::TextEffectProps : public facebook::react::Props { - public TextEffectProps() = default; - public TextEffectProps(const facebook::react::PropsParserContext& context, const facebook::react::TextEffectProps& sourceProps, const facebook::react::RawProps& rawProps); - public folly::dynamic effectProps; - public std::string effectName; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; -} - -class facebook::react::TextEffectShadowNode : public facebook::react::ConcreteShadowNode { -} - -class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; - public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; -} - -struct facebook::react::TextInputEventEmitter::KeyPressMetrics { - public int eventCount; - public std::string text; -} - -struct facebook::react::TextInputEventEmitter::Metrics { - public bool responderIgnoreScroll; - public facebook::react::AttributedString::Range selectionRange; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public facebook::react::Size layoutMeasurement; - public facebook::react::Tag target; - public int eventCount; - public std::string text; -} - -class facebook::react::TextInputState { - public TextInputState() = default; - public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); - public facebook::react::AttributedString reactTreeAttributedString; - public facebook::react::AttributedStringBox attributedStringBox; - public facebook::react::ParagraphAttributes paragraphAttributes; - public int64_t mostRecentEventCount; -} - -class facebook::react::TextLayoutManager { - public TextLayoutManager(const facebook::react::TextLayoutManager&) = delete; - public TextLayoutManager(const std::shared_ptr& contextContainer); - public TextLayoutManager(facebook::react::TextLayoutManager&&) = delete; - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size) const; - public facebook::react::TextLayoutManager& operator=(const facebook::react::TextLayoutManager&) = delete; - public facebook::react::TextLayoutManager& operator=(facebook::react::TextLayoutManager&&) = delete; - public facebook::react::TextLayoutManager::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::TextMeasurement measure(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::TextMeasurement measureCachedSpannableById(int64_t cacheId, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::TextLayoutManager::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public using PreparedTextLayout = facebook::react::SafeReleaseJniRef>; -} - -class facebook::react::TextMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::Float pointScaleFactor; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::TextMeasurement { - public facebook::react::Size size; - public facebook::react::TextMeasurement::Attachments attachments; - public using Attachments = std::vector; -} - -class facebook::react::TextMeasurement::Attachment { - public bool isClipped; - public facebook::react::Rect frame; -} - -class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { - public TextProps() = default; - public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { - public TextShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using BaseShadowNode = facebook::react::ConcreteShadowNode; -} - -class facebook::react::TimerManager { - public TimerManager(const facebook::react::TimerManager&) = delete; - public TimerManager(facebook::react::TimerManager&&) = delete; - public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; - public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; - public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; - public void attachGlobals(facebook::jsi::Runtime& runtime); - public void callTimer(facebook::react::TimerHandle handle); - public void quit(); - public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; - public ~TimerManager() noexcept; -} - class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); public void onClick(facebook::react::PointerEvent event) const; @@ -5217,48 +2469,6 @@ class facebook::react::TracingStateCallback : public facebook::jni::JavaClass now); - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public facebook::react::TelemetryTimePoint getCommitEndTime() const; - public facebook::react::TelemetryTimePoint getCommitStartTime() const; - public facebook::react::TelemetryTimePoint getDiffEndTime() const; - public facebook::react::TelemetryTimePoint getDiffStartTime() const; - public facebook::react::TelemetryTimePoint getLayoutEndTime() const; - public facebook::react::TelemetryTimePoint getLayoutStartTime() const; - public facebook::react::TelemetryTimePoint getMountEndTime() const; - public facebook::react::TelemetryTimePoint getMountStartTime() const; - public int getAffectedLayoutNodesCount() const; - public int getNumberOfTextMeasurements() const; - public int getRevisionNumber() const; - public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); - public void didCommit(); - public void didDiff(); - public void didLayout(); - public void didLayout(int affectedLayoutNodesCount); - public void didMeasureText(); - public void didMount(); - public void setAsThreadLocal(); - public void setRevisionNumber(int revisionNumber); - public void unsetAsThreadLocal(); - public void willCommit(); - public void willDiff(); - public void willLayout(); - public void willMeasureText(); - public void willMount(); -} - -class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { - public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(folly::dynamic& props); -} - class facebook::react::TransformHelper : public facebook::jni::JavaClass { public static constexpr auto * kJavaDescriptor; public static void registerNatives(); @@ -5312,158 +2522,6 @@ class facebook::react::UIConstantsProviderBinding : public facebook::jni::JavaCl public static void registerNatives(); } -class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { - public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); - public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; - public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; - public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; - public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); - public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); - public facebook::react::UIManagerDelegate* getDelegate(); - public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; - public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; - public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; - public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) const noexcept override; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; - public void addEventListener(std::shared_ptr listener); - public void addOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); - public void animationTick() const; - public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; - public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); - public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; - public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); - public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); - public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); - public void setDelegate(facebook::react::UIManagerDelegate* delegate); - public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; - public void setNativeAnimatedDelegate(std::weak_ptr delegate); - public void setSurfaceProps(facebook::react::SurfaceId surfaceId, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); - public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; - public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; - public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); - public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); - public void updateShadowTree(std::unordered_map&& tagToProps); - public void updateState(const facebook::react::StateUpdate& stateUpdate) const; - public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; - public ~UIManager() override; -} - -class facebook::react::UIManagerAnimationBackend { - public using Callback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) = 0; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; - public virtual void stop(facebook::react::CallbackId callbackId) = 0; - public virtual void trigger() = 0; - public virtual ~UIManagerAnimationBackend() = default; -} - -class facebook::react::UIManagerAnimationDelegate { - public virtual bool shouldAnimateFrame() const = 0; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; - public virtual ~UIManagerAnimationDelegate() = default; -} - -class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { - public UIManagerBinding(std::shared_ptr uiManager); - public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); - public facebook::react::UIManager& getUIManager(); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; - public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; - public void invalidate() const; - public ~UIManagerBinding() override; -} - -class facebook::react::UIManagerCommitHook { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) noexcept; - public virtual ~UIManagerCommitHook() noexcept = default; -} - -class facebook::react::UIManagerDelegate { - public using OnSurfaceStartCallback = std::function; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidClearPendingSnapshots() = 0; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~UIManagerDelegate() noexcept = default; -} - -class facebook::react::UIManagerMountHook { - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; - public virtual ~UIManagerMountHook() noexcept = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegate { - public virtual void runAnimationFrame() = 0; - public virtual ~UIManagerNativeAnimatedDelegate() = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { - public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); - public virtual void runAnimationFrame() override; -} - -class facebook::react::UIManagerViewTransitionDelegate { - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag) const; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); - public virtual void createViewTransitionInstance(const std::string&, facebook::react::Tag); - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); - public virtual void startViewTransitionEnd(); - public virtual void startViewTransitionReadyFinished(); - public virtual void suspendOnActiveViewTransition(); - public virtual void transitionAnimationFinished(int animationId); - public virtual void waitForTransitionAnimation(int animationId); - public virtual ~UIManagerViewTransitionDelegate() = default; -} - -struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { - public facebook::react::Float height; - public facebook::react::Float width; - public facebook::react::Float x; - public facebook::react::Float y; - public facebook::react::Tag nativeTag; -} - class facebook::react::UnimplementedNativeViewEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -5475,33 +2533,6 @@ class facebook::react::UnimplementedNativeViewProps : public facebook::react::Ho public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::ComponentHandle getComponentHandle() const override; - public virtual facebook::react::ComponentName getComponentName() const override; - public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; -} - -class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { - public facebook::react::ComponentName getComponentName() const; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setComponentName(facebook::react::ComponentName componentName); -} - -class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { - protected bool isColorValue_; - public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool getIsColorValue() const noexcept; - public bool setOffset(double offset) noexcept; - public bool setRawValue(double value) noexcept; - public double getOffset() const noexcept; - public double getRawValue() const noexcept; - public double getValue() const noexcept; - public void extractOffset() noexcept; - public void flattenOffset() noexcept; - public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; -} - class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { public ValueFactoryEventPayload(facebook::react::ValueFactory factory); public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; @@ -5517,41 +2548,6 @@ class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShad public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); } -class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate, public facebook::react::UIManagerCommitHook, public facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const override; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag tag) const override; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void createViewTransitionInstance(const std::string& name, facebook::react::Tag pseudoElementTag) override; - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; - public virtual void startViewTransitionEnd() override; - public virtual void startViewTransitionReadyFinished() override; - public virtual void suspendOnActiveViewTransition() override; - public virtual void transitionAnimationFinished(int animationId) override; - public virtual void waitForTransitionAnimation(int animationId) override; - public void initialize(facebook::react::UIManager* uiManager, std::weak_ptr weakThis); - public ~ViewTransitionModule() override; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; - public uint32_t transitionId; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { - public facebook::react::Float pointScaleFactor; - public facebook::react::Point originFromRoot; - public facebook::react::Size size; -} - class facebook::react::VirtualViewEventEmitter : public facebook::react::BaseViewEventEmitter { public void onModeChange(facebook::react::VirtualViewEventEmitter::OnModeChange value) const; } @@ -5586,19 +2582,6 @@ class facebook::react::VirtualViewProps : public facebook::react::HostPlatformVi public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::WeakFamilyRegistry { - public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; - public using WeakFamilies = std::vector; - public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; - public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; -} - class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { protected facebook::yoga::Config yogaConfig_; protected mutable facebook::yoga::Node yogaNode_; @@ -5743,54 +2726,6 @@ enum facebook::react::AndroidSwipeRefreshLayoutSize { Large, } -enum facebook::react::AnimatedNodeType { - Addition, - Color, - Diffclamp, - Division, - Interpolation, - Modulus, - Multiplication, - Object, - Props, - Round, - Style, - Subtraction, - Tracking, - Transform, - Value, -} - -enum facebook::react::AnimationConfigurationType { - Create, - Delete, - Update, -} - -enum facebook::react::AnimationDriverType { - Decay, - Frames, - Spring, -} - -enum facebook::react::AnimationProperty { - NotApplicable, - Opacity, - ScaleX, - ScaleXY, - ScaleY, -} - -enum facebook::react::AnimationType { - EaseIn, - EaseInEaseOut, - EaseOut, - Keyboard, - Linear, - None, - Spring, -} - enum facebook::react::BackfaceVisibility : uint8_t { Auto, Hidden, @@ -5840,345 +2775,54 @@ enum facebook::react::BorderStyle : uint8_t { Solid, } -enum facebook::react::CSSAngleUnit : uint8_t { - Deg, - Grad, - Rad, - Turn, +enum facebook::react::ColorSpace { + DisplayP3, + sRGB, } -enum facebook::react::CSSDelimiter { - Comma, - CommaOrWhitespace, +enum facebook::react::Cursor : uint8_t { + Alias, + AllScroll, + Auto, + Cell, + ColResize, + ContextMenu, + Copy, + Crosshair, + Default, + EResize, + EWResize, + Grab, + Grabbing, + Help, + Move, + NEResize, + NESWResize, + NResize, + NSResize, + NWResize, + NWSEResize, + NoDrop, None, - OptionalWhitespace, - Solidus, - SolidusOrWhitespace, - Whitespace, -} - -enum facebook::react::CSSFontVariant : std::underlying_type_t { - CommonLigatures, - Contextual, - DiscretionaryLigatures, - HistoricalLigatures, - LiningNums, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { - At, -} - -enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { - Bottom, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, + NotAllowed, + Pointer, + Progress, + RowResize, + SEResize, + SResize, + SWResize, + Text, + Url, + WResize, + Wait, + ZoomIn, + ZoomOut, } -enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { - To, -} - -enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { - Inset, -} - -enum facebook::react::CSSKeyword : uint8_t { - Absolute, - At, - Auto, - Baseline, - Block, - Bottom, - Center, - Clip, - Column, - ColumnReverse, - CommonLigatures, - Content, - Contents, - Contextual, - Dashed, - DiscretionaryLigatures, - Dotted, - Double, - End, - Fixed, - Flex, - FlexEnd, - FlexStart, - Grid, - Groove, - Hidden, - HistoricalLigatures, - Inherit, - Initial, - Inline, - InlineBlock, - InlineFlex, - InlineGrid, - Inset, - Left, - LiningNums, - Ltr, - MaxContent, - Medium, - MinContent, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - NoWrap, - None, - Normal, - OldstyleNums, - Outset, - ProportionalNums, - Relative, - Ridge, - Right, - Row, - RowReverse, - Rtl, - Scroll, - SmallCaps, - Solid, - SpaceAround, - SpaceBetween, - SpaceEvenly, - Start, - Static, - Sticky, - Stretch, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, - Thick, - Thin, - To, - Top, - Unset, - Visible, - Wrap, - WrapReverse, -} - -enum facebook::react::CSSLengthUnit : uint8_t { - Cap, - Ch, - Cm, - Dvb, - Dvh, - Dvi, - Dvmax, - Dvmin, - Dvw, - Em, - Ex, - Ic, - In, - Lh, - Lvb, - Lvh, - Lvi, - Lvmax, - Lvmin, - Lvw, - Mm, - Pc, - Pt, - Px, - Q, - Rcap, - Rch, - Rem, - Rex, - Ric, - Rlh, - Svb, - Svh, - Svi, - Svmax, - Svmin, - Svw, - Vb, - Vh, - Vi, - Vmax, - Vmin, - Vw, -} - -enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { - ToBottomLeft, - ToBottomRight, - ToTopLeft, - ToTopRight, -} - -enum facebook::react::CSSRadialGradientShape : uint8_t { - Circle, - Ellipse, -} - -enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { - ClosestCorner, - ClosestSide, - FarthestCorner, - FarthestSide, -} - -enum facebook::react::CSSTokenType { - CloseCurly, - CloseParen, - CloseSquare, - Comma, - Delim, - Dimension, - EndOfFile, - Function, - Hash, - Ident, - Number, - OpenCurly, - OpenParen, - OpenSquare, - Percentage, - WhiteSpace, -} - -enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSWideKeyword : std::underlying_type_t { - Inherit, - Initial, - Unset, -} - -enum facebook::react::ColorSpace { - DisplayP3, - sRGB, -} - -enum facebook::react::ContentInsetAdjustmentBehavior { - Always, - Automatic, - Never, - ScrollableAxes, -} - -enum facebook::react::Cursor : uint8_t { - Alias, - AllScroll, - Auto, - Cell, - ColResize, - ContextMenu, - Copy, - Crosshair, - Default, - EResize, - EWResize, - Grab, - Grabbing, - Help, - Move, - NEResize, - NESWResize, - NResize, - NSResize, - NWResize, - NWSEResize, - NoDrop, - None, - NotAllowed, - Pointer, - Progress, - RowResize, - SEResize, - SResize, - SWResize, - Text, - Url, - WResize, - Wait, - ZoomIn, - ZoomOut, -} - -enum facebook::react::DataDetectorType { - All, - Email, - Link, - None, - PhoneNumber, -} - -enum facebook::react::DisplayMode { - Hidden, - Suspended, - Visible, +enum facebook::react::DisplayMode { + Hidden, + Suspended, + Visible, } enum facebook::react::DisplayType { @@ -6188,27 +2832,6 @@ enum facebook::react::DisplayType { None, } -enum facebook::react::DynamicTypeRamp : uint8_t { - Body, - Callout, - Caption1, - Caption2, - Footnote, - Headline, - LargeTitle, - Subheadline, - Title1, - Title2, - Title3, -} - -enum facebook::react::EllipsizeMode { - Clip, - Head, - Middle, - Tail, -} - enum facebook::react::EventPayloadType { PointerEvent, ScrollEvent, @@ -6237,63 +2860,6 @@ enum facebook::react::FocusDirection { FocusUp, } -enum facebook::react::FontStyle : uint8_t { - Italic, - Normal, - Oblique, -} - -enum facebook::react::FontVariant : int { - Default, - LiningNums, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::FontWeight : uint16_t { - Black, - Bold, - Demibold, - Heavy, - Light, - Medium, - Regular, - Semibold, - Thin, - UltraLight, - Weight100, - Weight200, - Weight300, - Weight400, - Weight500, - Weight600, - Weight700, - Weight800, - Weight900, -} - enum facebook::react::GradientDirectionType { Angle, Keyword, @@ -6306,12 +2872,6 @@ enum facebook::react::GradientKeyword : uint8_t { ToTopRight, } -enum facebook::react::HyphenationFrequency { - Full, - None, - Normal, -} - enum facebook::react::ImageResizeMode : int8_t { Center, Contain, @@ -6344,22 +2904,6 @@ enum facebook::react::LayoutDirection { Undefined, } -enum facebook::react::LineBreakMode : uint8_t { - Char, - Clip, - Head, - Middle, - Tail, - Word, -} - -enum facebook::react::LineBreakStrategy : uint8_t { - HangulWordPriority, - None, - PushOut, - Standard, -} - enum facebook::react::ModalHostViewAnimationType { Fade, None, @@ -6392,15 +2936,6 @@ enum facebook::react::OutlineStyle : uint8_t { Solid, } -enum facebook::react::PerformanceEntryType { - EVENT, - LONGTASK, - MARK, - MEASURE, - RESOURCE, - _NEXT, -} - enum facebook::react::PointerEventsMode : uint8_t { Auto, BoxNone, @@ -6414,61 +2949,6 @@ enum facebook::react::PositionType { Static, } -enum facebook::react::PropName { - ALIGN_CONTENT, - ALIGN_ITEMS, - ALIGN_SELF, - ASPECT_RATIO, - BACKFACE_VISIBILITY, - BACKGROUND_COLOR, - BORDER_COLOR, - BORDER_CURVES, - BORDER_RADII, - BORDER_STYLES, - BORDER_WIDTH, - BOX_SHADOW, - BOX_SIZING, - COLUMN_GAP, - CURSOR, - DIRECTION, - DISPLAY, - FILTER, - FLEX, - FLEX_BASIS, - FLEX_DIRECTION, - FLEX_GROW, - FLEX_SHRINK, - FLEX_WRAP, - HEIGHT, - ISOLATION, - JUSTIFY_CONTENT, - MARGIN, - MAX_HEIGHT, - MAX_WIDTH, - MIN_HEIGHT, - MIN_WIDTH, - MIX_BLEND_MODE, - OPACITY, - OUTLINE_COLOR, - OUTLINE_OFFSET, - OUTLINE_STYLE, - OUTLINE_WIDTH, - PADDING, - POINTER_EVENTS, - POSITION, - POSITION_TYPE, - ROW_GAP, - SHADOW_COLOR, - SHADOW_OFFSET, - SHADOW_OPACITY, - SHADOW_RADIUS, - STYLE_OVERFLOW, - TRANSFORM, - TRANSFORM_ORIGIN, - WIDTH, - Z_INDEX, -} - enum facebook::react::RadialGradientShape { Circle, Ellipse, @@ -6481,12 +2961,6 @@ enum facebook::react::ReactEventPriority { Idle, } -enum facebook::react::ResizeObserverBoxOptions { - BorderBox, - ContentBox, - DevicePixelContentBox, -} - enum facebook::react::Role : uint8_t { Alert, Alertdialog, @@ -6568,107 +3042,6 @@ enum facebook::react::ScriptTag { String, } -enum facebook::react::ScrollViewIndicatorStyle { - Black, - Default, - White, -} - -enum facebook::react::ScrollViewKeyboardDismissMode { - Interactive, - None, - OnDrag, -} - -enum facebook::react::ScrollViewSnapToAlignment { - Center, - End, - Start, -} - -enum facebook::react::ShadowTreeCommitMode { - Normal, - Suspended, -} - -enum facebook::react::ShadowTreeCommitSource { - AnimationEndSync, - React, - ReactRevisionMerge, - Unknown, -} - -enum facebook::react::ShadowTreeCommitStatus { - Cancelled, - Failed, - Succeeded, -} - -enum facebook::react::SubmitBehavior { - BlurAndSubmit, - Default, - Newline, - Submit, -} - -enum facebook::react::TextAlignment : uint8_t { - Center, - End, - Justified, - Left, - Natural, - Right, - Start, -} - -enum facebook::react::TextAlignmentVertical { - Auto, - Bottom, - Center, - Top, -} - -enum facebook::react::TextBreakStrategy { - Balanced, - HighQuality, - Simple, -} - -enum facebook::react::TextDecorationLineType : uint8_t { - None, - Strikethrough, - Underline, - UnderlineStrikethrough, -} - -enum facebook::react::TextDecorationStyle : uint8_t { - Dashed, - Dotted, - Double, - Solid, - Wavy, -} - -enum facebook::react::TextTransform : uint8_t { - Capitalize, - Lowercase, - None, - Unset, - Uppercase, -} - -enum facebook::react::TextWidthMode { - Auto, - LongestLine, -} - -enum facebook::react::TimerSource { - RequestAnimationFrame, - SetInterval, - SetTimeout, - Unknown, -} - enum facebook::react::TransformOperationType : uint8_t { Arbitrary, Identity, @@ -6697,18 +3070,6 @@ enum facebook::react::UnitType { Undefined, } -enum facebook::react::WritingDirection : uint8_t { - LeftToRight, - Natural, - RightToLeft, -} - -struct facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public std::string name; -} - struct facebook::react::AccessibilityAction { public std::optional label; public std::string name; @@ -6740,127 +3101,12 @@ struct facebook::react::AccessibilityValue { public std::optional text; } -struct facebook::react::ActivePointer { - public bool shouldLeaveWhenReleased; - public facebook::react::PointerEvent event; -} - -struct facebook::react::AndroidTextInputTextShadowOffsetStruct { - public double height; - public double width; -} - -struct facebook::react::AnimatedPropBase { - public AnimatedPropBase(facebook::react::PropName propName); - public facebook::react::PropName propName; - public virtual ~AnimatedPropBase() = default; -} - -struct facebook::react::AnimatedProps { - public std::unique_ptr rawProps; - public std::vector> props; -} - struct facebook::react::AnimatedPropsBuffer { public std::vector doubles; public std::vector rawProps; public std::vector ints; } -struct facebook::react::AnimatedPropsBuilder { - public facebook::react::AnimatedProps get(); - public std::unique_ptr rawProps; - public std::vector> props; - public void setAlignContent(facebook::yoga::Align value); - public void setAlignItems(facebook::yoga::Align value); - public void setAlignSelf(facebook::yoga::Align value); - public void setAspectRatio(facebook::yoga::FloatOptional value); - public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); - public void setBackgroundColor(facebook::react::SharedColor value); - public void setBorderColor(facebook::react::CascadedBorderColors& value); - public void setBorderCurves(facebook::react::CascadedBorderCurves& value); - public void setBorderRadii(facebook::react::CascadedBorderRadii& value); - public void setBorderStyles(facebook::react::CascadedBorderStyles& value); - public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); - public void setBoxShadow(const std::vector& value); - public void setBoxSizing(facebook::yoga::BoxSizing value); - public void setColumnGap(facebook::yoga::Style::Length value); - public void setCursor(facebook::react::Cursor value); - public void setDirection(facebook::yoga::Direction value); - public void setDisplay(facebook::yoga::Display value); - public void setFilter(const std::vector& value); - public void setFlex(facebook::yoga::FloatOptional value); - public void setFlexBasis(facebook::yoga::Style::SizeLength value); - public void setFlexDirection(facebook::yoga::FlexDirection value); - public void setFlexGrow(facebook::yoga::FloatOptional value); - public void setFlexShrink(facebook::yoga::FloatOptional value); - public void setFlexWrap(facebook::yoga::Wrap value); - public void setHeight(facebook::yoga::Style::SizeLength value); - public void setIsolation(facebook::react::Isolation value); - public void setJustifyContent(facebook::yoga::Justify value); - public void setMargin(facebook::react::CascadedRectangleEdges& value); - public void setMaxHeight(facebook::yoga::Style::SizeLength value); - public void setMaxWidth(facebook::yoga::Style::SizeLength value); - public void setMinHeight(facebook::yoga::Style::SizeLength value); - public void setMinWidth(facebook::yoga::Style::SizeLength value); - public void setMixBlendMode(facebook::react::BlendMode value); - public void setOpacity(facebook::react::Float value); - public void setOutlineColor(facebook::react::SharedColor value); - public void setOutlineOffset(facebook::react::Float value); - public void setOutlineStyle(facebook::react::OutlineStyle value); - public void setOutlineWidth(facebook::react::Float value); - public void setOverflow(facebook::yoga::Overflow value); - public void setPadding(facebook::react::CascadedRectangleEdges& value); - public void setPointerEvents(facebook::react::PointerEventsMode value); - public void setPosition(facebook::react::CascadedRectangleEdges& value); - public void setPositionType(facebook::yoga::PositionType value); - public void setRowGap(facebook::yoga::Style::Length value); - public void setShadowColor(facebook::react::SharedColor value); - public void setShadowOffset(facebook::react::Size value); - public void setShadowOpacity(facebook::react::Float value); - public void setShadowRadius(facebook::react::Float value); - public void setTransform(const facebook::react::Transform& t); - public void setTransformOrigin(const facebook::react::TransformOrigin& value); - public void setWidth(facebook::yoga::Style::SizeLength value); - public void setZIndex(std::optional value); - public void storeDynamic(folly::dynamic& d); - public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); -} - -struct facebook::react::AnimationConfig { - public double delay; - public double duration; - public facebook::react::AnimationProperty animationProperty; - public facebook::react::AnimationType animationType; - public facebook::react::Float initialVelocity; - public facebook::react::Float springDamping; -} - -struct facebook::react::AnimationKeyFrame { - public bool generateFinalSyntheticMutations; - public bool invalidated; - public double initialProgress; - public facebook::react::AnimationConfigurationType type; - public facebook::react::ShadowView viewEnd; - public facebook::react::ShadowView viewPrev; - public facebook::react::ShadowView viewStart; - public facebook::react::Tag parentTag; - public facebook::react::Tag tag; - public std::vector finalMutationsForKeyFrame; -} - -struct facebook::react::AnimationMutation { - public bool hasLayoutUpdates; - public facebook::react::AnimatedProps props; - public facebook::react::Tag tag; - public std::shared_ptr family; -} - -struct facebook::react::AnimationMutations { - public std::set asyncFlushSurfaces; - public std::vector batch; -} - struct facebook::react::BackgroundPosition { public BackgroundPosition(); public bool operator==(const facebook::react::BackgroundPosition& other) const = default; @@ -6957,13 +3203,6 @@ struct facebook::react::Bridging { public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); } -struct facebook::react::BufferEvent { - public std::string name; - public std::string track; - public uint64_t end; - public uint64_t start; -} - struct facebook::react::BundleHeader { public BundleHeader(); public facebook::react::Magic32 magic32; @@ -6971,286 +3210,6 @@ struct facebook::react::BundleHeader { public uint64_t magic64; } -struct facebook::react::CSSAngle { - public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSBlurFilter { - public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; - public facebook::react::CSSLength amount; -} - -struct facebook::react::CSSBrightnessFilter { - public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSColor { - public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; - public static constexpr facebook::react::CSSColor black(); - public uint8_t a; - public uint8_t b; - public uint8_t g; - public uint8_t r; -} - -struct facebook::react::CSSColorHint { - public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; - public std::variant position; -} - -struct facebook::react::CSSColorStop { - public bool operator==(const facebook::react::CSSColorStop& rhs) const; - public facebook::react::CSSColor color; - public std::optional> endPosition; - public std::optional> startPosition; -} - -struct facebook::react::CSSContrastFilter { - public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSDropShadowFilter { - public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength standardDeviation; -} - -struct facebook::react::CSSFunctionBlock { - public std::string_view name; -} - -struct facebook::react::CSSGrayscaleFilter { - public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSHueRotateFilter { - public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSInvertFilter { - public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSLength { - public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; - public facebook::react::CSSLengthUnit unit; - public float value; -} - -struct facebook::react::CSSLinearGradientDirection { - public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSLinearGradientFunction { - public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; - public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); - public std::optional direction; - public std::vector> items; -} - -struct facebook::react::CSSMatrix { - public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; - public std::array values; -} - -struct facebook::react::CSSNumber { - public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; - public float value; -} - -struct facebook::react::CSSOpacityFilter { - public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSPercentage { - public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; - public float value; -} - -struct facebook::react::CSSPerspective { - public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; - public facebook::react::CSSLength length; -} - -struct facebook::react::CSSRadialGradientExplicitSize { - public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; - public std::variant sizeX; - public std::variant sizeY; -} - -struct facebook::react::CSSRadialGradientFunction { - public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; - public std::optional position; - public std::optional shape; - public std::optional size; - public std::vector> items; -} - -struct facebook::react::CSSRadialGradientPosition { - public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; - public std::optional> bottom; - public std::optional> left; - public std::optional> right; - public std::optional> top; -} - -struct facebook::react::CSSRatio { - public constexpr bool isDegenerate() const; - public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; - public float denominator; - public float numerator; -} - -struct facebook::react::CSSRotate { - public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateX { - public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateY { - public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateZ { - public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSaturateFilter { - public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSScale { - public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; - public float x; - public float y; -} - -struct facebook::react::CSSScaleX { - public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; - public float value; -} - -struct facebook::react::CSSScaleY { - public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; - public float value; -} - -struct facebook::react::CSSSepiaFilter { - public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSShadow { - public bool inset; - public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength blurRadius; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength spreadDistance; -} - -struct facebook::react::CSSSimpleBlock { - public facebook::react::CSSTokenType openBracketType; -} - -struct facebook::react::CSSSkewX { - public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSkewY { - public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSTransformOrigin { - public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate3D { - public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate { - public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslateX { - public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSTranslateY { - public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSZero { - public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; -} - -struct facebook::react::CallbackWithId { - public facebook::react::Callback callback; - public facebook::react::CallbackId callbackId; -} - -struct facebook::react::CascadedRectangleCornersNames { - public const char* all; - public const char* bottomEnd; - public const char* bottomLeft; - public const char* bottomRight; - public const char* bottomStart; - public const char* endEnd; - public const char* endStart; - public const char* startEnd; - public const char* startStart; - public const char* topEnd; - public const char* topLeft; - public const char* topRight; - public const char* topStart; -} - -struct facebook::react::CascadedRectangleEdgesNames { - public const char* all; - public const char* block; - public const char* blockEnd; - public const char* blockStart; - public const char* bottom; - public const char* end; - public const char* horizontal; - public const char* left; - public const char* right; - public const char* start; - public const char* top; - public const char* vertical; -} - struct facebook::react::Color { public bool isDefined; public constexpr Color() = default; @@ -7316,21 +3275,9 @@ enum facebook::react::CppMountItem::Type { UpdateState, } -struct facebook::react::CullingContext { - public bool operator==(const facebook::react::CullingContext& rhs) const = default; - public bool shouldConsiderCulling() const; - public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; - public facebook::react::Rect frame; - public facebook::react::Transform transform; -} - struct facebook::react::DebugStringConvertibleOptions { } -struct facebook::react::DefaultTurboModules { - public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); -} - struct facebook::react::DropShadowParams { public bool operator==(const facebook::react::DropShadowParams& other) const = default; public facebook::react::Float offsetX; @@ -7340,11 +3287,6 @@ struct facebook::react::DropShadowParams { public folly::dynamic toDynamic() const; } -struct facebook::react::DummyTraceSection { - template - public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); -} - struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { protected folly::dynamic payload_; public DynamicEventPayload(folly::dynamic&& payload); @@ -7359,12 +3301,6 @@ struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEve public const std::optional>& getHitPathForEventListener() const; } -struct facebook::react::EventAnimationDriverKey { - public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; - public facebook::react::Tag viewTag; - public std::string eventName; -} - struct facebook::react::EventPayload { public EventPayload() = default; public EventPayload(const facebook::react::EventPayload&) = default; @@ -7390,41 +3326,10 @@ struct facebook::react::ImageRequestItem { public facebook::react::Tag tag; } -struct facebook::react::InspectorData { - public folly::dynamic props; - public int columnNumber; - public int lineNumber; - public int selectedIndex; - public std::string fileName; - public std::vector hierarchy; -} - -struct facebook::react::InstanceCallback { - public virtual void decrementPendingJSCalls(); - public virtual void incrementPendingJSCalls(); - public virtual void onBatchComplete(); - public virtual ~InstanceCallback() = default; -} - -struct facebook::react::IntersectionObserverEntry { - public bool isIntersectingAboveThresholds; - public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; - public facebook::react::HighResTimeStamp time; - public facebook::react::IntersectionObserverObserverId intersectionObserverId; - public facebook::react::Rect intersectionRect; - public facebook::react::Rect rootRect; - public facebook::react::Rect targetRect; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; -} - struct facebook::react::JAssetManager : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; } -struct facebook::react::JBaseJavaModule : public facebook::jni::JavaClass { - public static constexpr auto kJavaDescriptor; -} - struct facebook::react::JCallback : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; } @@ -7454,14 +3359,6 @@ struct facebook::react::JJavaTimerManager : public facebook::jni::JavaClass { - public jni::local_ref getMethod() const; - public static constexpr auto kJavaDescriptor; - public std::string getName() const; - public std::string getSignature() const; - public std::string getType() const; -} - struct facebook::react::JMountItem : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; } @@ -7480,11 +3377,6 @@ struct facebook::react::JReactHostImpl : public facebook::jni::JavaClass message); } -struct facebook::react::JReflectMethod : public facebook::jni::JavaClass { - public jmethodID getMethodID(); - public static constexpr auto kJavaDescriptor; -} - struct facebook::react::JTaskInterface : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; } @@ -7506,30 +3398,6 @@ struct facebook::react::JTurboModuleWithJSIBindings : public facebook::jni::Java public static constexpr auto kJavaDescriptor; } -struct facebook::react::JavaModuleWrapper : public facebook::jni::JavaClass { - public jni::local_ref getModule(); - public jni::local_ref::javaobject> getMethodDescriptors(); - public static constexpr auto kJavaDescriptor; - public std::string getName() const; -} - -struct facebook::react::LayoutAnimation { - public bool completed; - public facebook::react::LayoutAnimationCallbackWrapper failureCallback; - public facebook::react::LayoutAnimationCallbackWrapper successCallback; - public facebook::react::LayoutAnimationConfig layoutAnimationConfig; - public facebook::react::SurfaceId surfaceId; - public std::vector keyFrames; - public uint64_t startTime; -} - -struct facebook::react::LayoutAnimationConfig { - public double duration; - public facebook::react::AnimationConfig createConfig; - public facebook::react::AnimationConfig deleteConfig; - public facebook::react::AnimationConfig updateConfig; -} - struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { public LayoutConformanceProps() = default; public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -7569,19 +3437,6 @@ struct facebook::react::LayoutMetrics { public facebook::react::Rect getPaddingFrame() const; } -struct facebook::react::LineMeasurement { - public LineMeasurement(const folly::dynamic& data); - public LineMeasurement(std::string text, facebook::react::Rect frame, facebook::react::Float descender, facebook::react::Float capHeight, facebook::react::Float ascender, facebook::react::Float xHeight); - public bool operator==(const facebook::react::LineMeasurement& rhs) const; - public facebook::react::Float ascender; - public facebook::react::Float capHeight; - public facebook::react::Float descender; - public facebook::react::Float xHeight; - public facebook::react::Rect frame; - public static facebook::react::Float baseline(const std::vector& lines); - public std::string text; -} - struct facebook::react::LinearGradient { public bool operator==(const facebook::react::LinearGradient& other) const = default; public facebook::react::GradientDirection direction; @@ -7594,47 +3449,10 @@ struct facebook::react::Magic32 { public uint32_t value; } -struct facebook::react::MarginValue { - public bool isPercentage; - public facebook::react::Float value; -} - -struct facebook::react::MeasuredPreparedTextLayout { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::TextMeasurement measurement; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; -} - -struct facebook::react::MethodCall { - public MethodCall(int mod, int meth, folly::dynamic&& args, int cid); - public folly::dynamic arguments; - public int callId; - public int methodId; - public int moduleId; -} - -struct facebook::react::MethodDescriptor { - public MethodDescriptor(std::string n, std::string t); - public std::string name; - public std::string type; -} - struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { public facebook::react::ModalHostViewSupportedOrientationsMask value; } -struct facebook::react::ModuleConfig { - public folly::dynamic config; - public size_t index; -} - -struct facebook::react::MutationRecord { - public facebook::react::MutationObserverId mutationObserverId; - public std::shared_ptr targetShadowNode; - public std::vector> addedShadowNodes; - public std::vector> removedShadowNodes; -} - struct facebook::react::NativeDrawable { public bool operator!=(const facebook::react::NativeDrawable& rhs) const; public bool operator==(const facebook::react::NativeDrawable& rhs) const; @@ -7659,73 +3477,6 @@ struct facebook::react::NativeDrawable::Ripple { public std::optional> colorResourcePaths; } -struct facebook::react::NativePerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional fetchStart; - public std::optional processingEnd; - public std::optional processingStart; - public std::optional requestStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::optional interactionId; - public std::optional decodedBodySize; - public std::optional encodedBodySize; - public std::optional responseStatus; - public std::optional contentType; - public std::string name; -} - -struct facebook::react::PerformanceEntrySorter { - public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs) const; -} - -struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp processingEnd; - public facebook::react::HighResTimeStamp processingStart; - public facebook::react::HighResTimeStamp taskEndTime; - public facebook::react::PerformanceEntryInteractionId interactionId; - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceObserverObserveMultipleOptions { - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceObserverObserveSingleOptions { - public bool buffered; - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public static constexpr facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::string contentType; -} - struct facebook::react::Point { public bool operator==(const facebook::react::Point& rhs) const = default; public facebook::react::Float x; @@ -7764,11 +3515,6 @@ struct facebook::react::PointerEvent : public facebook::react::EventPayload { public virtual facebook::react::EventPayloadType getType() const override; } -struct facebook::react::PointerEventTarget { - public facebook::react::PointerEvent event; - public std::shared_ptr target; -} - struct facebook::react::ProcessedColorStop { public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; public facebook::react::SharedColor color; @@ -7791,12 +3537,6 @@ struct facebook::react::PropsParserContext { public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; } -struct facebook::react::PropsSnapshot { - public std::unique_ptr props; - public std::unique_ptr rawProps; - public std::unordered_set propNames; -} - struct facebook::react::RadialGradient { public bool operator==(const facebook::react::RadialGradient& other) const = default; public facebook::react::RadialGradientPosition position; @@ -7887,13 +3627,6 @@ struct facebook::react::ReadableType : public facebook::jni::JavaClass getType(folly::dynamic::Type type); } -struct facebook::react::RecoverableError : public std::exception { - public RecoverableError(const std::string& what_); - public virtual const char* what() const noexcept override; - template - public static void runRethrowingAsRecoverable(std::function act); -} - struct facebook::react::Rect { public bool containsPoint(facebook::react::Point point) noexcept; public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; @@ -7911,82 +3644,6 @@ struct facebook::react::Rect { public void unionInPlace(const facebook::react::Rect& rect) noexcept; } -struct facebook::react::RequestInfo { - public std::optional headers; - public std::optional httpBody; - public std::string httpMethod; - public std::string url; -} - -struct facebook::react::ResizeObservationResult { - public bool detached; - public facebook::react::Size observedSize; - public size_t targetDepth; - public std::optional entry; -} - -struct facebook::react::ResizeObserverEntry { - public facebook::react::Rect contentRect; - public facebook::react::ResizeObserverObserverId resizeObserverId; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; - public facebook::react::Size borderBoxSize; - public facebook::react::Size contentBoxSize; - public facebook::react::Size devicePixelContentBoxSize; -} - -struct facebook::react::ResourceTimingData { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseStart; - public std::string contentType; - public std::string url; -} - -struct facebook::react::ResponseInfo { - public std::optional headers; - public std::string url; - public uint16_t statusCode; -} - -struct facebook::react::SchedulerToolbox { - public facebook::react::ComponentRegistryFactory componentRegistryFactory; - public facebook::react::EventBeat::Factory eventBeatFactory; - public facebook::react::RuntimeExecutor runtimeExecutor; - public std::optional bridgelessBindingsExecutor; - public std::shared_ptr contextContainer; - public std::shared_ptr animationChoreographer; - public std::vector> commitHooks; -} - -struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { - public ScrollEndDragEvent() = default; - public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); - public facebook::react::Point targetContentOffset; - public facebook::react::Point velocity; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; -} - -struct facebook::react::ScrollEvent : public facebook::react::EventPayload { - public ScrollEvent() = default; - public bool responderIgnoreScroll; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Float timestamp; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; - public virtual facebook::react::EventPayloadType getType() const override; - public virtual std::optional extractValue(const std::vector&) const override; -} - struct facebook::react::ShadowNodeFamilyFragment { public const facebook::react::SurfaceId surfaceId; public const facebook::react::Tag tag; @@ -8003,82 +3660,12 @@ struct facebook::react::ShadowNodeFragment { public static const std::shared_ptr>>& childrenPlaceholder(); } -struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { - public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); - public std::shared_ptr>> shadowNodeList; - public ~ShadowNodeListWrapper() override; -} - struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { public ShadowNodeWrapper(std::shared_ptr shadowNode); public std::shared_ptr shadowNode; public ~ShadowNodeWrapper() override; } -struct facebook::react::ShadowTreeCommitOptions { - public bool enableStateReconciliation; - public bool mountSynchronously; - public facebook::react::ShadowTreeCommitSource source; -} - -struct facebook::react::ShadowView { - public ShadowView() = default; - public ShadowView(const facebook::react::ShadowNode& shadowNode); - public ShadowView(const facebook::react::ShadowView& shadowView) = default; - public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; - public bool operator==(const facebook::react::ShadowView& rhs) const; - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::EventEmitter::Shared eventEmitter; - public facebook::react::LayoutMetrics layoutMetrics; - public facebook::react::Props::Shared props; - public facebook::react::ShadowNodeTraits traits; - public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; - public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; - public facebook::react::State::Shared state; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; -} - -struct facebook::react::ShadowViewMutation { - public ShadowViewMutation() = delete; - public bool mutatedViewIsVirtual() const; - public facebook::react::ShadowView newChildShadowView; - public facebook::react::ShadowView oldChildShadowView; - public facebook::react::ShadowViewMutation::Type type; - public facebook::react::Tag parentTag; - public int index; - public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); - public using List = std::vector; -} - -enum facebook::react::ShadowViewMutation::Type : std::uint8_t { - Create, - Delete, - Insert, - Remove, - Update, -} - -struct facebook::react::ShadowViewNodePair { - public bool flattened; - public bool inOtherTree() const; - public bool isConcreteView; - public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; - public const facebook::react::ShadowNode* shadowNode; - public facebook::react::Point contextOrigin; - public facebook::react::ShadowView shadowView; - public mutable const facebook::react::ShadowViewNodePair* otherTreePair; - public size_t mountIndex; -} - struct facebook::react::Size { public facebook::react::Float height; public facebook::react::Float width; @@ -8093,44 +3680,6 @@ struct facebook::react::StateData { public using Shared = std::shared_ptr; } -struct facebook::react::SurfaceContext { - public std::unordered_map> map; - public std::unordered_map> pendingMap; - public std::unordered_set> families; - public std::unordered_set> pendingFamilies; -} - -struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { - template - public SystraceSection(const char* name, ConvertsToStringPiece &&... args); -} - -struct facebook::react::Task : public facebook::jsi::NativeState { - public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); - public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); -} - -struct facebook::react::TextEffectInfo { - public bool operator==(const facebook::react::TextEffectInfo&) const = default; - public folly::dynamic props; - public std::string name; -} - -struct facebook::react::TextLayoutContext { - public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; - public facebook::react::Float pointScaleFactor; - public facebook::react::SurfaceId surfaceId; -} - -struct facebook::react::TimerCallback { - public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); - public bool repeat; - public const std::vector args_; - public facebook::jsi::Function callback_; - public facebook::react::TimerSource source; - public void invoke(facebook::jsi::Runtime& runtime); -} - struct facebook::react::TouchEvent { public facebook::react::Touches changedTouches; public facebook::react::Touches targetTouches; @@ -8164,12 +3713,6 @@ struct facebook::react::Transform { public std::vector operations; } -struct facebook::react::TransformConfig { - public double value; - public facebook::react::Tag nodeTag; - public std::string property; -} - struct facebook::react::TransformOperation { public bool operator==(const facebook::react::TransformOperation& other) const = default; public facebook::react::TransformOperationType type; @@ -8290,64 +3833,6 @@ struct facebook::react::WritableNativeMap : public jni::HybridClass val); } -template -struct facebook::react::CSSList : public std::vector { -} - -template -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSList { -} - -template ... VisitorsT> -struct facebook::react::CSSComponentValueVisitorDispatcher { - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); - public constexpr std::optional visitFunction(); - public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitPreservedToken(); - public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public facebook::react::CSSSyntaxParser& parser; -} - -template -struct facebook::react::CSSList : public std::vector { -} - -template -class facebook::react::CircularBuffer { - public CircularBuffer(size_t maxSize); - public T& operator[](size_t idx); - public bool add(const T& el); - public size_t size() const; - public std::vector getEntries() const; - public std::vector getEntries(std::function predicate) const; - public void clear(); - public void clear(std::function predicate); - public void getEntries(std::vector& res) const; - public void getEntries(std::vector& res, std::function predicate) const; -} - -template -class facebook::react::MoveWrapper { - public MoveWrapper() = default; - public MoveWrapper(T&& t); - public MoveWrapper(const facebook::react::MoveWrapper& other); - public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; - public T& operator*(); - public T&& move(); - public T* operator->(); - public const T& operator*() const; - public const T* operator->() const; - public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; - public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; -} - template class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); @@ -8360,20 +3845,6 @@ class facebook::react::ConcreteViewShadowNode : public facebook::react::Concrete public virtual facebook::react::Transform getTransform() const override; } -template -class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; - protected std::shared_ptr textLayoutManager_; - protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - protected virtual void layout(facebook::react::LayoutContext layoutContext) override; - public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - template class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { protected facebook::react::Props::Shared props_; @@ -8405,17 +3876,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging { } -template -struct facebook::react::TemplateStringLiteral { - public constexpr TemplateStringLiteral(const char(&str)[N]); - public constexpr operator std::string_view() const; - public std::array value; -} - -template -struct facebook::react::CSSDataTypeParser { -} - template class facebook::react::ConcreteState : public facebook::react::State { public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); @@ -8437,25 +3897,6 @@ template class facebook::react::SyncCallback { } -template -class facebook::react::SimpleThreadSafeCache { - public SimpleThreadSafeCache(); - public SimpleThreadSafeCache(unsigned long size); - public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; - public std::optional get(const KeyT& key) const; - public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; -} - -template -class facebook::react::OnScopeExit { - public OnScopeExit(const Lambda&& lambda) noexcept; - public OnScopeExit(const facebook::react::OnScopeExit&) = delete; - public OnScopeExit(facebook::react::OnScopeExit&&) = delete; - public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; - public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; - public ~OnScopeExit() noexcept; -} - template struct facebook::react::NativePerformanceRawPerformanceEntry { public P0 name; @@ -8804,14 +4245,7 @@ class facebook::react::SafeReleaseJniRef { } template -class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::ComponentName getComponentName() const override; -} - -template -class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; @@ -8833,29 +4267,6 @@ class facebook::react::ConcreteComponentDescriptor : public facebook::react::Com public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; } -template -class facebook::react::Element { - public Element(); - public facebook::react::Element& children(std::vector children); - public facebook::react::Element& finalize(std::function finalizeCallback); - public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); - public facebook::react::Element& props(std::function callback); - public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); - public facebook::react::Element& reference(std::function callback); - public facebook::react::Element& stateData(std::function callback); - public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); - public facebook::react::Element& tag(facebook::react::Tag tag); - public operator facebook::react::ElementFragment(); - public using ConcreteProps = typename ShadowNodeT::ConcreteProps; - public using ConcreteReferenceCallback = std::function& shadowNode)>; - public using ConcreteShadowNode = ShadowNodeT; - public using ConcreteState = typename ShadowNodeT::ConcreteState; - public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; - public using ConcreteUnsharedShadowNode = std::shared_ptr; - public using SharedConcreteProps = std::shared_ptr; - public using SharedConcreteState = std::shared_ptr; -} - template struct facebook::react::Bridging { } @@ -9184,13 +4595,6 @@ class facebook::react::NativeWebSocketModuleCxxSpec : public facebook::react::Tu public static constexpr std::string_view kModuleName; } -template -struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { - public AnimatedProp() = default; - public AnimatedProp(facebook::react::PropName propName, const T& value); - public T value; -} - template struct facebook::react::CascadedRectangleCorners { public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; @@ -9670,13 +5074,6 @@ class facebook::react::AsyncPromise { public void resolve(T... value); } -template -class facebook::react::EventListenerContainerT { - public bool willDispatchEvent(TArgs... args); - public void addListener(std::shared_ptr> listener); - public void removeListener(const std::shared_ptr>& listener); -} - struct facebook::react::Bridging { public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); @@ -9751,1114 +5148,102 @@ struct facebook::react::Bridging> : public facebook::react::array template struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { -} - -struct facebook::react::Bridging { - public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); -} - -struct facebook::react::Bridging { - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); - public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); -} - -struct facebook::react::Bridging : public facebook::react::NativeAnimatedTurboModuleEndResultBridging { -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); - public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); - public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); - public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationRecordBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativePerformanceRawPerformanceEntryBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativePerformancePerformanceObserverInitBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { -} - -struct facebook::react::Bridging { - public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); - public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSDataTypeParser> { - public static std::optional> consume(facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); - public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); - public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); -} - -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); -} - -template -struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - - -bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& viewProps); -bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& viewProps); -bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps& viewProps); - - -const char* facebook::react::exceptions::gUnexpectedNativeTypeExceptionClass; -template -void facebook::react::exceptions::throwIfObjectAlreadyConsumed(const T& t, const char* msg); - - -constexpr bool facebook::react::detail::isHexDigit(char c); -constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); -constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); -constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); -constexpr uint8_t facebook::react::detail::clamp255Component(float f); -constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); -constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); -float facebook::react::detail::normalizeHue(float hue); -std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); -std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); -std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); -template -constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); -template -C facebook::react::detail::memberFunctionClass(T C::*); -template -constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); - -class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { - public OwnedBytesBuffer(std::vector bytes) noexcept; - public virtual size_t size() const override; - public virtual uint8_t* data() override; -} - -enum facebook::react::detail::HexColorType { - Long, - Short, -} - -template -struct facebook::react::detail::merge_data_types { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types { -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = typename T::PreparedTextLayout; -} - -template -struct facebook::react::detail::CSSVariantComponentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSAngleTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSFilterSimpleAmountParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSNumberPercentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = std::nullptr_t; -} - -template -struct facebook::react::detail::is_variant_of_data_types : public std::false_type { -} - -template -class facebook::react::detail::TextLayoutManagerExtended { - public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); - public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public static constexpr bool supportsLineMeasurement(); - public static constexpr bool supportsPreparedTextLayout(); - public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; -} - -template -struct facebook::react::detail::merge_variant { -} - -template -struct facebook::react::detail::merge_data_types, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_variant, RestT...> { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types> { - public using type = std::variant; -} - -template -struct facebook::react::detail::is_variant_of_data_types> : public std::true_type { -} - -template -struct facebook::react::detail::merge_data_types, std::variant, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - - -constexpr std::string_view facebook::react::detail::css::keywords::Absolute; -constexpr std::string_view facebook::react::detail::css::keywords::At; -constexpr std::string_view facebook::react::detail::css::keywords::Auto; -constexpr std::string_view facebook::react::detail::css::keywords::Baseline; -constexpr std::string_view facebook::react::detail::css::keywords::Block; -constexpr std::string_view facebook::react::detail::css::keywords::Bottom; -constexpr std::string_view facebook::react::detail::css::keywords::Center; -constexpr std::string_view facebook::react::detail::css::keywords::Clip; -constexpr std::string_view facebook::react::detail::css::keywords::Column; -constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; -constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Content; -constexpr std::string_view facebook::react::detail::css::keywords::Contents; -constexpr std::string_view facebook::react::detail::css::keywords::Contextual; -constexpr std::string_view facebook::react::detail::css::keywords::Dashed; -constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Dotted; -constexpr std::string_view facebook::react::detail::css::keywords::Double; -constexpr std::string_view facebook::react::detail::css::keywords::End; -constexpr std::string_view facebook::react::detail::css::keywords::Fixed; -constexpr std::string_view facebook::react::detail::css::keywords::Flex; -constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; -constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; -constexpr std::string_view facebook::react::detail::css::keywords::Grid; -constexpr std::string_view facebook::react::detail::css::keywords::Groove; -constexpr std::string_view facebook::react::detail::css::keywords::Hidden; -constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Inherit; -constexpr std::string_view facebook::react::detail::css::keywords::Initial; -constexpr std::string_view facebook::react::detail::css::keywords::Inline; -constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; -constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; -constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; -constexpr std::string_view facebook::react::detail::css::keywords::Inset; -constexpr std::string_view facebook::react::detail::css::keywords::Left; -constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; -constexpr std::string_view facebook::react::detail::css::keywords::Ltr; -constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; -constexpr std::string_view facebook::react::detail::css::keywords::Medium; -constexpr std::string_view facebook::react::detail::css::keywords::MinContent; -constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; -constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; -constexpr std::string_view facebook::react::detail::css::keywords::None; -constexpr std::string_view facebook::react::detail::css::keywords::Normal; -constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; -constexpr std::string_view facebook::react::detail::css::keywords::Outset; -constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; -constexpr std::string_view facebook::react::detail::css::keywords::Relative; -constexpr std::string_view facebook::react::detail::css::keywords::Ridge; -constexpr std::string_view facebook::react::detail::css::keywords::Right; -constexpr std::string_view facebook::react::detail::css::keywords::Row; -constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; -constexpr std::string_view facebook::react::detail::css::keywords::Rtl; -constexpr std::string_view facebook::react::detail::css::keywords::Scroll; -constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; -constexpr std::string_view facebook::react::detail::css::keywords::Solid; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; -constexpr std::string_view facebook::react::detail::css::keywords::Start; -constexpr std::string_view facebook::react::detail::css::keywords::Static; -constexpr std::string_view facebook::react::detail::css::keywords::Sticky; -constexpr std::string_view facebook::react::detail::css::keywords::Stretch; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; -constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; -constexpr std::string_view facebook::react::detail::css::keywords::Thick; -constexpr std::string_view facebook::react::detail::css::keywords::Thin; -constexpr std::string_view facebook::react::detail::css::keywords::To; -constexpr std::string_view facebook::react::detail::css::keywords::Top; -constexpr std::string_view facebook::react::detail::css::keywords::Unset; -constexpr std::string_view facebook::react::detail::css::keywords::Visible; -constexpr std::string_view facebook::react::detail::css::keywords::Wrap; -constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; -template -concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); -template -concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); -template -concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); -template -concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); -template -concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); -template -concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); -template -concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); -template -concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); -template -concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); -template -concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); -template -concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); -template -concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); -template -concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); -template -concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); -template -concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); -template -concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); -template -concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); -template -concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); -template -concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); -template -concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); -template -concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); -template -concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); -template -concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); -template -concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); -template -concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); -template -concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); -template -concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); -template -concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); -template -concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); -template -concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); -template -concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); -template -concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); -template -concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); -template -concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); -template -concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); -template -concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); -template -concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); -template -concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); -template -concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); -template -concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); -template -concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); -template -concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); -template -concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); -template -concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); -template -concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); -template -concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); -template -concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); -template -concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); -template -concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); -template -concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); -template -concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); -template -concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); -template -concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); -template -concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); -template -concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); -template -concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); -template -concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); -template -concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); -template -concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); -template -concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); -template -concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); -template -concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); -template -concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); -template -concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); -template -concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); -template -concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); -template -concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); -template -concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); -template -concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); - - -constexpr facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; - - -constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; -template -using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; -typedef std::function facebook::react::jsinspector_modern::FrontendChannel; -typedef std::map facebook::react::jsinspector_modern::Headers; -using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; -using facebook::react::jsinspector_modern::IOReadError = const std::string; -using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; -using facebook::react::jsinspector_modern::StreamID = const std::string; -using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; -bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); -facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); -folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); -folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); -std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); -std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); -std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); -template -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); -template -facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); -void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); -void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); -void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); -void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); - -class facebook::react::jsinspector_modern::BoundedRequestBuffer { - public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; - public std::shared_ptr get(const std::string& requestId) const; - public void clear(); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { - public bool base64Encoded; - public std::string data; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { } -class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { - public CallbackLocalConnection(std::function handler); - public virtual void disconnect() override; - public virtual void sendMessage(std::string message) override; +struct facebook::react::Bridging { + public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); } -class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public CallbackRemoteConnection(std::function handler); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); } -class facebook::react::jsinspector_modern::ConsoleTask { - public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; - public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; - public ConsoleTask(std::shared_ptr taskContext); - public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; - public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; - public ~ConsoleTask(); +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { - public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); - public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskId id() const; - public std::optional getSerializedStackTrace() const; - public void schedule(); - public ~ConsoleTaskContext(); +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); } -class facebook::react::jsinspector_modern::ConsoleTaskId { - public ConsoleTaskId() = default; - public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public operator bool() const; - public operator void *() const; - public ~ConsoleTaskId() = default; -} - -class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { - public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); - public std::shared_ptr top() const; - public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); - public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public ~ConsoleTaskOrchestrator() = default; -} - -class facebook::react::jsinspector_modern::EmulationAgent { - public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); -} - -class facebook::react::jsinspector_modern::ExecutionContextManager { - public int32_t allocateExecutionContextId(); -} - -class facebook::react::jsinspector_modern::ExecutionContextSelector { - public ExecutionContextSelector() = delete; - public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; - public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); - public ~ExecutionContextSelector() = default; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public FallbackRuntimeTargetDelegate(std::string engineDescription); - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; -} - -class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); - public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; - public ~HermesRuntimeTargetDelegate() override; -} - -class facebook::react::jsinspector_modern::HostAgent { - public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); - public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public bool isEligibleForBackgroundTrace() const; - public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public void emitSystemStateChanged(bool isSingleHost); - public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void setCurrentInstanceAgent(std::shared_ptr agent); - public ~HostAgent(); -} - -class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public bool stopAndMaybeEmitBackgroundTrace(); - public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public std::unique_ptr connect(std::unique_ptr connectionToFrontend); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); - public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); - public ~HostTarget(); -} - -class facebook::react::jsinspector_modern::HostTargetController { - public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); - public bool decrementPauseOverlayCounter(); - public bool hasInstance() const; - public bool maybeEmitStashedBackgroundTrace(); - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public void incrementPauseOverlayCounter(); -} - -class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public HostTargetDelegate() = default; - public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&); - public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; - public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); - public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&); - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; - public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; - public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; - public virtual ~HostTargetDelegate() override; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; - public std::optional message; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest { - public std::optional quality; - public std::optional format; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; - public std::optional ignoreCache; - public std::optional scriptToEvaluateOnLoad; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest& rhs) const; - public std::string colorScheme; -} - -class facebook::react::jsinspector_modern::HostTargetTraceRecording { - public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public bool isBackgroundInitiated() const; - public bool isUserInitiated() const; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); - public void start(); -} - -class facebook::react::jsinspector_modern::HostTargetTracingDelegate { - public HostTargetTracingDelegate() = default; - public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); - public virtual void onTracingStopped(); - public virtual ~HostTargetTracingDelegate() = default; -} - -class facebook::react::jsinspector_modern::HostTracingAgent { - public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); -} - -class facebook::react::jsinspector_modern::IDestructible { - public virtual ~IDestructible() = 0; -} - -class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { - public using ConnectFunc = std::function(std::unique_ptr)>; - public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; - public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; - public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; - public virtual std::vector getPages() const = 0; - public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; - public virtual void removePage(int pageId) = 0; - public virtual ~IInspector() = 0; -} - -class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void disconnect() = 0; - public virtual void sendMessage(std::string message) = 0; - public virtual ~ILocalConnection() = 0; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); } -class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onPageRemoved(int); - public virtual ~IPageStatusListener() = 0; +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onDisconnect() = 0; - public virtual void onMessage(std::string message) = 0; - public virtual ~IRemoteConnection() = 0; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -class facebook::react::jsinspector_modern::IWebSocket { - public virtual void send(std::string_view message) = 0; - public virtual ~IWebSocket() = default; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -class facebook::react::jsinspector_modern::IWebSocketDelegate { - public virtual void didClose() = 0; - public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; - public virtual void didOpen() = 0; - public virtual void didReceiveMessage(std::string_view message) = 0; - public virtual ~IWebSocketDelegate() = default; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::InspectorFlags { - public InspectorFlags(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public bool getAssertSingleHostState() const; - public bool getFrameRecordingEnabled() const; - public bool getFuseboxEnabled() const; - public bool getIsProfilingBuild() const; - public bool getPerfIssuesEnabled() const; - public bool getScreenshotCaptureEnabled() const; - public facebook::react::jsinspector_modern::InspectorFlags& operator=(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); - public void dangerouslyDisableFuseboxForTest(); - public void dangerouslyResetFlags(); +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::InspectorPackagerConnection { - public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public bool isConnected() const; - public void closeQuietly(); - public void connect(); - public void sendEventToAllConnections(std::string event); +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { - public bool isConnected() const; - public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public using SessionId = uint32_t; - public void closeQuietly(); - public void connect(); - public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); - public void sendEventToAllConnections(const std::string& event); +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { - public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; - public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; - public virtual ~InspectorPackagerConnectionDelegate() = default; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); } -class facebook::react::jsinspector_modern::InstanceAgent { - public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { } -class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); - public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); - public ~InstanceTarget(); +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::InstanceTargetDelegate { - public InstanceTargetDelegate() = default; - public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public virtual ~InstanceTargetDelegate(); +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -class facebook::react::jsinspector_modern::InstanceTracingAgent { - public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); - public ~InstanceTracingAgent(); -} + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& viewProps); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& viewProps); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps& viewProps); + class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnection : public jni::HybridClass { public static constexpr auto kJavaDescriptor; @@ -10919,250 +5304,6 @@ class facebook::react::jsinspector_modern::JInspectorNetworkReporter : public jn public static void reportWebSocketWillSendHandshakeRequest(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref> headers); } -class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public LoadNetworkResourceDelegate() = default; - public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; - public virtual ~LoadNetworkResourceDelegate() = default; -} - -class facebook::react::jsinspector_modern::NetworkHandler { - public bool isEnabled() const; - public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); - public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); - public std::optional> getResponseBody(const std::string& requestId); - public void disableAgent(size_t agentId); - public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); - public void onLoadingFailed(const std::string& requestId, bool cancelled); - public void onLoadingFinished(const std::string& requestId, int encodedDataLength); - public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); - public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); - public void onWebSocketClosed(const std::string& requestId); - public void onWebSocketCreated(const std::string& requestId, const std::string& url); - public void onWebSocketFrameReceived(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketFrameSent(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t status, const facebook::react::jsinspector_modern::Headers& headers); - public void onWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::jsinspector_modern::NetworkIOAgent { - public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); - public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public ~NetworkIOAgent(); -} - -class facebook::react::jsinspector_modern::NetworkRequestListener { - public NetworkRequestListener() = default; - public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public virtual void onCompletion() = 0; - public virtual void onData(std::string_view data) = 0; - public virtual void onError(const std::string& message) = 0; - public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; - public virtual void setCancelFunction(std::function cancelFunction) = 0; - public virtual ~NetworkRequestListener() = default; -} - -class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { - public NotImplementedException(std::string message); - public const char* what() const noexcept override; -} - -class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { -} - -class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { - public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); - public void handlePerfIssueAdded(const std::string& message); -} - -class facebook::react::jsinspector_modern::RAIIRemoteConnection { - public RAIIRemoteConnection(std::unique_ptr remote); - public void onMessage(std::string message); - public ~RAIIRemoteConnection(); -} - -class facebook::react::jsinspector_modern::RuntimeAgent { - public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); - public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); - public void notifyFastRefreshComplete(); - public ~RuntimeAgent(); -} - -struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { - public std::unique_ptr delegateState; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; - public virtual std::unique_ptr getExportedState(); - public virtual ~RuntimeAgentDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { - public virtual ~ExportedState() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public ~RuntimeTarget(); -} - -class facebook::react::jsinspector_modern::RuntimeTargetController { - public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); - public void disableSamplingProfiler(); - public void emitTracingStateChange(bool isTracing); - public void enableSamplingProfiler(); - public void installBindingHandler(const std::string& bindingName); - public void installScriptToEvaluateOnNewDocument(const std::string& source); - public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); -} - -enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { - Log, - Network, - Runtime, - kMaxValue, -} - -class facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public virtual bool supportsConsole() const = 0; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; - public virtual void disableSamplingProfiler() = 0; - public virtual void enableSamplingProfiler() = 0; - public virtual ~RuntimeTargetDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); - public ~RuntimeTracingAgent(); -} - -class facebook::react::jsinspector_modern::StackTrace { - public StackTrace() = default; - public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public static std::unique_ptr empty(); - public virtual ~StackTrace() = default; -} - -class facebook::react::jsinspector_modern::TracingAgent { - public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public ~TracingAgent(); -} - -enum facebook::react::jsinspector_modern::ConsoleAPIType { - kAssert, - kClear, - kCount, - kDebug, - kDir, - kDirXML, - kEndGroup, - kError, - kInfo, - kLog, - kStartGroup, - kStartGroupCollapsed, - kTable, - kTimeEnd, - kTrace, - kWarning, -} - -enum facebook::react::jsinspector_modern::HostCommand { - DebuggerResume, - DebuggerStepOver, -} - -struct facebook::react::jsinspector_modern::ConsoleMessage { - public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); - public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public std::unique_ptr stackTrace; - public std::vector args; - public ~ConsoleMessage() = default; -} - -struct facebook::react::jsinspector_modern::ExecutionContextDescription { - public int32_t id; - public std::optional uniqueId; - public std::string name; - public std::string origin; -} - -struct facebook::react::jsinspector_modern::GetResponseBodyResult { - public bool base64Encoded; - public folly::dynamic toDynamic() const; - public std::string body; -} - -struct facebook::react::jsinspector_modern::HostTargetMetadata { - public std::optional appDisplayName; - public std::optional appIdentifier; - public std::optional deviceName; - public std::optional integrationName; - public std::optional platform; - public std::optional reactNativeVersion; -} - -struct facebook::react::jsinspector_modern::IOReadResult { - public bool base64Encoded; - public bool eof; - public folly::dynamic toDynamic() const; - public std::string data; -} - -struct facebook::react::jsinspector_modern::InspectorPageDescription { - public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; - public const int id; - public const std::string description; - public const std::string vm; -} - -struct facebook::react::jsinspector_modern::InspectorSystemState { - public int registeredHostsCount; -} - -struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { - public bool nativePageReloads; - public bool nativeSourceCodeFetching; -} - struct facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionDelegateImpl : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; public std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate); @@ -11176,624 +5317,13 @@ class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionDelega public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) override; } -struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { - public std::string url; -} - -struct facebook::react::jsinspector_modern::NetworkResource { - public bool success; - public folly::dynamic toDynamic() const; - public std::optional headers; - public std::optional netErrorName; - public std::optional stream; - public std::optional httpStatusCode; -} - -struct facebook::react::jsinspector_modern::PerfIssuePayload { - public std::optional description; - public std::optional learnMoreUrl; - public std::optional severity; - public std::string name; -} - -struct facebook::react::jsinspector_modern::ReadStreamParams { - public facebook::react::jsinspector_modern::StreamID handle; - public std::optional offset; - public std::optional size; -} - -struct facebook::react::jsinspector_modern::SessionState { - public bool hasPendingTraceRecording; - public bool isDebuggerDomainEnabled; - public bool isLogDomainEnabled; - public bool isNetworkDomainEnabled; - public bool isReactNativeApplicationDomainEnabled; - public bool isRuntimeDomainEnabled; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; - public std::unordered_map subscribedBindings; - public std::vector scriptsToEvaluateOnNewDocument; - public std::vector pendingSimpleConsoleMessages; - public unsigned int nextScriptToEvaluateOnNewDocumentId; -} - -struct facebook::react::jsinspector_modern::SessionState::ScriptToEvaluateOnNewDocument { - public std::string identifier; - public std::string source; -} - -struct facebook::react::jsinspector_modern::SimpleConsoleMessage { - public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public std::vector args; - public ~SimpleConsoleMessage() = default; -} - -template -class facebook::react::jsinspector_modern::EnumArray { - public constexpr ValueType& operator[](IndexType i); - public constexpr const ValueType& operator[](IndexType i) const; - public constexpr int size() const; -} - -template -struct facebook::react::jsinspector_modern::UniqueMonostate { - public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; -} - -template -class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { - public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); - public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); - template - public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -} - -template -class facebook::react::jsinspector_modern::WeakList { - public bool empty() const; - public size_t size() const; - public void insert(std::weak_ptr ptr); - template - public bool anyOf(Fn&& fn) const; - template - public bool anyOf(Fn&& fn); - template - public void forEach(Fn&& fn) const; - template - public void forEach(Fn&& fn); -} - - -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; -using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; -using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; -using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; -using facebook::react::jsinspector_modern::tracing::Headers = std::map; -using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; -using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; -using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; -int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); -std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); -std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); -std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); -std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); - -class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { - public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { - public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); - public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); - public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); -} - -class facebook::react::jsinspector_modern::tracing::PerformanceTracer { - public bool isTracing() const; - public bool startTracing(); - public bool startTracing(facebook::react::HighResDuration maxDuration); - public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); - public std::optional> stopTracing(); - public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); - public using TracingStateCallback = std::function; - public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); - public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); - public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); - public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); - public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); - public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); - public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); - public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); -} - -class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { - public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); - public bool hasParent() const; - public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; - public static constexpr uint32_t NO_PARENT; - public uint32_t getId() const; - public uint32_t getParentId() const; -} - -enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { - JavaScript, - Other, -} - -class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public virtual ~RawRuntimeProfile() = default; -} - -class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { - public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); - public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); -} - -class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; - public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public bool isRunningInBackgroundMode(); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { - public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); - public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { - public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); - public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); - public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); - public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); - public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); - public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); - public static size_t estimateJsonSize(const folly::dynamic& value); -} - -enum facebook::react::jsinspector_modern::tracing::Category { - Frame, - HiddenTimeline, - JavaScriptSampling, - RuntimeExecution, - Screenshot, - Timeline, - UserTiming, -} - -enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { - Error, - Primary, - PrimaryDark, - PrimaryLight, - Secondary, - SecondaryDark, - SecondaryLight, - Tertiary, - TertiaryDark, - TertiaryLight, - Warning, -} - -enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { - Microtasks, - Task, -} - -enum facebook::react::jsinspector_modern::tracing::Mode { - Background, - CDP, -} - -struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { - public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public ~EventLoopReporter(); -} - -struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { - public FrameTimingSequence() = delete; - public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); - public facebook::react::HighResDuration vsyncInterval; - public facebook::react::HighResTimeStamp beginTimestamp; - public facebook::react::HighResTimeStamp endTimestamp; - public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::optional> screenshot; -} - -struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { - public HostTracingProfile() = default; - public HostTracingProfile(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public HostTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public std::vector frameTimings; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~HostTracingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::IdGenerator { - public uint32_t getNext(); -} - -struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { - public std::vector performanceTraceEvents; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { - public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public std::string runtimeName; - public std::unique_ptr rawRuntimeProfile; - public std::vector samples; - public ~RuntimeSamplingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { - public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::vector callStack; - public uint64_t timestamp; - public ~Sample() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { - public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; - public std::optional scriptURL; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string_view functionName; - public uint32_t scriptId; -} - -enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { - GarbageCollector, - HostFunction, - JSFunction, - NativeFunction, -} - -struct facebook::react::jsinspector_modern::tracing::TraceEvent { - public char ph; - public facebook::react::HighResTimeStamp ts; - public facebook::react::jsinspector_modern::tracing::Categories cat; - public facebook::react::jsinspector_modern::tracing::ProcessId pid; - public facebook::react::jsinspector_modern::tracing::ThreadId tid; - public folly::dynamic args; - public std::optional s; - public std::optional dur; - public std::optional id; - public std::string name; -} - -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; - public using TimeDeltas = std::vector; -} - -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { - public std::vector nodes; - public std::vector samples; -} - -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; - public std::optional parentId; - public uint32_t id; -} - -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { - public std::optional url; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string codeType; - public std::string functionName; - public uint32_t scriptId; -} - -struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { - public TraceRecordingState(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public facebook::react::jsinspector_modern::tracing::Mode mode; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public std::optional windowSize; - public std::set enabledCategories; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~TraceRecordingState() = default; -} +const char* facebook::react::exceptions::gUnexpectedNativeTypeExceptionClass; template -class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { - public TimeWindowedBuffer(); - public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); - public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); - public using TimestampAccessor = std::function; - public void clear(); - public void push(T&& element); - public void push(const T& element); -} - -template -class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { - public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; - public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public ~PerformanceTracerSection() noexcept; -} - - -using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; -using facebook::react::jsinspector_modern::cdp::RequestId = long long; -using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; -facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); -std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); - -enum facebook::react::jsinspector_modern::cdp::ErrorCode { - InternalError, - InvalidParams, - InvalidRequest, - MethodNotFound, - ParseError, -} - -struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { - public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; - public facebook::react::jsinspector_modern::cdp::RequestId id; - public folly::dynamic params; - public std::string method; - public std::string toJson() const; -} - - -using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; -std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); - -struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { - public double requestTime; -} - -struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int dataLength; - public int encodedDataLength; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { - public bool canceled; - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string errorText; - public std::string requestId; - public std::string type; -} - -struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::Request { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::optional postData; - public std::string method; - public std::string url; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { - public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { - public bool redirectHasExtraInfo; - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Request request; - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::optional redirectResponse; - public std::string documentURL; - public std::string loaderId; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::Response { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); - public std::string mimeType; - public std::string statusText; - public std::string url; - public uint16_t status; -} - -struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { - public bool hasExtraInfo; - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::Response response; - public folly::dynamic toDynamic() const; - public std::string loaderId; - public std::string requestId; - public std::string type; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketClosedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketCreatedParams { - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::string requestId; - public std::string url; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrame { - public bool mask; - public folly::dynamic toDynamic() const; - public int opcode; - public std::string payloadData; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrameParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketFrame response; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketHandshakeResponseReceivedParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketResponse response; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketResponse { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public static facebook::react::jsinspector_modern::cdp::network::WebSocketResponse fromInputParams(uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers); - public std::string statusText; - public uint16_t status; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketWillSendHandshakeRequestParams { - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - - -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; -bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); -facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); -std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); -std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); - -struct facebook::react::dom::DOMBorderWidthRounded { - public int bottom; - public int left; - public int right; - public int top; -} - -struct facebook::react::dom::DOMOffset { - public double left; - public double top; - public std::shared_ptr offsetParent; -} - -struct facebook::react::dom::DOMPoint { - public double x; - public double y; -} - -struct facebook::react::dom::DOMRect { - public double height; - public double width; - public double x; - public double y; -} - -struct facebook::react::dom::DOMSizeRounded { - public int height; - public int width; -} - -struct facebook::react::dom::RNMeasureRect { - public double height; - public double pageX; - public double pageY; - public double width; - public double x; - public double y; -} +void facebook::react::exceptions::throwIfObjectAlreadyConsumed(const T& t, const char* msg); -static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; +constexpr facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; std::shared_ptr facebook::react::CoreComponentsRegistry::sharedProviderRegistry(); @@ -11933,6 +5463,16 @@ struct facebook::react::array_detail::BridgingDynamic { } +template +C facebook::react::detail::memberFunctionClass(T C::*); + +class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { + public OwnedBytesBuffer(std::vector bytes) noexcept; + public virtual size_t size() const override; + public virtual uint8_t* data() override; +} + + template struct facebook::react::map_detail::Bridging { public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); @@ -11940,112 +5480,6 @@ struct facebook::react::map_detail::Bridging { } -uint64_t facebook::react::oscompat::getCurrentProcessId(); -uint64_t facebook::react::oscompat::getCurrentThreadId(); - - -using facebook::react::ReactMarker::LogTaggedMarker = std::function; -using facebook::react::ReactMarker::LogTaggedMarkerBridgeless = facebook::react::ReactMarker::LogTaggedMarker; -void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); -void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -facebook::react::ReactMarker::AtomicLogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; - -class facebook::react::ReactMarker::StartupLogger { - public double getAppStartupEndTime(); - public double getAppStartupStartTime(); - public double getInitReactRuntimeStartTime(); - public double getRunJSBundleStartTime(); - public static facebook::react::ReactMarker::StartupLogger& getInstance(); - public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); - public void reset(); -} - -enum facebook::react::ReactMarker::ReactMarkerId { - APP_STARTUP_START, - APP_STARTUP_STOP, - CREATE_REACT_CONTEXT_STOP, - INIT_REACT_RUNTIME_START, - INIT_REACT_RUNTIME_STOP, - JS_BUNDLE_STRING_CONVERT_START, - JS_BUNDLE_STRING_CONVERT_STOP, - NATIVE_MODULE_SETUP_START, - NATIVE_MODULE_SETUP_STOP, - NATIVE_REQUIRE_START, - NATIVE_REQUIRE_STOP, - REACT_INSTANCE_INIT_START, - REACT_INSTANCE_INIT_STOP, - REGISTER_JS_SEGMENT_START, - REGISTER_JS_SEGMENT_STOP, - RUN_JS_BUNDLE_START, - RUN_JS_BUNDLE_STOP, -} - -struct facebook::react::ReactMarker::AtomicLogTaggedMarker { - public facebook::react::ReactMarker::AtomicLogTaggedMarker& operator=(facebook::react::ReactMarker::LogTaggedMarker marker); - public operator bool() const noexcept; - public void operator()(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag) const; -} - -struct facebook::react::ReactMarker::ReactMarkerEvent { - public const char* tag; - public const facebook::react::ReactMarker::ReactMarkerId markerId; - public double time; -} - - -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); -void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); - - -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); - - -void facebook::react::LowPriorityExecutor::execute(std::function&& workItem); - - void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); @@ -12089,9 +5523,6 @@ void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); -std::unique_ptr facebook::jsc::makeJSCRuntime(); - - using facebook::jsi::HostFunctionType = std::function; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); @@ -13953,22 +7384,10 @@ class facebook::yoga::vanillajni::ScopedLocalRef { void facebook::gloginit::initialize(const char* tag = "ReactNativeJNI"); -struct std::hash { - public size_t operator()(const facebook::react::AttributedString& attributedString) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; -} - struct std::hash { public size_t operator()(const facebook::react::Color& color) const; } -struct std::hash { - public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; } @@ -13977,30 +7396,14 @@ struct std::hash { public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; } -struct std::hash { - public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; -} - struct std::hash { public size_t operator()(const facebook::react::Point& point) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Rect& rect) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::ShadowView& shadowView) const; -} - struct std::hash { public size_t operator()(const facebook::react::SharedColor& color) const; } @@ -14009,18 +7412,6 @@ struct std::hash { public size_t operator()(const facebook::react::Size& size) const; } -struct std::hash { - public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextEffectInfo& info) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Transform& transform) const; } @@ -14035,22 +7426,5 @@ struct std::hash> { public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; -} - -template -struct std::hash> { - public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; -} - void YGJNIVanilla::registerNatives(JNIEnv* env); \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api new file mode 100644 index 000000000000..94b218539544 --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api @@ -0,0 +1,12313 @@ +// @generated by scripts/cxx-api + +class PtrJNodeMapVanilla { + public PtrJNodeMapVanilla() = default; + public PtrJNodeMapVanilla(jlongArray javaNativePointers, jobjectArray javaNodes); + public facebook::yoga::vanillajni::ScopedLocalRef ref(YGNodeConstRef node); +} + +struct JNIInvokeInterface { + public jint(*AttachCurrentThread)(JavaVM *, JNIEnv **, void *); + public jint(*AttachCurrentThreadAsDaemon)(JavaVM *, JNIEnv **, void *); + public jint(*DestroyJavaVM)(JavaVM *); + public jint(*DetachCurrentThread)(JavaVM *); + public jint(*GetEnv)(JavaVM *, void **, jint); + public void* reserved0; + public void* reserved1; + public void* reserved2; +} + +struct JNINativeInterface { + public const char*(*GetStringUTFChars)(JNIEnv *, jstring, jboolean *); + public const jchar*(*GetStringChars)(JNIEnv *, jstring, jboolean *); + public const jchar*(*GetStringCritical)(JNIEnv *, jstring, jboolean *); + public jboolean(*CallBooleanMethod)(JNIEnv *, jobject, jmethodID, ...); + public jboolean(*CallBooleanMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jboolean(*CallBooleanMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jboolean(*CallNonvirtualBooleanMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jboolean(*CallNonvirtualBooleanMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jboolean(*CallNonvirtualBooleanMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jboolean(*CallStaticBooleanMethod)(JNIEnv *, jclass, jmethodID, ...); + public jboolean(*CallStaticBooleanMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jboolean(*CallStaticBooleanMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jboolean(*ExceptionCheck)(JNIEnv *); + public jboolean(*GetBooleanField)(JNIEnv *, jobject, jfieldID); + public jboolean(*GetStaticBooleanField)(JNIEnv *, jclass, jfieldID); + public jboolean(*IsAssignableFrom)(JNIEnv *, jclass, jclass); + public jboolean(*IsInstanceOf)(JNIEnv *, jobject, jclass); + public jboolean(*IsSameObject)(JNIEnv *, jobject, jobject); + public jboolean*(*GetBooleanArrayElements)(JNIEnv *, jbooleanArray, jboolean *); + public jbooleanArray(*NewBooleanArray)(JNIEnv *, jsize); + public jbyte(*CallByteMethod)(JNIEnv *, jobject, jmethodID, ...); + public jbyte(*CallByteMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jbyte(*CallByteMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jbyte(*CallNonvirtualByteMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jbyte(*CallNonvirtualByteMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jbyte(*CallNonvirtualByteMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jbyte(*CallStaticByteMethod)(JNIEnv *, jclass, jmethodID, ...); + public jbyte(*CallStaticByteMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jbyte(*CallStaticByteMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jbyte(*GetByteField)(JNIEnv *, jobject, jfieldID); + public jbyte(*GetStaticByteField)(JNIEnv *, jclass, jfieldID); + public jbyte*(*GetByteArrayElements)(JNIEnv *, jbyteArray, jboolean *); + public jbyteArray(*NewByteArray)(JNIEnv *, jsize); + public jchar(*CallCharMethod)(JNIEnv *, jobject, jmethodID, ...); + public jchar(*CallCharMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jchar(*CallCharMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jchar(*CallNonvirtualCharMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jchar(*CallNonvirtualCharMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jchar(*CallNonvirtualCharMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jchar(*CallStaticCharMethod)(JNIEnv *, jclass, jmethodID, ...); + public jchar(*CallStaticCharMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jchar(*CallStaticCharMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jchar(*GetCharField)(JNIEnv *, jobject, jfieldID); + public jchar(*GetStaticCharField)(JNIEnv *, jclass, jfieldID); + public jchar*(*GetCharArrayElements)(JNIEnv *, jcharArray, jboolean *); + public jcharArray(*NewCharArray)(JNIEnv *, jsize); + public jclass(*DefineClass)(JNIEnv *, const char *, jobject, const jbyte *, jsize); + public jclass(*FindClass)(JNIEnv *, const char *); + public jclass(*GetObjectClass)(JNIEnv *, jobject); + public jclass(*GetSuperclass)(JNIEnv *, jclass); + public jdouble(*CallDoubleMethod)(JNIEnv *, jobject, jmethodID, ...); + public jdouble(*CallDoubleMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jdouble(*CallDoubleMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jdouble(*CallNonvirtualDoubleMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jdouble(*CallNonvirtualDoubleMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jdouble(*CallNonvirtualDoubleMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jdouble(*CallStaticDoubleMethod)(JNIEnv *, jclass, jmethodID, ...); + public jdouble(*CallStaticDoubleMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jdouble(*CallStaticDoubleMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jdouble(*GetDoubleField)(JNIEnv *, jobject, jfieldID); + public jdouble(*GetStaticDoubleField)(JNIEnv *, jclass, jfieldID); + public jdouble*(*GetDoubleArrayElements)(JNIEnv *, jdoubleArray, jboolean *); + public jdoubleArray(*NewDoubleArray)(JNIEnv *, jsize); + public jfieldID(*FromReflectedField)(JNIEnv *, jobject); + public jfieldID(*GetFieldID)(JNIEnv *, jclass, const char *, const char *); + public jfieldID(*GetStaticFieldID)(JNIEnv *, jclass, const char *, const char *); + public jfloat(*CallFloatMethod)(JNIEnv *, jobject, jmethodID, ...); + public jfloat(*CallFloatMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jfloat(*CallFloatMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jfloat(*CallNonvirtualFloatMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jfloat(*CallNonvirtualFloatMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jfloat(*CallNonvirtualFloatMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jfloat(*CallStaticFloatMethod)(JNIEnv *, jclass, jmethodID, ...); + public jfloat(*CallStaticFloatMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jfloat(*CallStaticFloatMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jfloat(*GetFloatField)(JNIEnv *, jobject, jfieldID); + public jfloat(*GetStaticFloatField)(JNIEnv *, jclass, jfieldID); + public jfloat*(*GetFloatArrayElements)(JNIEnv *, jfloatArray, jboolean *); + public jfloatArray(*NewFloatArray)(JNIEnv *, jsize); + public jint(*CallIntMethod)(JNIEnv *, jobject, jmethodID, ...); + public jint(*CallIntMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jint(*CallIntMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jint(*CallNonvirtualIntMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jint(*CallNonvirtualIntMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jint(*CallNonvirtualIntMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jint(*CallStaticIntMethod)(JNIEnv *, jclass, jmethodID, ...); + public jint(*CallStaticIntMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jint(*CallStaticIntMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jint(*EnsureLocalCapacity)(JNIEnv *, jint); + public jint(*GetIntField)(JNIEnv *, jobject, jfieldID); + public jint(*GetJavaVM)(JNIEnv *, JavaVM **); + public jint(*GetStaticIntField)(JNIEnv *, jclass, jfieldID); + public jint(*GetVersion)(JNIEnv *); + public jint(*MonitorEnter)(JNIEnv *, jobject); + public jint(*MonitorExit)(JNIEnv *, jobject); + public jint(*PushLocalFrame)(JNIEnv *, jint); + public jint(*RegisterNatives)(JNIEnv *, jclass, const JNINativeMethod*, jint); + public jint(*Throw)(JNIEnv *, jthrowable); + public jint(*ThrowNew)(JNIEnv *, jclass, const char *); + public jint(*UnregisterNatives)(JNIEnv *, jclass); + public jint*(*GetIntArrayElements)(JNIEnv *, jintArray, jboolean *); + public jintArray(*NewIntArray)(JNIEnv *, jsize); + public jlong(*CallLongMethod)(JNIEnv *, jobject, jmethodID, ...); + public jlong(*CallLongMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jlong(*CallLongMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jlong(*CallNonvirtualLongMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jlong(*CallNonvirtualLongMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jlong(*CallNonvirtualLongMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jlong(*CallStaticLongMethod)(JNIEnv *, jclass, jmethodID, ...); + public jlong(*CallStaticLongMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jlong(*CallStaticLongMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jlong(*GetDirectBufferCapacity)(JNIEnv *, jobject); + public jlong(*GetLongField)(JNIEnv *, jobject, jfieldID); + public jlong(*GetStaticLongField)(JNIEnv *, jclass, jfieldID); + public jlong*(*GetLongArrayElements)(JNIEnv *, jlongArray, jboolean *); + public jlongArray(*NewLongArray)(JNIEnv *, jsize); + public jmethodID(*FromReflectedMethod)(JNIEnv *, jobject); + public jmethodID(*GetMethodID)(JNIEnv *, jclass, const char *, const char *); + public jmethodID(*GetStaticMethodID)(JNIEnv *, jclass, const char *, const char *); + public jobject(*AllocObject)(JNIEnv *, jclass); + public jobject(*CallNonvirtualObjectMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jobject(*CallNonvirtualObjectMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jobject(*CallNonvirtualObjectMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jobject(*CallObjectMethod)(JNIEnv *, jobject, jmethodID, ...); + public jobject(*CallObjectMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jobject(*CallObjectMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jobject(*CallStaticObjectMethod)(JNIEnv *, jclass, jmethodID, ...); + public jobject(*CallStaticObjectMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jobject(*CallStaticObjectMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jobject(*GetObjectArrayElement)(JNIEnv *, jobjectArray, jsize); + public jobject(*GetObjectField)(JNIEnv *, jobject, jfieldID); + public jobject(*GetStaticObjectField)(JNIEnv *, jclass, jfieldID); + public jobject(*NewDirectByteBuffer)(JNIEnv *, void *, jlong); + public jobject(*NewGlobalRef)(JNIEnv *, jobject); + public jobject(*NewLocalRef)(JNIEnv *, jobject); + public jobject(*NewObject)(JNIEnv *, jclass, jmethodID, ...); + public jobject(*NewObjectA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jobject(*NewObjectV)(JNIEnv *, jclass, jmethodID, va_list); + public jobject(*PopLocalFrame)(JNIEnv *, jobject); + public jobject(*ToReflectedField)(JNIEnv *, jclass, jfieldID, jboolean); + public jobject(*ToReflectedMethod)(JNIEnv *, jclass, jmethodID, jboolean); + public jobjectArray(*NewObjectArray)(JNIEnv *, jsize, jclass, jobject); + public jobjectRefType(*GetObjectRefType)(JNIEnv *, jobject); + public jshort(*CallNonvirtualShortMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public jshort(*CallNonvirtualShortMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public jshort(*CallNonvirtualShortMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public jshort(*CallShortMethod)(JNIEnv *, jobject, jmethodID, ...); + public jshort(*CallShortMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public jshort(*CallShortMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public jshort(*CallStaticShortMethod)(JNIEnv *, jclass, jmethodID, ...); + public jshort(*CallStaticShortMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public jshort(*CallStaticShortMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public jshort(*GetShortField)(JNIEnv *, jobject, jfieldID); + public jshort(*GetStaticShortField)(JNIEnv *, jclass, jfieldID); + public jshort*(*GetShortArrayElements)(JNIEnv *, jshortArray, jboolean *); + public jshortArray(*NewShortArray)(JNIEnv *, jsize); + public jsize(*GetArrayLength)(JNIEnv *, jarray); + public jsize(*GetStringLength)(JNIEnv *, jstring); + public jsize(*GetStringUTFLength)(JNIEnv *, jstring); + public jstring(*NewString)(JNIEnv *, const jchar *, jsize); + public jstring(*NewStringUTF)(JNIEnv *, const char *); + public jthrowable(*ExceptionOccurred)(JNIEnv *); + public jweak(*NewWeakGlobalRef)(JNIEnv *, jobject); + public void(*CallNonvirtualVoidMethod)(JNIEnv *, jobject, jclass, jmethodID, ...); + public void(*CallNonvirtualVoidMethodA)(JNIEnv *, jobject, jclass, jmethodID, jvalue*); + public void(*CallNonvirtualVoidMethodV)(JNIEnv *, jobject, jclass, jmethodID, va_list); + public void(*CallStaticVoidMethod)(JNIEnv *, jclass, jmethodID, ...); + public void(*CallStaticVoidMethodA)(JNIEnv *, jclass, jmethodID, jvalue*); + public void(*CallStaticVoidMethodV)(JNIEnv *, jclass, jmethodID, va_list); + public void(*CallVoidMethod)(JNIEnv *, jobject, jmethodID, ...); + public void(*CallVoidMethodA)(JNIEnv *, jobject, jmethodID, jvalue*); + public void(*CallVoidMethodV)(JNIEnv *, jobject, jmethodID, va_list); + public void(*DeleteGlobalRef)(JNIEnv *, jobject); + public void(*DeleteLocalRef)(JNIEnv *, jobject); + public void(*DeleteWeakGlobalRef)(JNIEnv *, jweak); + public void(*ExceptionClear)(JNIEnv *); + public void(*ExceptionDescribe)(JNIEnv *); + public void(*FatalError)(JNIEnv *, const char *); + public void(*GetBooleanArrayRegion)(JNIEnv *, jbooleanArray, jsize, jsize, jboolean *); + public void(*GetByteArrayRegion)(JNIEnv *, jbyteArray, jsize, jsize, jbyte *); + public void(*GetCharArrayRegion)(JNIEnv *, jcharArray, jsize, jsize, jchar *); + public void(*GetDoubleArrayRegion)(JNIEnv *, jdoubleArray, jsize, jsize, jdouble *); + public void(*GetFloatArrayRegion)(JNIEnv *, jfloatArray, jsize, jsize, jfloat *); + public void(*GetIntArrayRegion)(JNIEnv *, jintArray, jsize, jsize, jint *); + public void(*GetLongArrayRegion)(JNIEnv *, jlongArray, jsize, jsize, jlong *); + public void(*GetShortArrayRegion)(JNIEnv *, jshortArray, jsize, jsize, jshort *); + public void(*GetStringRegion)(JNIEnv *, jstring, jsize, jsize, jchar *); + public void(*GetStringUTFRegion)(JNIEnv *, jstring, jsize, jsize, char *); + public void(*ReleaseBooleanArrayElements)(JNIEnv *, jbooleanArray, jboolean *, jint); + public void(*ReleaseByteArrayElements)(JNIEnv *, jbyteArray, jbyte *, jint); + public void(*ReleaseCharArrayElements)(JNIEnv *, jcharArray, jchar *, jint); + public void(*ReleaseDoubleArrayElements)(JNIEnv *, jdoubleArray, jdouble *, jint); + public void(*ReleaseFloatArrayElements)(JNIEnv *, jfloatArray, jfloat *, jint); + public void(*ReleaseIntArrayElements)(JNIEnv *, jintArray, jint *, jint); + public void(*ReleaseLongArrayElements)(JNIEnv *, jlongArray, jlong *, jint); + public void(*ReleasePrimitiveArrayCritical)(JNIEnv *, jarray, void *, jint); + public void(*ReleaseShortArrayElements)(JNIEnv *, jshortArray, jshort *, jint); + public void(*ReleaseStringChars)(JNIEnv *, jstring, const jchar *); + public void(*ReleaseStringCritical)(JNIEnv *, jstring, const jchar *); + public void(*ReleaseStringUTFChars)(JNIEnv *, jstring, const char *); + public void(*SetBooleanArrayRegion)(JNIEnv *, jbooleanArray, jsize, jsize, const jboolean *); + public void(*SetBooleanField)(JNIEnv *, jobject, jfieldID, jboolean); + public void(*SetByteArrayRegion)(JNIEnv *, jbyteArray, jsize, jsize, const jbyte *); + public void(*SetByteField)(JNIEnv *, jobject, jfieldID, jbyte); + public void(*SetCharArrayRegion)(JNIEnv *, jcharArray, jsize, jsize, const jchar *); + public void(*SetCharField)(JNIEnv *, jobject, jfieldID, jchar); + public void(*SetDoubleArrayRegion)(JNIEnv *, jdoubleArray, jsize, jsize, const jdouble *); + public void(*SetDoubleField)(JNIEnv *, jobject, jfieldID, jdouble); + public void(*SetFloatArrayRegion)(JNIEnv *, jfloatArray, jsize, jsize, const jfloat *); + public void(*SetFloatField)(JNIEnv *, jobject, jfieldID, jfloat); + public void(*SetIntArrayRegion)(JNIEnv *, jintArray, jsize, jsize, const jint *); + public void(*SetIntField)(JNIEnv *, jobject, jfieldID, jint); + public void(*SetLongArrayRegion)(JNIEnv *, jlongArray, jsize, jsize, const jlong *); + public void(*SetLongField)(JNIEnv *, jobject, jfieldID, jlong); + public void(*SetObjectArrayElement)(JNIEnv *, jobjectArray, jsize, jobject); + public void(*SetObjectField)(JNIEnv *, jobject, jfieldID, jobject); + public void(*SetShortArrayRegion)(JNIEnv *, jshortArray, jsize, jsize, const jshort *); + public void(*SetShortField)(JNIEnv *, jobject, jfieldID, jshort); + public void(*SetStaticBooleanField)(JNIEnv *, jclass, jfieldID, jboolean); + public void(*SetStaticByteField)(JNIEnv *, jclass, jfieldID, jbyte); + public void(*SetStaticCharField)(JNIEnv *, jclass, jfieldID, jchar); + public void(*SetStaticDoubleField)(JNIEnv *, jclass, jfieldID, jdouble); + public void(*SetStaticFloatField)(JNIEnv *, jclass, jfieldID, jfloat); + public void(*SetStaticIntField)(JNIEnv *, jclass, jfieldID, jint); + public void(*SetStaticLongField)(JNIEnv *, jclass, jfieldID, jlong); + public void(*SetStaticObjectField)(JNIEnv *, jclass, jfieldID, jobject); + public void(*SetStaticShortField)(JNIEnv *, jclass, jfieldID, jshort); + public void* reserved0; + public void* reserved1; + public void* reserved2; + public void* reserved3; + public void*(*GetDirectBufferAddress)(JNIEnv *, jobject); + public void*(*GetPrimitiveArrayCritical)(JNIEnv *, jarray, jboolean *); +} + +struct JNINativeMethod { + public const char* name; + public const char* signature; + public void* fnPtr; +} + +struct JavaVMAttachArgs { + public const char* name; + public jint version; + public jobject group; +} + +struct JavaVMInitArgs { + public JavaVMOption* options; + public jboolean ignoreUnrecognized; + public jint nOptions; + public jint version; +} + +struct JavaVMOption { + public const char* optionString; + public void* extraInfo; +} + +struct YGConfig { +} + +struct YGNode { +} + +struct YGSize { + public float height; + public float width; +} + +struct YGValue { + public YGUnit unit; + public float value; +} + +struct _JNIEnv { + public const struct JNINativeInterface* functions; +} + +struct _JavaVM { + public const struct JNIInvokeInterface* functions; +} + +struct pre_merge_jni_library { + public const char* name; + public int(*onload_func)(JNIEnv *, jclass); +} + +union jvalue { + public jboolean z; + public jbyte b; + public jchar c; + public jdouble d; + public jfloat f; + public jint i; + public jlong j; + public jobject l; + public jshort s; +} + + +class facebook::hermes::IHermes : public facebook::jsi::ICast { + protected ~IHermes() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual ICast* getHermesRootAPI() = 0; + public virtual SHRuntime* getSHRuntime() noexcept = 0; + public virtual const hermes::vm::GCExecTrace& getGCExecTrace() const = 0; + public virtual debugger::Debugger& getDebugger() = 0; + public virtual facebook::jsi::Value evaluateJavaScriptWithSourceMap(const std::shared_ptr& buffer, const std::shared_ptr& sourceMapBuf, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluateSHUnit(SHUnitCreator shUnitCreator) = 0; + public virtual facebook::jsi::Value getObjectForID(uint64_t id) = 0; + public virtual sampling_profiler::Profile dumpSampledTraceToProfile() = 0; + public virtual std::string getIOTrackingInfoJSON() = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::BigInt& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Object& o) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::PropNameID& pni) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::String& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Symbol& sym) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Value& val) const = 0; + public virtual void asyncTriggerTimeout() = 0; + public virtual void debugJavaScript(const std::string& src, const std::string& sourceURL, const facebook::hermes::IHermes::DebugFlags& debugFlags) = 0; + public virtual void loadSegment(std::unique_ptr buffer, const facebook::jsi::Value& context) = 0; + public virtual void registerForProfiling() = 0; + public virtual void resetTimezoneCache() = 0; + public virtual void sampledTraceToStreamInDevToolsFormat(std::ostream& stream) = 0; + public virtual void unregisterForProfiling() = 0; + public virtual void unwatchTimeLimit() = 0; + public virtual void watchTimeLimit(uint32_t timeoutInMs) = 0; + public virtual void* getVMRuntimeUnsafe() const = 0; +} + +struct facebook::hermes::IHermes::DebugFlags { +} + +class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { + protected ~IHermesSHUnit() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual SHUnitCreator getSHUnitCreator() const = 0; +} + +struct facebook::hermes::IEventLoopControl { + protected ~IEventLoopControl() = default; + public virtual uint64_t registerTaskQueueSource() = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) = 0; +} + +struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { + protected ~ISetEventLoopControl() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual facebook::hermes::IEventLoopControl* getEventLoopControl() = 0; + public virtual void setEventLoopControl(facebook::hermes::IEventLoopControl* eventLoopControl) = 0; +} + + +const char facebook::react::AndroidHorizontalScrollContentViewShadowNodeComponentName[]; +const char facebook::react::AndroidTextInputComponentName[]; +const char facebook::react::ImageComponentName[]; +const char facebook::react::ImageManagerKey[]; +const char facebook::react::ModalHostViewComponentName[]; +const char facebook::react::ParagraphComponentName[]; +const char facebook::react::RawTextComponentName[]; +const char facebook::react::RootComponentName[]; +const char facebook::react::RuntimeSchedulerKey[]; +const char facebook::react::ScrollViewComponentName[]; +const char facebook::react::TextComponentName[]; +const char facebook::react::TextEffectComponentName[]; +const char facebook::react::ViewComponentName[]; +const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; +constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; +constexpr auto facebook::react::rncore_ModuleProvider; +constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; +constexpr char* const facebook::react::TextLayoutManagerKey; +constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; +constexpr facebook::react::Tag facebook::react::kNoTag; +constexpr float facebook::react::kDefaultEpsilon; +constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; +static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; +static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; +static constexpr auto facebook::react::kPropNameLengthHardCap; +static constexpr double facebook::react::SingleFrameIntervalMs; +static constexpr double facebook::react::TicksPerMs; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_BASE_ATTRIBUTES; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_CACHE_ID; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_FRAGMENTS; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_HASH; +static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_STRING; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_HEIGHT; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_IS_ATTACHMENT; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_REACT_TAG; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_STRING; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_TEXT_ATTRIBUTES; +static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_WIDTH; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_ADJUST_FONT_SIZE_TO_FIT; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_ELLIPSIZE_MODE; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_HYPHENATION_FREQUENCY; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_INCLUDE_FONT_PADDING; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MAX_NUMBER_OF_LINES; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MINIMUM_FONT_SCALE; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MINIMUM_FONT_SIZE; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_ALIGN_VERTICAL; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_BREAK_STRATEGY; +static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_WIDTH_MODE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ACCESSIBILITY_ROLE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALIGNMENT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALIGNMENT_VERTICAL; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALLOW_FONT_SCALING; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_BACKGROUND_COLOR; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_BEST_WRITING_DIRECTION; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_FAMILY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_SIZE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_SIZE_MULTIPLIER; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_STYLE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_VARIANT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_VARIATION_SETTINGS; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_WEIGHT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FOREGROUND_COLOR; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_IS_HIGHLIGHTED; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LAYOUT_DIRECTION; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LETTER_SPACING; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LINE_BREAK_STRATEGY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LINE_HEIGHT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_MAX_FONT_SIZE_MULTIPLIER; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_OPACITY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ROLE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_COLOR; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_LINE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_STYLE; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_EFFECTS; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_COLOR; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_OFFSET_DX; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_OFFSET_DY; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_RADIUS; +static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_TRANSFORM; +static constexpr facebook::react::MapBuffer::Key facebook::react::TE_KEY_NAME; +static constexpr facebook::react::MapBuffer::Key facebook::react::TE_KEY_PROPS; +static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_ATTRIBUTED_STRING; +static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_HASH; +static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_MOST_RECENT_EVENT_COUNT; +static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_PARAGRAPH_ATTRIBUTES; +static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; +static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; +static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; +static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; +template +using facebook::react::CSSCompoundDataType = std::variant; +template +using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; +template +using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; +template +using facebook::react::EventListenerT = std::function; +typedef std::function facebook::react::ValueListenerCallback; +using facebook::react::ActivePointerRegistry = std::unordered_map; +using facebook::react::ActivityIndicatorViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ActivityIndicatorViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::ActivityIndicatorViewState = facebook::react::StateData; +using facebook::react::AndroidDrawerLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidDrawerLayoutShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::AndroidDrawerLayoutState = facebook::react::StateData; +using facebook::react::AndroidHorizontalScrollContentViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidSwipeRefreshLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::AndroidSwipeRefreshLayoutShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::AndroidSwipeRefreshLayoutState = facebook::react::StateData; +using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; +using facebook::react::AnimationTimestamp = std::chrono::duration; +using facebook::react::BackgroundExecutor = std::function&& callback)>; +using facebook::react::BackgroundImage = std::variant; +using facebook::react::BackgroundSize = std::variant; +using facebook::react::BorderColors = facebook::react::RectangleEdges; +using facebook::react::BorderCurves = facebook::react::RectangleCorners; +using facebook::react::BorderRadii = facebook::react::RectangleCorners; +using facebook::react::BorderStyles = facebook::react::RectangleEdges; +using facebook::react::BorderWidths = facebook::react::RectangleEdges; +using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSPreservedToken = facebook::react::CSSToken; +using facebook::react::CSSRadialGradientSize = std::variant; +using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CallFunc = std::function; +using facebook::react::Callback = std::function; +using facebook::react::CallbackId = uint64_t; +using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; +using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderStyles = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderWidths = facebook::react::CascadedRectangleEdges; +using facebook::react::ComponentDescriptorConstructor = facebook::react::ComponentDescriptor::Unique(const facebook::react::ComponentDescriptorParameters& parameters); +using facebook::react::ComponentDescriptorProviderRequest = std::function; +using facebook::react::ComponentHandle = int64_t; +using facebook::react::ComponentName = const char*; +using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; +using facebook::react::CornerInsets = facebook::react::RectangleCorners; +using facebook::react::DebuggingOverlayComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::DebuggingOverlayShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::DebuggingOverlayState = facebook::react::StateData; +using facebook::react::DispatchEvent = std::function; +using facebook::react::EdgeInsets = facebook::react::RectangleEdges; +using facebook::react::EndResult = facebook::react::NativeAnimatedTurboModuleEndResult, std::optional>; +using facebook::react::EventEmitterListener = facebook::react::EventListenerT; +using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; +using facebook::react::EventListener = std::function; +using facebook::react::EventPipe = std::function; +using facebook::react::EventPipeConclusion = std::function; +using facebook::react::EventTag = unsigned int; +using facebook::react::Float = float; +using facebook::react::GradientDirection = std::variant; +using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; +using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; +using facebook::react::ImageSources = std::vector; +using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::LinesMeasurements = std::vector; +using facebook::react::Logger = std::function; +using facebook::react::ModalHostViewSupportedOrientationsMask = uint32_t; +using facebook::react::MountingTransactionCallback = std::function; +using facebook::react::NativeMethodCallFunc = std::function; +using facebook::react::ParagraphProps = facebook::react::HostPlatformParagraphProps; +using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; +using facebook::react::PointerIdentifier = int32_t; +using facebook::react::PromiseSetupFunctionType = std::function)>; +using facebook::react::PullToRefreshViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::PullToRefreshViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::PullToRefreshViewState = facebook::react::StateData; +using facebook::react::RawCallback = std::function; +using facebook::react::RawPropsPropNameHash = uint32_t; +using facebook::react::RawPropsPropNameLength = uint16_t; +using facebook::react::RawPropsValueIndex = uint16_t; +using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RuntimeExecutor = std::function&& callback)>; +using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; +using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; +using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ScrollViewProps = facebook::react::HostPlatformScrollViewProps; +using facebook::react::ShadowTreeCommitTransaction = std::function; +using facebook::react::ShadowViewMutationList = std::vector; +using facebook::react::SharedComponentDescriptor = std::shared_ptr; +using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; +using facebook::react::SharedEventEmitter = std::shared_ptr; +using facebook::react::SharedEventPayload = std::shared_ptr; +using facebook::react::SharedEventTarget = std::shared_ptr; +using facebook::react::SharedParagraphAttributes = std::shared_ptr; +using facebook::react::SharedRawTextProps = std::shared_ptr; +using facebook::react::SharedScrollViewProps = std::shared_ptr; +using facebook::react::SharedShadowNodeFamily = std::shared_ptr; +using facebook::react::SharedTextAttributes = std::shared_ptr; +using facebook::react::SharedTouchEventEmitter = std::shared_ptr; +using facebook::react::SharedViewEventEmitter = std::shared_ptr; +using facebook::react::SharedViewProps = std::shared_ptr; +using facebook::react::StatePipe = std::function; +using facebook::react::SurfaceId = int32_t; +using facebook::react::Tag = int32_t; +using facebook::react::TelemetryClock = std::chrono::steady_clock; +using facebook::react::TelemetryDuration = std::chrono::nanoseconds; +using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; +using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::TextEffectComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::TextEffectEventEmitter = facebook::react::TouchEventEmitter; +using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; +using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; +using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); +using facebook::react::TimerHandle = int; +using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; +using facebook::react::Touch = facebook::react::HostPlatformTouch; +using facebook::react::Touches = std::unordered_set; +using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; +using facebook::react::TracingStateListener = std::function; +using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; +using facebook::react::UiTask = std::function; +using facebook::react::UnimplementedNativeViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::UnimplementedNativeViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::UnimplementedNativeViewState = facebook::react::StateData; +using facebook::react::ValueFactory = std::function; +using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; +using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; +using facebook::react::ViewShadowNodeProps = facebook::react::ViewProps; +using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); +template +concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; +template +concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && + ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; +template +concept facebook::react::StateDataWithJNIReference = requires(StateDataT stateData) { + { stateData.getJNIReference() } -> std::same_as>; +}; +template +concept facebook::react::StateDataWithMapBuffer = requires(StateDataT stateData) { + { stateData.getMapBuffer() } -> std::same_as; +}; +template +concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { + { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { + { T::consume(parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { + { T::consumePreservedToken(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { + { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && + !CSSParserSink) || +CSSParserSink; +template +concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& + (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); +template +concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(func, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { + { visitor(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(block, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; +template +concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; +template +concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; +template +concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; +template +concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; +template +concept facebook::react::DeclaresOwnSetProp = std::is_same_v; +template +concept facebook::react::HasIteratorSetterCtor = std::copy_constructible && std::derived_from && HasSetProp; +template +concept facebook::react::HasSetProp = DeclaresOwnSetProp && +requires(T& t, const facebook::react::PropsParserContext& ctx, facebook::react::RawPropsPropNameHash hash, const char* name, const facebook::react::RawValue& value) { + { t.setProp(ctx, hash, name, value) } -> std::same_as; +}; +template +concept facebook::react::Hashable = !std::is_same_v&& (requires(T a) { + { std::hash{}(a) } -> std::convertible_to; +}); +template +concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { + { T::filterRawProps(rawProps) } -> std::same_as; +}; +template +concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( + TextLayoutManagerT textLayoutManager, + facebook::react::AttributedString attributedString, + facebook::react::ParagraphAttributes paragraphAttributes, + facebook::react::TextLayoutContext layoutContext, + facebook::react::LayoutConstraints layoutConstraints, + typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { + sizeof(typename TextLayoutManagerT::PreparedTextLayout); + { + textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) + } -> std::same_as; + { + textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) + } -> std::same_as; +}; +AAssetManager* facebook::react::extractAssetManager(jni::alias_ref assetManager); +JSI_EXPORT std::shared_ptr facebook::react::FBReactNativeSpec_ModuleProvider(const std::string& moduleName, const facebook::react::JavaTurboModule::InitParams& params); +YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); +bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areBorderRadiiCircular(const facebook::react::BorderRadii& borderRadii); +bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); +bool facebook::react::hostPlatformColorIsColorMeaningful(facebook::react::Color color) noexcept; +bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; +bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); +bool facebook::react::isZero(facebook::react::Float n); +const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); +const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); +constexpr auto facebook::react::to_underlying(auto e) noexcept; +constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); +constexpr char facebook::react::toLower(char c); +constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); +constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); +constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); +constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); +double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); +facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); +facebook::react::AnimatedPropsBuffer facebook::react::encodeAnimatedProps(const std::unordered_map& updates); +facebook::react::Color facebook::react::hostPlatformColorFromComponents(facebook::react::ColorComponents components); +facebook::react::Color facebook::react::hostPlatformColorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); +facebook::react::ColorComponents facebook::react::colorComponentsFromHostPlatformColor(facebook::react::Color color); +facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); +facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); +facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); +facebook::react::Float facebook::react::floatFromYogaFloat(float value); +facebook::react::Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); +facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::AttributedString& attributedString); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::AttributedString::Fragment& fragment); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::FontVariant& fontVariant); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::ParagraphAttributes& paragraphAttributes); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::ParagraphState& paragraphState); +facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::TextAttributes& textAttributes); +facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); +facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; +facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; +facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); +facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); +facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); +facebook::react::SharedColor facebook::react::blackColor(); +facebook::react::SharedColor facebook::react::clearColor(); +facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); +facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::SharedColor facebook::react::parsePlatformColor(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value); +facebook::react::SharedColor facebook::react::whiteColor(); +facebook::react::Size facebook::react::ModalHostViewScreenSize(void); +facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); +facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; +facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); +facebook::react::ValueUnit facebook::react::toValueUnit(const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(facebook::react::Float value); +float facebook::react::alphaFromHostPlatformColor(facebook::react::Color color); +float facebook::react::blueFromHostPlatformColor(facebook::react::Color color); +float facebook::react::greenFromHostPlatformColor(facebook::react::Color color); +float facebook::react::redFromHostPlatformColor(facebook::react::Color color); +float facebook::react::yogaFloatFromFloat(facebook::react::Float value); +folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); +folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); +folly::dynamic facebook::react::toDynamic(const YGValue& dimension); +folly::dynamic facebook::react::toDynamic(const facebook::react::AndroidTextInputTextShadowOffsetStruct& value); +folly::dynamic facebook::react::toDynamic(const facebook::react::BackgroundImage& backgroundImage); +folly::dynamic facebook::react::toDynamic(const facebook::react::BoxShadow& boxShadow); +folly::dynamic facebook::react::toDynamic(const facebook::react::EdgeInsets& edgeInsets); +folly::dynamic facebook::react::toDynamic(const facebook::react::FilterFunction& filterFunction); +folly::dynamic facebook::react::toDynamic(const facebook::react::ImageSource& imageSource); +folly::dynamic facebook::react::toDynamic(const facebook::react::Point& point); +folly::dynamic facebook::react::toDynamic(const facebook::react::SharedColor& sharedColor); +folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +folly::dynamic facebook::react::toDynamic(uint32_t value); +int facebook::react::toAndroidRepr(const facebook::react::SharedColor& color); +int facebook::react::toInt(const facebook::react::DisplayType& displayType); +int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); +size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); +std::optional facebook::react::blendModeFromString(std::string_view blendModeName); +std::optional facebook::react::filterTypeFromString(std::string_view filterName); +std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); +std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); +std::optional facebook::react::isolationFromString(std::string_view isolationSetting); +std::string facebook::react::componentNameByReactViewName(std::string viewName); +std::string facebook::react::toString(const double& value); +std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); +std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); +std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); +std::string facebook::react::toString(const facebook::react::DataDetectorType& value); +std::string facebook::react::toString(const facebook::react::DisplayType& displayType); +std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); +std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); +std::string facebook::react::toString(const facebook::react::FilterType& filterType); +std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); +std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); +std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); +std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); +std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); +std::string facebook::react::toString(const facebook::react::ImageSource& value); +std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); +std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); +std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); +std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); +std::string facebook::react::toString(const facebook::react::Role& role); +std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); +std::string facebook::react::toString(const facebook::react::SharedColor& value); +std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); +std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); +std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); +std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); +std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); +std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); +std::string facebook::react::toString(const facebook::react::TextWidthMode& textWidthMode); +std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); +std::string facebook::react::toString(double doubleValue, char suffix); +std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); +std::string facebook::react::toString(facebook::react::PointerEventsMode value); +std::unique_ptr facebook::react::loadScriptFromAssets(AAssetManager* assetManager, const std::string& assetName); +std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); +template +constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); +template +constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); +template +std::size_t facebook::react::hash_combine(const T& v, const Args &... args); +template +void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); +template +void facebook::react::hash_combine_optionals(std::size_t& seed, const std::optional &... optionals); +template +constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); +template +constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); +template +constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; +template +facebook::react::ComponentDescriptor::Unique facebook::react::concreteComponentDescriptorConstructor(const facebook::react::ComponentDescriptorParameters& parameters); +template +facebook::react::ComponentDescriptorProvider facebook::react::concreteComponentDescriptorProvider(); +template +DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); +template +T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue); +template +T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); +template +T facebook::react::get(const std::unique_ptr& animatedProp); +template +bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); +template +folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); +template +jni::local_ref> facebook::react::makeJWeakReference(jni::alias_ref ref); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::optional& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector>& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& rawValue, T& result); +template +std::shared_ptr facebook::react::getManagerByName(std::shared_ptr& contextContainer, const char name[]); +uint8_t facebook::react::alphaFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; +void facebook::react::FBReactNativeSpec_registerComponentDescriptorsFromCodegen(std::shared_ptr registry); +void facebook::react::addDynamicToJArray(jni::alias_ref> jarray, jint index, const folly::dynamic& dyn); +void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); +void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); +void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); +void facebook::react::ensureThreadDurationJNIEnvAttached(); +void facebook::react::fromRawValue(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityAction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLabelledBy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLiveRegion& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FlexDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FloatOptional& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Justify& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Overflow& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::DataDetectorType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::EdgeInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageResizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageSource& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); +void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); +void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); +void facebook::react::handleJSError(facebook::jsi::Runtime& runtime, const facebook::jsi::JSError& error, bool isFatal); +void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); +void facebook::react::reactAndroidLoggingHook(const std::string& message, unsigned int logLevel); +void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); +void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); +void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); +void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); +void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); +void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); +bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); +bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); +bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); +bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; +bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); +constexpr bool facebook::react::operator&(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator&(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator|(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr facebook::react::HighResDuration facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResTimeStamp& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator+(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::ModalHostViewSupportedOrientationsMask facebook::react::operator|(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +constexpr void facebook::react::operator|=(facebook::react::ModalHostViewSupportedOrientationsMask& lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +facebook::react::EdgeInsets facebook::react::operator*(const facebook::react::EdgeInsets& edgeInsets, const facebook::react::Transform& transform); +facebook::react::Point facebook::react::operator*(const facebook::react::Point& point, const facebook::react::Transform& transform); +facebook::react::Rect facebook::react::operator*(const facebook::react::Rect& rect, const facebook::react::Transform& transform); +facebook::react::Size facebook::react::operator*(const facebook::react::Size& size, const facebook::react::Transform& transform); +facebook::react::Vector facebook::react::operator*(const facebook::react::Transform& transform, const facebook::react::Vector& vector); +template +facebook::react::RectangleEdges facebook::react::operator+(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +template +facebook::react::RectangleEdges facebook::react::operator-(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +JSI_EXPORT const char facebook::react::ActivityIndicatorViewComponentName[]; +JSI_EXPORT const char facebook::react::AndroidDrawerLayoutComponentName[]; +JSI_EXPORT const char facebook::react::AndroidSwipeRefreshLayoutComponentName[]; +JSI_EXPORT const char facebook::react::DebuggingOverlayComponentName[]; +JSI_EXPORT const char facebook::react::PullToRefreshViewComponentName[]; +JSI_EXPORT const char facebook::react::UnimplementedNativeViewComponentName[]; + +class facebook::react::AccessibilityProps { + public AccessibilityProps() = default; + public AccessibilityProps(const facebook::react::PropsParserContext& context, const facebook::react::AccessibilityProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool accessibilityElementsHidden; + public bool accessibilityIgnoresInvertColors; + public bool accessibilityRespondsToUserInteraction; + public bool accessibilityShowsLargeContentViewer; + public bool accessibilityViewIsModal; + public bool accessible; + public bool onAccessibilityAction; + public bool onAccessibilityEscape; + public bool onAccessibilityMagicTap; + public bool onAccessibilityTap; + public facebook::react::AccessibilityLabelledBy accessibilityLabelledBy; + public facebook::react::AccessibilityLiveRegion accessibilityLiveRegion; + public facebook::react::AccessibilityTraits accessibilityTraits; + public facebook::react::AccessibilityValue accessibilityValue; + public facebook::react::ImportantForAccessibility importantForAccessibility; + public facebook::react::Role role; + public std::optional accessibilityState; + public std::string accessibilityHint; + public std::string accessibilityLabel; + public std::string accessibilityLanguage; + public std::string accessibilityLargeContentTitle; + public std::string accessibilityRole; + public std::string testId; + public std::vector accessibilityActions; + public std::vector accessibilityOrder; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ActivityIndicatorViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::ActivityIndicatorViewProps : public facebook::react::HostPlatformViewProps { + public ActivityIndicatorViewProps() = default; + public ActivityIndicatorViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ActivityIndicatorViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool animating; + public bool hidesWhenStopped; + public facebook::react::ActivityIndicatorViewSize size; + public facebook::react::SharedColor color; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::AndroidAnimationChoreographer : public facebook::react::AnimationChoreographer { + public virtual void pause() override; + public virtual void resume() override; + public void onAnimationFrameIfActive(facebook::react::AnimationTimestamp timestamp) const; +} + +class facebook::react::AndroidDrawerLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onDrawerClose(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerClose value) const; + public void onDrawerOpen(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerOpen value) const; + public void onDrawerSlide(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerSlide value) const; + public void onDrawerStateChanged(facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerStateChanged value) const; +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerClose { +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerOpen { +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerSlide { + public facebook::react::Float offset; +} + +struct facebook::react::AndroidDrawerLayoutEventEmitter::OnDrawerStateChanged { + public int drawerState; +} + +class facebook::react::AndroidDrawerLayoutProps : public facebook::react::HostPlatformViewProps { + public AndroidDrawerLayoutProps() = default; + public AndroidDrawerLayoutProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidDrawerLayoutProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::AndroidDrawerLayoutDrawerLockMode drawerLockMode; + public facebook::react::AndroidDrawerLayoutDrawerPosition drawerPosition; + public facebook::react::AndroidDrawerLayoutKeyboardDismissMode keyboardDismissMode; + public facebook::react::Float drawerWidth; + public facebook::react::SharedColor drawerBackgroundColor; + public facebook::react::SharedColor statusBarBackgroundColor; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidEventBeat : public facebook::react::EventBeat, public facebook::react::EventBeatManagerObserver { + public AndroidEventBeat(std::shared_ptr ownerBox, facebook::react::EventBeatManager* eventBeatManager, facebook::react::RuntimeScheduler& runtimeScheduler, jni::global_ref javaUIManager); + public virtual void request() const override; + public virtual void tick() const override; + public ~AndroidEventBeat() override; +} + +class facebook::react::AndroidHorizontalScrollContentViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidHorizontalScrollContentViewProps : public facebook::react::HostPlatformViewProps { + public AndroidHorizontalScrollContentViewProps() = default; + public AndroidHorizontalScrollContentViewProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidHorizontalScrollContentViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool removeClippedSubviews; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidHorizontalScrollContentViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public AndroidHorizontalScrollContentViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidHorizontalScrollContentViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public virtual void layout(facebook::react::LayoutContext layoutContext) override; +} + +class facebook::react::AndroidProgressBarEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidProgressBarProps : public facebook::react::HostPlatformViewProps { + public AndroidProgressBarProps() = default; + public AndroidProgressBarProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidProgressBarProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool animating; + public bool indeterminate; + public double progress; + public facebook::react::SharedColor color; + public std::string styleAttr; + public std::string testID; + public std::string typeAttr; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidSwipeRefreshLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onRefresh(facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh value) const; +} + +struct facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh { +} + +class facebook::react::AndroidSwipeRefreshLayoutProps : public facebook::react::HostPlatformViewProps { + public AndroidSwipeRefreshLayoutProps() = default; + public AndroidSwipeRefreshLayoutProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwipeRefreshLayoutProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool enabled; + public bool refreshing; + public facebook::react::AndroidSwipeRefreshLayoutSize size; + public facebook::react::Float progressViewOffset; + public facebook::react::SharedColor progressBackgroundColor; + public std::vector colors; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidSwitchEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onChange(facebook::react::AndroidSwitchEventEmitter::OnChange value) const; +} + +struct facebook::react::AndroidSwitchEventEmitter::OnChange { + public bool value; + public int target; +} + +class facebook::react::AndroidSwitchProps : public facebook::react::HostPlatformViewProps { + public AndroidSwitchProps() = default; + public AndroidSwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwitchProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public bool enabled; + public bool on; + public bool value; + public facebook::react::SharedColor thumbColor; + public facebook::react::SharedColor thumbTintColor; + public facebook::react::SharedColor trackColorForFalse; + public facebook::react::SharedColor trackColorForTrue; + public facebook::react::SharedColor trackTintColor; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::AndroidTextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public AndroidTextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; +} + +class facebook::react::AndroidTextInputEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::AndroidTextInputProps : public facebook::react::BaseTextInputProps { + public AndroidTextInputProps() = default; + public AndroidTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool allowFontScaling; + public bool autoCorrect; + public bool caretHidden; + public bool contextMenuHidden; + public bool disableFullscreenUI; + public bool hasPadding; + public bool hasPaddingBottom; + public bool hasPaddingEnd; + public bool hasPaddingHorizontal; + public bool hasPaddingLeft; + public bool hasPaddingRight; + public bool hasPaddingStart; + public bool hasPaddingTop; + public bool hasPaddingVertical; + public bool includeFontPadding; + public bool secureTextEntry; + public bool selectTextOnFocus; + public bool showSoftInputOnFocus; + public facebook::react::AndroidTextInputTextShadowOffsetStruct textShadowOffset; + public facebook::react::Float fontSize; + public facebook::react::Float letterSpacing; + public facebook::react::Float lineHeight; + public facebook::react::Float maxFontSizeMultiplier; + public facebook::react::Float textShadowRadius; + public facebook::react::SharedColor color; + public facebook::react::SharedColor textShadowColor; + public folly::dynamic getDynamic() const; + public int inlineImagePadding; + public int numberOfLines; + public std::string autoComplete; + public std::string fontFamily; + public std::string fontStyle; + public std::string fontWeight; + public std::string importantForAutofill; + public std::string inlineImageLeft; + public std::string keyboardType; + public std::string returnKeyLabel; + public std::string returnKeyType; + public std::string textAlign; + public std::string textBreakStrategy; + public std::string textDecorationLine; + public std::string textTransform; + public std::string value; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::AndroidTextInputShadowNode : public facebook::react::ConcreteViewShadowNode { + protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; + protected std::shared_ptr textLayoutManager_; + protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + protected virtual void layout(facebook::react::LayoutContext layoutContext) override; + public AndroidTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public AndroidTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +class facebook::react::AndroidTextInputState { + public AndroidTextInputState() = default; + public AndroidTextInputState(const facebook::react::AndroidTextInputState& previousState, const folly::dynamic& data); + public AndroidTextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); + public facebook::react::AttributedString reactTreeAttributedString; + public facebook::react::AttributedStringBox attributedStringBox; + public facebook::react::MapBuffer getMapBuffer() const; + public facebook::react::ParagraphAttributes paragraphAttributes; + public folly::dynamic getDynamic() const; + public int64_t cachedAttributedStringId; + public int64_t mostRecentEventCount; +} + +class facebook::react::AnimatedModule : public facebook::react::NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { + public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); + public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); + public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); + public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); + public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); + public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void finishOperationBatch(facebook::jsi::Runtime& rt); + public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); + public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); + public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); + public void removeListeners(facebook::jsi::Runtime& rt, int count); + public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); + public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); + public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); + public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void startOperationBatch(facebook::jsi::Runtime& rt); + public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); + public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); +} + +class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { + public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; +} + +class facebook::react::AnimatedNode { + protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); + protected facebook::react::AnimatedNodeType type_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag tag_; + protected std::unordered_set children_; + public AnimatedNode(const facebook::react::AnimatedNode&) = default; + public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; + public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); + public const folly::dynamic& getConfig() const noexcept; + public const std::unordered_set& getChildren() const noexcept; + public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; + public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; + public facebook::react::AnimatedNodeType type() const noexcept; + public facebook::react::Tag tag() const noexcept; + public int activeIncomingNodes; + public int bfsColor; + public static constexpr int INITIAL_BFS_COLOR; + public static std::optional getNodeTypeByName(const std::string& nodeTypeName); + public virtual void onAttachToNode(facebook::react::Tag); + public virtual void onDetachedFromNode(facebook::react::Tag); + public virtual void update(); + public virtual ~AnimatedNode() = default; + public void addChild(facebook::react::Tag tag); + public void removeChild(facebook::react::Tag tag); +} + +class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { + public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); + public using PauseCallback = std::function; + public using ResumeCallback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; + public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) override; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; + public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; + public virtual void stop(facebook::react::CallbackId callbackId) override; + public virtual void trigger() override; + public void requestAsyncFlushForSurfaces(const std::set& surfaces); + public void synchronouslyUpdateProps(const std::unordered_map& updates); + public ~AnimationBackend() override; +} + +class facebook::react::AnimationChoreographer { + public virtual facebook::react::AnimationTimestamp now() const; + public virtual void pause() = 0; + public virtual void resume() = 0; + public virtual ~AnimationChoreographer() = default; + public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; + public void setAnimationBackend(std::weak_ptr animationBackend); +} + +class facebook::react::AnimationDriver { + protected bool ignoreCompletedHandlers_; + protected bool isComplete_; + protected bool isStarted_; + protected double startFrameTimeMs_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag animatedValueTag_; + protected folly::dynamic config_; + protected int currentIteration_; + protected int id_; + protected int iterations_; + protected std::optional endCallback_; + protected virtual bool update(double, bool); + protected void markNodeUpdated(facebook::react::Tag tag); + public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); + public bool getIsComplete() const noexcept; + public facebook::react::Tag getAnimatedValueTag() const noexcept; + public int getId() const noexcept; + public static std::optional getDriverTypeByName(const std::string& driverTypeName); + public virtual void updateConfig(folly::dynamic config); + public virtual ~AnimationDriver() = default; + public void runAnimationStep(double renderingTime); + public void startAnimation(); + public void stopAnimation(bool ignoreCompletedHandlers = false); +} + +class facebook::react::AppRegistryBinding { + public AppRegistryBinding() = delete; + public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); +} + +class facebook::react::AsyncArrayBuffer { + public AsyncArrayBuffer(const facebook::react::AsyncArrayBuffer&) = delete; + public AsyncArrayBuffer(facebook::react::AsyncArrayBuffer&&) noexcept = default; + public const uint8_t* data() const noexcept; + public facebook::react::AsyncArrayBuffer& operator=(const facebook::react::AsyncArrayBuffer&) = delete; + public facebook::react::AsyncArrayBuffer& operator=(facebook::react::AsyncArrayBuffer&&) noexcept = default; + public size_t size() const noexcept; + public static facebook::react::AsyncArrayBuffer acquire(facebook::jsi::Runtime& rt, const facebook::jsi::ArrayBuffer& buffer); + public static facebook::react::AsyncArrayBuffer borrow(facebook::jsi::Runtime& rt, const facebook::jsi::ArrayBuffer& buffer); + public static facebook::react::AsyncArrayBuffer copy(facebook::jsi::Runtime& rt, const facebook::jsi::ArrayBuffer& buffer); + public static facebook::react::AsyncArrayBuffer wrap(std::shared_ptr buffer) noexcept; + public static facebook::react::AsyncArrayBuffer wrap(std::vector bytes); + public static void throwIfDetached(facebook::jsi::Runtime& rt, const facebook::jsi::ArrayBuffer& buffer, const char* callerName); + public std::shared_ptr getMutableBuffer() const noexcept; + public uint8_t* data() noexcept; + public ~AsyncArrayBuffer() = default; +} + +class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { + public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; + public bool isContentEqual(const facebook::react::AttributedString& rhs) const; + public bool isEmpty() const; + public bool operator==(const facebook::react::AttributedString& rhs) const; + public const facebook::react::AttributedString::Fragments& getFragments() const; + public const facebook::react::TextAttributes& getBaseTextAttributes() const; + public facebook::react::AttributedString::Fragments& getFragments(); + public std::string getString() const; + public using Fragments = std::vector; + public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); + public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); + public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); +} + +class facebook::react::AttributedString::Fragment { + public bool isAttachment() const; + public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; + public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; + public facebook::react::ShadowView parentShadowView; + public facebook::react::TextAttributes textAttributes; + public static std::string AttachmentCharacter(); + public std::string string; +} + +class facebook::react::AttributedString::Range { + public int length; + public int location; +} + +class facebook::react::AttributedStringBox { + public AttributedStringBox(); + public AttributedStringBox(const facebook::react::AttributedString& value); + public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; + public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; + public AttributedStringBox(std::shared_ptr opaquePointer); + public const facebook::react::AttributedString& getValue() const; + public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; + public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; + public facebook::react::AttributedStringBox::Mode getMode() const; + public std::shared_ptr getOpaquePointer() const; +} + +enum facebook::react::AttributedStringBox::Mode { + OpaquePointer, + Value, +} + +class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseParagraphProps() = default; + public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool isSelectable; + public bool onTextLayout; + public facebook::react::ParagraphAttributes paragraphAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { + public BaseScrollViewProps() = default; + public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool alwaysBounceHorizontal; + public bool alwaysBounceVertical; + public bool automaticallyAdjustContentInsets; + public bool automaticallyAdjustKeyboardInsets; + public bool automaticallyAdjustsScrollIndicatorInsets; + public bool bounces; + public bool bouncesZoom; + public bool canCancelContentTouches; + public bool centerContent; + public bool directionalLockEnabled; + public bool disableIntervalMomentum; + public bool horizontal; + public bool isInvertedVirtualizedList; + public bool pagingEnabled; + public bool persistentScrollbar; + public bool pinchGestureEnabled; + public bool scrollEnabled; + public bool scrollToOverflowEnabled; + public bool scrollsToTop; + public bool showsHorizontalScrollIndicator; + public bool showsVerticalScrollIndicator; + public bool snapToEnd; + public bool snapToStart; + public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; + public facebook::react::EdgeInsets contentInset; + public facebook::react::EdgeInsets scrollIndicatorInsets; + public facebook::react::Float decelerationRate; + public facebook::react::Float endDraggingSensitivityMultiplier; + public facebook::react::Float maximumZoomScale; + public facebook::react::Float minimumZoomScale; + public facebook::react::Float scrollEventThrottle; + public facebook::react::Float snapToInterval; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::ScrollViewIndicatorStyle indicatorStyle; + public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; + public facebook::react::ScrollViewSnapToAlignment snapToAlignment; + public std::optional maintainVisibleContentPosition; + public std::vector snapToOffsets; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseTextInputProps() = default; + public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool autoFocus; + public bool disableKeyboardShortcuts; + public bool editable; + public bool multiline; + public bool readOnly; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::SharedColor cursorColor; + public facebook::react::SharedColor placeholderTextColor; + public facebook::react::SharedColor selectionColor; + public facebook::react::SharedColor selectionHandleColor; + public facebook::react::SharedColor underlineColorAndroid; + public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; + public facebook::react::SubmitBehavior submitBehavior; + public facebook::react::TextAttributes getEffectiveTextAttributes(facebook::react::Float fontSizeMultiplier) const; + public int maxLength; + public int mostRecentEventCount; + public std::optional> acceptDragAndDropTypes; + public std::string autoCapitalize; + public std::string defaultValue; + public std::string placeholder; + public std::string text; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextProps { + public BaseTextProps() = default; + public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::TextAttributes textAttributes; + public void appendTextAttributesProps(folly::dynamic& result, const facebook::react::BaseTextProps* prevProps) const; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextShadowNode { + public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); + public using Attachments = std::vector; +} + +class facebook::react::BaseTextShadowNode::Attachment { + public const facebook::react::ShadowNode* shadowNode; + public size_t fragmentIndex; +} + +class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { + public void onAccessibilityAction(const std::string& name) const; + public void onAccessibilityEscape() const; + public void onAccessibilityMagicTap() const; + public void onAccessibilityTap() const; + public void onBlur() const; + public void onFocus() const; + public void onLayout(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps, public facebook::react::AccessibilityProps { + public BaseViewProps() = default; + public BaseViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseViewProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public bool collapsable; + public bool collapsableChildren; + public bool getClipsContentToBounds() const; + public bool onLayout; + public bool removeClippedSubviews; + public bool shouldRasterize; + public facebook::react::BackfaceVisibility backfaceVisibility; + public facebook::react::BlendMode mixBlendMode; + public facebook::react::BorderMetrics resolveBorderMetrics(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::CascadedBorderColors borderColors; + public facebook::react::CascadedBorderCurves borderCurves; + public facebook::react::CascadedBorderRadii borderRadii; + public facebook::react::CascadedBorderStyles borderStyles; + public facebook::react::CascadedBorderWidths getBorderWidths() const; + public facebook::react::Cursor cursor; + public facebook::react::EdgeInsets hitSlop; + public facebook::react::Float opacity; + public facebook::react::Float outlineOffset; + public facebook::react::Float outlineWidth; + public facebook::react::Float shadowOpacity; + public facebook::react::Float shadowRadius; + public facebook::react::Isolation isolation; + public facebook::react::OutlineStyle outlineStyle; + public facebook::react::PointerEventsMode pointerEvents; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor outlineColor; + public facebook::react::SharedColor shadowColor; + public facebook::react::Size shadowOffset; + public facebook::react::Transform resolveTransform(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::Transform transform; + public facebook::react::TransformOrigin transformOrigin; + public facebook::react::ViewEvents events; + public static facebook::react::Transform resolveTransform(const facebook::react::Size& frameSize, const facebook::react::Transform& transform, const facebook::react::TransformOrigin& transformOrigin); + public std::optional zIndex; + public std::vector backgroundImage; + public std::vector backgroundPosition; + public std::vector backgroundRepeat; + public std::vector backgroundSize; + public std::vector boxShadow; + public std::vector filter; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BindingsInstaller { + public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); +} + +class facebook::react::BindingsInstallerHolder : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public using BindingsInstallFunc = std::function& callInvoker)>; + public void installBindings(facebook::jsi::Runtime& runtime, const std::shared_ptr& callInvoker); +} + +class facebook::react::BlobCollector : public facebook::jsi::HostObject { + public BlobCollector(jni::global_ref blobModule, std::string blobId); + public size_t getBlobLength(); + public ~BlobCollector(); +} + +class facebook::react::BlobModuleJSIBindings : public jni::JavaClass { + public static constexpr char* kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::BufferedRuntimeExecutor : public std::enable_shared_from_this { + public BufferedRuntimeExecutor(facebook::react::BufferedRuntimeExecutor::Executor executor); + public facebook::react::RuntimeExecutor asRuntimeExecutor(); + public facebook::react::RuntimeExecutor asWeakRuntimeExecutor(); + public using Executor = std::function; + public using Work = std::function; + public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); + public void execute(facebook::react::SchedulerPriority priority, facebook::react::BufferedRuntimeExecutor::Work&& callback); + public void flush(); +} + +class facebook::react::CSSSyntaxParser { + public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; + public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; + public constexpr CSSSyntaxParser(std::string_view css); + public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); + public constexpr bool isFinished() const; + public constexpr const facebook::react::CSSToken& peek() const; + public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; + public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; + public constexpr void consumeWhitespace(); + template + public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); + template + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); +} + +class facebook::react::CSSToken { + public constexpr CSSToken(const facebook::react::CSSToken& other) = default; + public constexpr CSSToken(facebook::react::CSSToken&& other) = default; + public constexpr CSSToken(facebook::react::CSSTokenType type); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); + public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); + public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; + public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; + public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; + public constexpr facebook::react::CSSTokenType type() const; + public constexpr float numericValue() const; + public constexpr std::string_view stringValue() const; + public constexpr std::string_view unit() const; +} + +class facebook::react::CSSTokenizer { + public constexpr CSSTokenizer(std::string_view characters); + public constexpr facebook::react::CSSToken next(); +} + +class facebook::react::CSSValueParser { + public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; + public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); + public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; + public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); + public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); +} + +class facebook::react::CallInvoker { + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; + public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; + public virtual void invokeAsync(std::function&& func) noexcept; + public virtual void invokeSync(facebook::react::CallFunc&& func) = 0; + public virtual void invokeSync(std::function&& func); + public virtual ~CallInvoker() = default; +} + +class facebook::react::CallInvokerHolder : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public std::shared_ptr getCallInvoker(); +} + +class facebook::react::CallInvokerImpl : public facebook::react::CallInvoker { + public CallInvokerImpl(std::shared_ptr bufferedRuntimeExecutor, std::weak_ptr runtimeScheduler); + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeSync(facebook::react::CallFunc&& func) override; +} + +class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { + public facebook::jsi::Function& callback() noexcept; + public facebook::jsi::Runtime& runtime() noexcept; + public facebook::react::CallInvoker& jsInvoker() noexcept; + public static std::weak_ptr createWeak(facebook::jsi::Function&& callback, facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public std::shared_ptr jsInvokerPtr() noexcept; + public void destroy(); +} + +class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { + public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::Color getColor(); + public virtual void update() override; +} + +class facebook::react::ComponentDescriptor { + protected facebook::react::ComponentDescriptor::Flavor flavor_; + protected facebook::react::EventDispatcher::Weak eventDispatcher_; + protected facebook::react::RawPropsParser rawPropsParser_; + protected friend ShadowNode; + protected std::shared_ptr contextContainer_; + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const = 0; + public ComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public const std::shared_ptr& getContextContainer() const; + public using Flavor = std::shared_ptr; + public using Shared = std::shared_ptr; + public using Unique = std::unique_ptr; + public virtual facebook::react::ComponentHandle getComponentHandle() const = 0; + public virtual facebook::react::ComponentName getComponentName() const = 0; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const = 0; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const = 0; + public virtual facebook::react::ShadowNodeTraits getTraits() const = 0; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const = 0; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const = 0; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const = 0; + public virtual ~ComponentDescriptor() = default; +} + +class facebook::react::ComponentDescriptorParameters { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::EventDispatcher::Weak eventDispatcher; + public std::shared_ptr contextContainer; +} + +class facebook::react::ComponentDescriptorProvider { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::ComponentDescriptorConstructor* constructor; + public facebook::react::ComponentHandle handle; + public facebook::react::ComponentName name; +} + +class facebook::react::ComponentDescriptorProviderRegistry { + public facebook::react::ComponentDescriptorRegistry::Shared createComponentDescriptorRegistry(const facebook::react::ComponentDescriptorParameters& parameters) const; + public void add(const facebook::react::ComponentDescriptorProvider& provider) const; + public void setComponentDescriptorProviderRequest(facebook::react::ComponentDescriptorProviderRequest request) const; +} + +class facebook::react::ComponentDescriptorRegistry { + public ComponentDescriptorRegistry(facebook::react::ComponentDescriptorParameters parameters, const facebook::react::ComponentDescriptorProviderRegistry& providerRegistry, std::shared_ptr contextContainer); + public bool hasComponentDescriptorAt(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor& at(const std::string& componentName) const; + public const facebook::react::ComponentDescriptor& at(facebook::react::ComponentHandle componentHandle) const; + public facebook::react::ComponentDescriptor::Shared getFallbackComponentDescriptor() const; + public using Shared = std::shared_ptr; + public void setFallbackComponentDescriptor(const facebook::react::SharedComponentDescriptor& descriptor); +} + +class facebook::react::ComponentFactory : public jni::HybridClass { + public facebook::react::ComponentRegistryFactory buildRegistryFunction; + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::ComponentNameResolverBinding : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static void install(jni::alias_ref, jni::alias_ref runtimeExecutor, jni::alias_ref componentNameResolver); + public static void registerNatives(); +} + +class facebook::react::ConstantsForViewManagerProvider : public facebook::jni::JavaClass { + public folly::dynamic getConstantsForViewManager(const std::string& viewManagerName) const; + public static constexpr char* kJavaDescriptor; +} + +class facebook::react::ConstantsProvider : public facebook::jni::JavaClass { + public folly::dynamic getConstants() const; + public static constexpr char* kJavaDescriptor; +} + +class facebook::react::ContextContainer { + public void erase(const std::string& key) const; + public void update(const facebook::react::ContextContainer& contextContainer) const; + template + public T at(const std::string& key) const; + template + public std::optional find(const std::string& key) const; + template + public void insert(const std::string& key, const T& instance) const; +} + +class facebook::react::CxxReactPackage : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public virtual std::shared_ptr getModule(const std::string& name, const std::shared_ptr& jsInvoker) = 0; +} + +class facebook::react::DebugStringConvertible { +} + +class facebook::react::DebuggingOverlayEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::DebuggingOverlayProps : public facebook::react::HostPlatformViewProps { + public DebuggingOverlayProps() = default; + public DebuggingOverlayProps(const facebook::react::PropsParserContext& context, const facebook::react::DebuggingOverlayProps& sourceProps, const facebook::react::RawProps& rawProps); + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::DefaultComponentsRegistry : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static std::function)> registerCodegenComponentDescriptorsFromEntryPoint; + public static std::function)> registerComponentDescriptorsFromEntryPoint; + public static void registerNatives(); +} + +class facebook::react::DefaultEventTypesProvider : public facebook::jni::JavaClass { + public folly::dynamic getDefaultEventTypes() const; + public static constexpr char* kJavaDescriptor; +} + +class facebook::react::DefaultTurboModuleManagerDelegate : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref, jni::alias_ref::javaobject>); + public static std::function(const std::string&, const facebook::react::JavaTurboModule::InitParams&)> javaModuleProvider; + public static std::function(const std::string&, const std::shared_ptr&)> cxxModuleProvider; + public static void registerNatives(); + public std::shared_ptr getTurboModule(const std::string& name, const facebook::react::JavaTurboModule::InitParams& params) override; + public std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker) override; +} + +class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { + public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::Error { + public Error(const char* message); + public Error(std::string message); + public const std::string& message() const; +} + +class facebook::react::EventAnimationDriver { + protected const facebook::react::Tag animatedValueTag_; + protected std::vector eventPath_; + public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); + public facebook::react::Tag getAnimatedNodeTag() const; + public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); + public ~EventAnimationDriver() = default; +} + +class facebook::react::EventBeat { + protected facebook::react::EventBeat::BeatCallback beatCallback_; + protected mutable std::atomic isEventBeatRequested_; + protected std::function induceCallback_; + protected std::shared_ptr ownerBox_; + protected void induce() const; + public EventBeat(const facebook::react::EventBeat& other) = delete; + public EventBeat(std::shared_ptr ownerBox, facebook::react::RuntimeScheduler& runtimeScheduler); + public facebook::react::EventBeat& operator=(const facebook::react::EventBeat& other) = delete; + public using BeatCallback = std::function; + public using Factory = std::function(std::shared_ptr ownerBox)>; + public virtual void request() const; + public virtual void requestSynchronous(facebook::react::Tag tag) const; + public virtual ~EventBeat() = default; + public void requestSynchronous() const; + public void setBeatCallback(facebook::react::EventBeat::BeatCallback beatCallback); +} + +struct facebook::react::EventBeat::OwnerBox { + public std::weak_ptr owner; +} + +class facebook::react::EventBeatManager : public jni::HybridClass { + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public void addObserver(const facebook::react::EventBeatManagerObserver& observer) const; + public void removeObserver(const facebook::react::EventBeatManagerObserver& observer) const; +} + +class facebook::react::EventBeatManagerObserver { + public virtual void tick() const = 0; + public virtual ~EventBeatManagerObserver() noexcept = default; +} + +class facebook::react::EventDispatcher { + public EventDispatcher(const facebook::react::EventQueueProcessor& eventProcessor, std::unique_ptr eventBeat, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void addListener(std::shared_ptr listener) const; + public void dispatchEvent(facebook::react::RawEvent&& rawEvent) const; + public void dispatchStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode) const; + public void dispatchUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void removeListener(const std::shared_ptr& listener) const; +} + +class facebook::react::EventEmitter { + public EventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public const facebook::react::SharedEventTarget& getEventTarget() const; + public static facebook::react::ValueFactory defaultPayloadFactory(); + public static std::mutex& DispatchMutex(); + public static std::string normalizeEventType(std::string type); + public using Shared = std::shared_ptr; + public virtual ~EventEmitter() = default; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory(), facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory()) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void setEnabled(bool enabled); + public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); +} + +class facebook::react::EventEmitterWrapper : public jni::HybridClass { + public EventEmitterWrapper(facebook::react::SharedEventEmitter eventEmitter); + public facebook::react::SharedEventEmitter eventEmitter; + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public void dispatchEvent(std::string eventName, facebook::react::NativeMap* payload, int category, jlong eventTimestamp); + public void dispatchEventSynchronously(std::string eventName, facebook::react::NativeMap* params, jlong eventTimestamp); + public void dispatchUniqueEvent(std::string eventName, facebook::react::NativeMap* payload, jlong eventTimestamp); +} + +class facebook::react::EventListenerContainer { + public bool willDispatchEvent(const facebook::react::RawEvent& event); + public void addListener(std::shared_ptr listener); + public void removeListener(const std::shared_ptr& listener); +} + +class facebook::react::EventLogger { + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) = 0; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) = 0; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) = 0; + public virtual ~EventLogger() = default; +} + +class facebook::react::EventQueue { + protected const std::unique_ptr eventBeat_; + protected facebook::react::EventQueueProcessor eventProcessor_; + protected mutable std::mutex queueMutex_; + protected mutable std::vector eventQueue_; + protected mutable std::vector stateUpdateQueue_; + protected void flushEvents(facebook::jsi::Runtime& runtime) const; + protected void flushStateUpdates() const; + protected void onBeat(facebook::jsi::Runtime& runtime) const; + protected void onEnqueue() const; + public EventQueue(facebook::react::EventQueueProcessor eventProcessor, std::unique_ptr eventBeat); + public void enqueueEvent(facebook::react::RawEvent&& rawEvent) const; + public void enqueueStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void enqueueUniqueEvent(facebook::react::RawEvent&& rawEvent) const; +} + +enum facebook::react::EventQueue::UpdateMode { + Asynchronous, + unstable_Immediate, +} + +class facebook::react::EventQueueProcessor { + public EventQueueProcessor(facebook::react::EventPipe eventPipe, facebook::react::EventPipeConclusion eventPipeConclusion, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public void flushEvents(facebook::jsi::Runtime& runtime, std::vector&& events) const; + public void flushStateUpdates(std::vector&& states) const; +} + +class facebook::react::EventSubscription { + public EventSubscription(const facebook::react::EventSubscription&) = delete; + public EventSubscription(facebook::react::EventSubscription&&) noexcept = default; + public EventSubscription(std::function remove); + public facebook::react::EventSubscription& operator=(const facebook::react::EventSubscription&) = delete; + public facebook::react::EventSubscription& operator=(facebook::react::EventSubscription&&) noexcept = default; + public void remove(); + public ~EventSubscription() = default; +} + +class facebook::react::EventTarget { + public EventTarget(facebook::react::InstanceHandle::Shared instanceHandle, facebook::react::SurfaceId surfaceId); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::EventTarget::Tag getTag() const; + public facebook::react::SurfaceId getSurfaceId() const; + public using Tag = int32_t; + public void release(facebook::jsi::Runtime& runtime); + public void retain(facebook::jsi::Runtime& runtime); + public void setEnabled(bool enabled); +} + +class facebook::react::FabricMountingManager { + public FabricMountingManager(const facebook::react::FabricMountingManager&) = delete; + public FabricMountingManager(jni::global_ref& javaUIManager); + public bool isViewAllocated(facebook::react::SurfaceId surfaceId, facebook::react::Tag tag); + public void captureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId); + public void clearPendingSnapshots(); + public void destroyUnmountedShadowNode(const facebook::react::ShadowNodeFamily& family); + public void dispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args); + public void drainPreallocateViewsQueue(); + public void executeMount(const facebook::react::MountingTransaction& transaction, bool synchronous = false); + public void maybePreallocateShadowNode(const facebook::react::ShadowNode& shadowNode); + public void onAllAnimationsComplete(); + public void onAnimationStarted(); + public void onSurfaceStart(facebook::react::SurfaceId surfaceId); + public void onSurfaceStop(facebook::react::SurfaceId surfaceId); + public void onTransactionAvailable(facebook::react::SurfaceId surfaceId); + public void preallocateShadowView(const facebook::react::ShadowView& shadowView); + public void scheduleReactRevisionMerge(facebook::react::SurfaceId surfaceId); + public void sendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType); + public void setIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder); + public void setViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId); + public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); + public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag viewTag, const folly::dynamic& props); + public ~FabricMountingManager(); +} + +class facebook::react::FabricUIManagerBinding : public jni::HybridClass, public facebook::react::SchedulerDelegate, public facebook::react::LayoutAnimationStatusDelegate { + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public std::shared_ptr getScheduler(); +} + +class facebook::react::FocusOrderingHelper { + public static std::optional resolveFocusDirection(int direction); + public static std::shared_ptr findShadowNodeByTagRecursively(const std::shared_ptr& parentShadowNode, facebook::react::Tag tag); + public static void traverseAndUpdateNextFocusableElement(const std::shared_ptr& parentShadowNode, const std::shared_ptr& focusedShadowNode, const std::shared_ptr& currNode, facebook::react::FocusDirection focusDirection, const facebook::react::UIManager& uimanager, facebook::react::Rect sourceRect, std::optional& nextRect, std::shared_ptr& nextNode); +} + +class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + protected virtual void updateConfig(folly::dynamic config) override; + public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::FuseboxTracer { + public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; + public bool isTracing(); + public bool startTracing(); + public bool stopTracing(const std::function& resultCallback); + public bool stopTracingAndWriteToFile(const std::string& path); + public static facebook::react::FuseboxTracer& getFuseboxTracer(); + public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); +} + +class facebook::react::HermesInstance { + public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; +} + +class facebook::react::HighResDuration { + public constexpr HighResDuration(); + public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator!=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator==(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator==(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResDuration operator+(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator+(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator+=(const std::chrono::steady_clock::duration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const std::chrono::steady_clock::duration& rhs); + public constexpr int64_t toNanoseconds() const; + public constexpr operator std::chrono::steady_clock::duration() const; + public static constexpr facebook::react::HighResDuration fromChrono(std::chrono::steady_clock::duration chronoDuration); + public static constexpr facebook::react::HighResDuration fromMilliseconds(int64_t units); + public static constexpr facebook::react::HighResDuration fromNanoseconds(int64_t units); + public static constexpr facebook::react::HighResDuration zero(); + public static facebook::react::HighResDuration fromDOMHighResTimeStamp(double units); +} + +class facebook::react::HighResTimeStamp { + public HighResTimeStamp() noexcept; + public constexpr bool operator!=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator==(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResTimeStamp& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResTimeStamp& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr std::chrono::steady_clock::time_point toChronoSteadyClockTimePoint() const; + public static constexpr facebook::react::HighResTimeStamp fromChronoSteadyClockTimePoint(std::chrono::steady_clock::time_point chronoTimePoint); + public static constexpr facebook::react::HighResTimeStamp max() noexcept; + public static constexpr facebook::react::HighResTimeStamp min() noexcept; + public static facebook::react::HighResDuration unsafeOriginFromUnixTimeStamp() noexcept; + public static facebook::react::HighResTimeStamp fromDOMHighResTimeStamp(double units); + public static facebook::react::HighResTimeStamp now() noexcept; +} + +class facebook::react::HostPlatformParagraphProps : public facebook::react::BaseParagraphProps { + public HostPlatformParagraphProps() = default; + public HostPlatformParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public std::optional dataDetectorType; + public std::optional selectionColor; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::HostPlatformScrollViewProps : public facebook::react::BaseScrollViewProps { + public HostPlatformScrollViewProps() = default; + public HostPlatformScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool nestedScrollEnabled; + public bool sendMomentumEvents; + public facebook::react::SharedColor endFillColor; + public folly::dynamic fadingEdgeLength; + public std::string overScrollMode; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::HostPlatformViewProps : public facebook::react::BaseViewProps { + public HostPlatformViewProps() = default; + public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public bool focusable; + public bool needsOffscreenAlphaCompositing; + public bool renderToHardwareTextureAndroid; + public bool screenReaderFocusable; + public facebook::react::Float elevation; + public std::optional nativeBackground; + public std::optional nativeForeground; + public std::optional nextFocusDown; + public std::optional nextFocusForward; + public std::optional nextFocusLeft; + public std::optional nextFocusRight; + public std::optional nextFocusUp; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::IAsyncEventEmitter { + public IAsyncEventEmitter() noexcept = default; + public IAsyncEventEmitter(const facebook::react::IAsyncEventEmitter&) = delete; + public IAsyncEventEmitter(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public facebook::react::IAsyncEventEmitter& operator=(const facebook::react::IAsyncEventEmitter&) = delete; + public facebook::react::IAsyncEventEmitter& operator=(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const = 0; + public virtual ~IAsyncEventEmitter() noexcept = default; +} + +class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ImageErrorInfo { + public int responseCode; + public std::string error; + public std::vector> httpResponseHeaders; +} + +class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onError(const facebook::react::ImageErrorInfo& error) const; + public void onLoad(const facebook::react::ImageSource& source) const; + public void onLoadEnd() const; + public void onLoadStart() const; + public void onPartialLoad() const; + public void onProgress(double progress, int64_t loaded, int64_t total) const; +} + +class facebook::react::ImageLoadError { + public ImageLoadError(std::shared_ptr error); + public std::shared_ptr getError() const; +} + +class facebook::react::ImageManager { + public ImageManager(const std::shared_ptr& contextContainer); + public virtual facebook::react::ImageRequest requestImage(const facebook::react::ImageSource& imageSource, facebook::react::SurfaceId surfaceId, const facebook::react::ImageRequestParams& imageRequestParams = {}, facebook::react::Tag tag = {}) const; + public virtual ~ImageManager(); +} + +class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { + public ImageProps() = default; + public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool shouldNotifyLoadEvents; + public facebook::react::EdgeInsets capInsets; + public facebook::react::Float blurRadius; + public facebook::react::Float resizeMultiplier; + public facebook::react::ImageResizeMode resizeMode; + public facebook::react::ImageSource defaultSource; + public facebook::react::ImageSource loadingIndicatorSource; + public facebook::react::ImageSources sources; + public facebook::react::SharedColor overlayColor; + public std::optional progressiveRenderingEnabled; + public std::optional fadeDuration; + public std::optional tintColor; + public std::string resizeMethod; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ImageRequest { + public ImageRequest(const facebook::react::ImageRequest& other) = delete; + public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; + public ImageRequest(facebook::react::ImageSource imageSource, std::shared_ptr telemetry, facebook::react::SharedFunction<> resumeFunction = {}, facebook::react::SharedFunction<> cancelationFunction = {}); + public const facebook::react::ImageResponseObserverCoordinator& getObserverCoordinator() const; + public const facebook::react::ImageSource& getImageSource() const; + public const std::shared_ptr& getSharedObserverCoordinator() const; + public const std::shared_ptr& getSharedTelemetry() const; + public facebook::react::ImageRequest& operator=(const facebook::react::ImageRequest& other) = delete; + public facebook::react::ImageRequest& operator=(facebook::react::ImageRequest&& other) noexcept = default; + public ~ImageRequest() = default; +} + +class facebook::react::ImageRequestParams { + public ImageRequestParams() = default; + public ImageRequestParams(facebook::react::Float blurRadius, facebook::react::ImageSource defaultSource, facebook::react::ImageResizeMode resizeMode, std::string resizeMethod, facebook::react::Float resizeMultiplier, bool shouldNotifyLoadEvents, facebook::react::SharedColor overlayColor, std::optional tintColor, facebook::react::Float fadeDuration, bool progressiveRenderingEnabled, facebook::react::ImageSource loadingIndicatorSource, std::string analyticTag, facebook::react::Size size); + public bool operator==(const facebook::react::ImageRequestParams& rhs) const = default; + public bool progressiveRenderingEnabled; + public bool shouldNotifyLoadEvents; + public facebook::react::Float blurRadius; + public facebook::react::Float fadeDuration; + public facebook::react::Float resizeMultiplier; + public facebook::react::ImageResizeMode resizeMode; + public facebook::react::ImageSource defaultSource; + public facebook::react::ImageSource loadingIndicatorSource; + public facebook::react::SharedColor overlayColor; + public facebook::react::Size size; + public std::optional tintColor; + public std::string analyticTag; + public std::string resizeMethod; +} + +class facebook::react::ImageResponse { + public ImageResponse(std::shared_ptr image, std::shared_ptr metadata); + public std::shared_ptr getImage() const; + public std::shared_ptr getMetadata() const; +} + +enum facebook::react::ImageResponse::Status { + Cancelled, + Completed, + Consumed, + Failed, + Loading, +} + +class facebook::react::ImageResponseObserver { + public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const = 0; + public virtual void didReceiveImage(const facebook::react::ImageResponse& imageResponse) const = 0; + public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const = 0; + public virtual ~ImageResponseObserver() noexcept = default; +} + +class facebook::react::ImageResponseObserverCoordinator { + public ImageResponseObserverCoordinator(facebook::react::SharedFunction<> resumeFunction, facebook::react::SharedFunction<> cancelationFunction); + public void addObserver(std::shared_ptr observer) const; + public void nativeImageResponseComplete(const facebook::react::ImageResponse& imageResponse) const; + public void nativeImageResponseFailed(const facebook::react::ImageLoadError& loadError) const; + public void nativeImageResponseProgress(float progress, int64_t loaded, int64_t total) const; + public void removeObserver(const std::shared_ptr& observer) const; +} + +class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { + public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setImageManager(const std::shared_ptr& imageManager); +} + +class facebook::react::ImageSource { + public bool operator==(const facebook::react::ImageSource& rhs) const; + public facebook::react::Float scale; + public facebook::react::ImageSource::CacheStategy cache; + public facebook::react::ImageSource::Type type; + public facebook::react::Size size; + public folly::dynamic toDynamic() const; + public std::string body; + public std::string bundle; + public std::string method; + public std::string uri; + public std::vector> headers; +} + +enum facebook::react::ImageSource::CacheStategy { + Default, + ForceCache, + OnlyIfCached, + Reload, +} + +enum facebook::react::ImageSource::Type { + Invalid, + Local, + Remote, +} + +class facebook::react::ImageState { + public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const facebook::react::ImageRequestParams& imageRequestParams); + public ImageState(const facebook::react::ImageState& previousState, folly::dynamic data); + public const facebook::react::ImageRequest& getImageRequest() const; + public const facebook::react::ImageRequestParams& getImageRequestParams() const; + public facebook::react::ImageSource getImageSource() const; + public folly::dynamic getDynamic() const; +} + +class facebook::react::ImageTelemetry { + public ImageTelemetry(const facebook::react::SurfaceId surfaceId); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; +} + +class facebook::react::InspectorNetworkRequestListener : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + public void onCompletion(); + public void onData(jni::alias_ref data); + public void onError(jni::alias_ref message); + public void onHeaders(jint httpStatusCode, jni::alias_ref> headers); +} + +class facebook::react::InstanceHandle { + public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::Tag getTag() const; + public using Shared = std::shared_ptr; +} + +class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { + public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; + public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; + public virtual void update() override; +} + +class facebook::react::JArrayBuffer : public jni::HybridClass { + public JArrayBuffer(std::shared_ptr buffer, bool owningBytes) noexcept; + public bool hasBytes() const noexcept; + public bool isOwningBytes() const noexcept; + public const std::shared_ptr& mutableBuffer() const; + public static constexpr auto kJavaDescriptor; + public static jni::local_ref createOwned(const void* bytes, size_t size); + public static jni::local_ref createOwning(std::shared_ptr buffer); + public static jni::local_ref createUnowned(void* bytes, size_t size); + public static std::shared_ptr toJSBuffer(facebook::jsi::Runtime& runtime, jni::alias_ref arrayBuffer); + public static void registerNatives(); + public void invalidate() noexcept; +} + +class facebook::react::JBindingsInstaller : public jni::HybridClass, public facebook::react::BindingsInstaller { + public static constexpr auto kJavaDescriptor; + public ~JBindingsInstaller(); +} + +class facebook::react::JByteBufferMutableBuffer : public facebook::jsi::MutableBuffer { + public JByteBufferMutableBuffer(const facebook::react::JByteBufferMutableBuffer&) = delete; + public JByteBufferMutableBuffer(facebook::react::JByteBufferMutableBuffer&&) = delete; + public JByteBufferMutableBuffer(jni::alias_ref byteBuffer); + public facebook::react::JByteBufferMutableBuffer& operator=(const facebook::react::JByteBufferMutableBuffer&) = delete; + public facebook::react::JByteBufferMutableBuffer& operator=(facebook::react::JByteBufferMutableBuffer&&) = delete; + public virtual size_t size() const override; + public virtual uint8_t* data() override; + public ~JByteBufferMutableBuffer() override; +} + +class facebook::react::JCxxCallbackImpl : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::JDynamicNative : public jni::HybridClass { + public JDynamicNative(folly::dynamic payload); + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::JFabricUIManager : public facebook::jni::JavaClass { + public facebook::react::FabricUIManagerBinding* getBinding(); + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JHermesInstance : public jni::HybridClass { + public JHermesInstance(bool allocInOldGenBeforeTTI); + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref, bool allocInOldGenBeforeTTI); + public static void registerNatives(); + public std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept; + public ~JHermesInstance(); +} + +class facebook::react::JJSRuntimeFactory : public jni::HybridClass, public JSRuntimeFactory { + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JJSTimerExecutor : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static void initHybrid(jni::alias_ref jobj); + public static void registerNatives(); + public void callTimers(facebook::react::WritableNativeArray* timerIDs); + public void setTimerManager(std::weak_ptr timerManager); +} + +class facebook::react::JMessageQueueThread : public facebook::react::MessageQueueThread { + public JMessageQueueThread(jni::alias_ref jobj); + public virtual void quitSynchronous() override; + public virtual void runOnQueue(std::function&& runnable) override; + public virtual void runOnQueueSync(std::function&& runnable) override; +} + +class facebook::react::JNativeModulePerfLogger : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public virtual std::unique_ptr get() = 0; +} + +class facebook::react::JPreparedLayout : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JReactExceptionManager : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void reportJsException(facebook::jsi::Runtime& runtime, const facebook::react::JsErrorHandler::ProcessedError& error); +} + +class facebook::react::JReactHostInspectorTarget : public jni::HybridClass, public facebook::react::jsinspector_modern::HostTargetDelegate { + public bool startBackgroundTrace(); + public facebook::react::jsinspector_modern::HostTarget* getInspectorTarget(); + public jboolean stopAndMaybeEmitBackgroundTrace(); + public jlong registerTracingStateListener(jni::alias_ref listener); + public jni::local_ref getTracingState(); + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref jobj, jni::alias_ref reactHost, jni::alias_ref javaExecutor); + public static void registerNatives(); + public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&) override; + public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() override; + public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate() override; + public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&) override; + public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) override; + public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) override; + public void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) override; + public void recordFrameTimings(jni::alias_ref frameTimingSequence); + public void sendDebuggerResumeCommand(); + public void stopTracing(); + public void unregisterTracingStateListener(jlong subscriptionId); + public ~JReactHostInspectorTarget() override; +} + +class facebook::react::JReactInstance : public jni::HybridClass { + public jni::alias_ref getBufferedRuntimeExecutor() noexcept; + public jni::alias_ref getUnbufferedRuntimeExecutor() noexcept; + public jni::alias_ref getRuntimeScheduler() noexcept; + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref, jni::alias_ref jsRuntimeFactory, jni::alias_ref jsMessageQueueThread, jni::alias_ref nativeMessageQueueThread, jni::alias_ref javaTimerManager, jni::alias_ref jsTimerExecutor, jni::alias_ref jReactExceptionManager, jni::alias_ref jBindingsInstaller, bool isProfiling, jni::alias_ref jReactHostInspectorTarget); + public static void registerNatives(); + public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, facebook::react::NativeArray* args); + public void handleMemoryPressureJs(jint level); + public void loadJSBundleFromAssets(jni::alias_ref assetManager, const std::string& assetURL); + public void loadJSBundleFromFile(const std::string& fileName, const std::string& sourceURL); + public void registerSegment(int segmentId, const std::string& segmentPath) noexcept; + public void unregisterFromInspector(); +} + +class facebook::react::JReactMarker : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + public static void setLogPerfMarkerIfNeeded(); +} + +class facebook::react::JReactSoftExceptionLogger : public facebook::jni::JavaClass { + public static constexpr char* kJavaDescriptor; + public static void logNoThrowSoftExceptionWithMessage(std::string tag, std::string message); +} + +class facebook::react::JReadableMapBuffer : public jni::HybridClass { + public JReadableMapBuffer(facebook::react::MapBuffer&& map); + public static constexpr auto kJavaDescriptor; + public static jni::local_ref createWithContents(facebook::react::MapBuffer&& map); + public std::vector data() const; +} + +class facebook::react::JRuntimeExecutor : public jni::HybridClass { + public facebook::react::RuntimeExecutor get(); + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JRuntimeScheduler : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public std::weak_ptr get(); +} + +class facebook::react::JSBigBufferString : public facebook::react::JSBigString { + public JSBigBufferString(size_t size); + public char* mutableData(); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigBufferString() override; +} + +class facebook::react::JSBigFileString : public facebook::react::JSBigString { + public JSBigFileString(int fd, size_t size, off_t offset = 0); + public int fd() const; + public static std::unique_ptr fromPath(const std::string& sourceURL); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigFileString() override; +} + +class facebook::react::JSBigStdString : public facebook::react::JSBigString { + public JSBigStdString(std::string str, bool isAscii = false); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; +} + +class facebook::react::JSBigString : public facebook::jsi::Buffer { + public JSBigString() = default; + public JSBigString(const facebook::react::JSBigString&) = delete; + public JSBigString(facebook::react::JSBigString&&) = delete; + public facebook::react::JSBigString& operator=(const facebook::react::JSBigString&) = delete; + public facebook::react::JSBigString& operator=(facebook::react::JSBigString&&) = delete; + public virtual bool isAscii() const = 0; + public virtual const char* c_str() const = 0; + public virtual const uint8_t* data() const final; + public virtual size_t size() const override = 0; + public ~JSBigString() override = default; +} + +class facebook::react::JWritableMapBuffer : public facebook::jni::JavaClass { + public facebook::react::MapBuffer getMapBuffer(); + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JavaInteropTurboModule : public facebook::react::JavaTurboModule { + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + public JavaInteropTurboModule(const facebook::react::JavaTurboModule::InitParams& params, const std::vector& methodDescriptors); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::JavaInteropTurboModule::MethodDescriptor { + public facebook::react::TurboModuleMethodValueKind jsiReturnKind; + public int jsArgCount; + public std::string jniSignature; + public std::string methodName; +} + +class facebook::react::JavaMessageQueueThread : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +class facebook::react::JavaTimerRegistry : public facebook::react::PlatformTimerRegistry { + public JavaTimerRegistry(jni::global_ref javaTimerManager); + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) override; + public virtual void createTimer(uint32_t timerID, double delayMS) override; + public virtual void deleteTimer(uint32_t timerID) override; +} + +class facebook::react::JavaTurboModule : public facebook::react::TurboModule { + protected void configureEventEmitterCallback(); + protected void setEventEmitterCallback(jni::alias_ref); + public JavaTurboModule(const facebook::react::JavaTurboModule::InitParams& params); + public facebook::jsi::Value invokeJavaMethod(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleMethodValueKind valueKind, const std::string& methodName, const std::string& methodSignature, const facebook::jsi::Value* args, size_t argCount, jmethodID& cachedMethodID); + public virtual ~JavaTurboModule(); +} + +struct facebook::react::JavaTurboModule::InitParams { + public jni::alias_ref instance; + public std::shared_ptr jsInvoker; + public std::shared_ptr nativeMethodCallInvoker; + public std::string moduleName; +} + +class facebook::react::JsErrorHandler { + public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); + public bool hasHandledFatalError(); + public bool inErrorHandler(); + public bool isRuntimeReady(); + public using OnJsError = std::function; + public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); + public void notifyOfFatalError(); + public void registerErrorListener(const std::function& listener); + public void setRuntimeReady(); + public ~JsErrorHandler(); +} + +struct facebook::react::JsErrorHandler::ProcessedError { + public bool isFatal; + public facebook::jsi::Object extraData; + public int id; + public std::optional componentStack; + public std::optional name; + public std::optional originalMessage; + public std::string message; + public std::vector stack; +} + +struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { + public std::optional column; + public std::optional lineNumber; + public std::optional file; + public std::string methodName; +} + +class facebook::react::LayoutAnimationCallbackWrapper { + public LayoutAnimationCallbackWrapper(); + public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); + public void call(facebook::jsi::Runtime& runtime) const; +} + +class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; + public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); +} + +class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { + protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected facebook::react::ShadowView createInterpolatedShadowView(facebook::react::Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; + protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; + protected mutable std::mutex currentAnimationMutex_; + protected mutable std::optional currentAnimation_; + protected mutable std::vector inflightAnimations_; + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; + protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; + protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; + public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); + public virtual bool shouldAnimateFrame() const override; + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; + public void setClockNow(std::function now); + public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; + public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; +} + +class facebook::react::LayoutAnimationStatusDelegate { + public virtual void onAllAnimationsComplete() = 0; + public virtual void onAnimationStarted() = 0; + public virtual ~LayoutAnimationStatusDelegate() = default; +} + +class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { + public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; + public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; +} + +class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { + public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::LayoutMetrics getLayoutMetrics() const; + public facebook::react::LayoutMetrics layoutMetrics_; + public facebook::react::LayoutableShadowNode::UnsharedList getLayoutableChildNodes() const; + public static facebook::react::LayoutMetrics computeLayoutMetricsFromRoot(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& rootNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNode::AncestorList& ancestors, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& ancestorNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static std::shared_ptr findNodeAtPoint(const std::shared_ptr& node, facebook::react::Point point); + public using UnsharedList = std::vector; + public virtual bool canBeTouchTarget() const; + public virtual bool canChildrenBeTouchTarget() const; + public virtual bool getIsLayoutClean() const = 0; + public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const; + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const; + public virtual facebook::react::Size measure(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Transform getTransform() const; + public virtual void dirtyLayout() = 0; + public virtual void layout(facebook::react::LayoutContext layoutContext) = 0; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) = 0; + public void setLayoutMetrics(facebook::react::LayoutMetrics layoutMetrics); +} + +struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { + public bool clipSpecifiedAncestor; + public bool enableOverflowClipping; + public bool includeTransform; + public bool includeViewportOffset; +} + +class facebook::react::LineMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::Size size; +} + +class facebook::react::LongLivedObject { + protected LongLivedObject(facebook::jsi::Runtime& runtime); + protected facebook::jsi::Runtime& runtime_; + protected virtual ~LongLivedObject() = default; + public virtual void allowRelease(); +} + +class facebook::react::LongLivedObjectCollection { + public LongLivedObjectCollection() = default; + public LongLivedObjectCollection(const facebook::react::LongLivedObjectCollection&) = delete; + public size_t size() const; + public static facebook::react::LongLivedObjectCollection& get(facebook::jsi::Runtime& runtime); + public void add(std::shared_ptr o); + public void clear(); + public void operator=(const facebook::react::LongLivedObjectCollection&) = delete; + public void remove(const facebook::react::LongLivedObject* o); +} + +class facebook::react::MapBuffer { + public MapBuffer(const facebook::react::MapBuffer& buffer) = delete; + public MapBuffer(facebook::react::MapBuffer&& buffer) = default; + public MapBuffer(std::vector data); + public bool getBool(facebook::react::MapBuffer::Key key) const; + public const uint8_t* data() const; + public double getDouble(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer getMapBuffer(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer& operator=(const facebook::react::MapBuffer& other) = delete; + public facebook::react::MapBuffer& operator=(facebook::react::MapBuffer&& other) = default; + public int32_t getInt(facebook::react::MapBuffer::Key key) const; + public int64_t getLong(facebook::react::MapBuffer::Key key) const; + public size_t size() const; + public std::string getString(facebook::react::MapBuffer::Key key) const; + public std::vector getDoubleBuffer(facebook::react::MapBuffer::Key key) const; + public std::vector getMapBufferList(facebook::react::MapBuffer::Key key) const; + public std::vector getIntBuffer(facebook::react::MapBuffer::Key key) const; + public uint16_t count() const; + public using Key = uint16_t; +} + +enum facebook::react::MapBuffer::DataType : uint16_t { + Boolean, + Double, + DoubleBuffer, + Int, + IntBuffer, + Long, + Map, + MapBufferList, + String, +} + +struct facebook::react::MapBuffer::Bucket { + public Bucket(facebook::react::MapBuffer::Key key, uint16_t type, uint64_t data); + public facebook::react::MapBuffer::Key key; + public uint16_t type; + public uint64_t data; +} + +struct facebook::react::MapBuffer::Header { + public uint16_t count; +} + +class facebook::react::MapBufferBuilder { + public MapBufferBuilder(uint32_t initialSize = facebook::react::INITIAL_BUCKETS_SIZE); + public facebook::react::MapBuffer build(); + public static facebook::react::MapBuffer EMPTY(); + public void putBool(facebook::react::MapBuffer::Key key, bool value); + public void putDouble(facebook::react::MapBuffer::Key key, double value); + public void putDoubleBuffer(facebook::react::MapBuffer::Key key, const std::vector& value); + public void putInt(facebook::react::MapBuffer::Key key, int32_t value); + public void putIntBuffer(facebook::react::MapBuffer::Key key, const std::vector& value); + public void putLong(facebook::react::MapBuffer::Key key, int64_t value); + public void putMapBuffer(facebook::react::MapBuffer::Key key, const facebook::react::MapBuffer& map); + public void putMapBufferList(facebook::react::MapBuffer::Key key, const std::vector& mapBufferList); + public void putString(facebook::react::MapBuffer::Key key, const std::string& value); +} + +class facebook::react::MergedValueDispatcher { + public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); + public using DispatchFunction = std::function&&)>; + public using MergedValueFunction = std::function&& tagToProps)>; + public void dispatch(const std::unordered_map& value); +} + +class facebook::react::MessageQueueThread { + public virtual void quitSynchronous() = 0; + public virtual void runOnQueue(std::function&&) = 0; + public virtual void runOnQueueSync(std::function&&) = 0; + public virtual ~MessageQueueThread() = default; +} + +class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ModalHostViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public static char const* toString(const facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation value); + public void onDismiss(facebook::react::ModalHostViewEventEmitter::OnDismiss value) const; + public void onOrientationChange(facebook::react::ModalHostViewEventEmitter::OnOrientationChange value) const; + public void onRequestClose(facebook::react::ModalHostViewEventEmitter::OnRequestClose value) const; + public void onShow(facebook::react::ModalHostViewEventEmitter::OnShow value) const; +} + +enum facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation { + Landscape, + Portrait, +} + +struct facebook::react::ModalHostViewEventEmitter::OnDismiss { +} + +struct facebook::react::ModalHostViewEventEmitter::OnOrientationChange { + public facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation orientation; +} + +struct facebook::react::ModalHostViewEventEmitter::OnRequestClose { +} + +struct facebook::react::ModalHostViewEventEmitter::OnShow { +} + +class facebook::react::ModalHostViewProps : public facebook::react::HostPlatformViewProps { + public ModalHostViewProps() = default; + public ModalHostViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ModalHostViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool allowSwipeDismissal; + public bool hardwareAccelerated; + public bool navigationBarTranslucent; + public bool statusBarTranslucent; + public bool transparent; + public bool visible; + public facebook::react::ModalHostViewAnimationType animationType; + public facebook::react::ModalHostViewPresentationStyle presentationStyle; + public facebook::react::ModalHostViewSupportedOrientationsMask supportedOrientations; + public int identifier; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::ModalHostViewState { + public ModalHostViewState(); + public ModalHostViewState(const facebook::react::ModalHostViewState& previousState, folly::dynamic data); + public ModalHostViewState(facebook::react::Size screenSize_); + public const facebook::react::Size screenSize; + public folly::dynamic getDynamic() const; + public using Shared = std::shared_ptr; +} + +class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { + public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MountingCoordinator { + public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); + public bool hasPendingTransactions() const; + public bool waitForTransaction(std::chrono::duration timeout) const; + public const facebook::react::TelemetryController& getTelemetryController() const; + public facebook::react::ShadowTreeRevision getBaseRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional pullTransaction(bool willPerformAsynchronously = false) const; + public void didPerformAsyncTransactions() const; + public void setMountingOverrideDelegate(std::weak_ptr delegate) const; +} + +class facebook::react::MountingOverrideDelegate { + public virtual bool shouldOverridePullTransaction() const = 0; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; + public virtual ~MountingOverrideDelegate() = default; +} + +class facebook::react::MountingTransaction { + public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; + public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; + public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); + public const facebook::react::ShadowViewMutationList& getMutations() const; + public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; + public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; + public facebook::react::MountingTransaction::Number getNumber() const; + public facebook::react::ShadowViewMutationList getMutations(); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TransactionTelemetry& getTelemetry() const; + public using Number = int64_t; + public void mergeWith(facebook::react::MountingTransaction&& transaction); +} + +class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { + public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::NativeAccessibilityInfoSpecJSI : public facebook::react::JavaTurboModule { + public NativeAccessibilityInfoSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAccessibilityManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeAccessibilityManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeActionSheetManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeActionSheetManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAlertManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeAlertManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAnimatedModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeAnimatedModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { + public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; + public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; + public bool commitProps(); + public bool hasManagedProps() const noexcept; + public bool isOnRenderThread() const noexcept; + public bool useSharedAnimatedBackend() const noexcept; + public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); + public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); + public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; + public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; + public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; + public std::optional getValue(facebook::react::Tag tag) noexcept; + public std::shared_ptr getEventEmitterListener() noexcept; + public using DirectManipulationCallback = std::function; + public using FabricCommitCallback = std::function&)>; + public using FrameRateListenerCallback = std::function; + public using ResolvePlatformColor = std::function; + public using StartOnRenderCallback = std::function&&, bool isAsync)>; + public using StopOnRenderCallback = std::function; + public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; + public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; + public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void dropAnimatedNode(facebook::react::Tag tag) noexcept; + public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); + public void flattenAnimatedNodeOffset(facebook::react::Tag tag); + public void flushAnimatedNodesCreatedAsync() noexcept; + public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); + public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; + public void onRender(); + public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; + public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; + public void restoreDefaultValues(facebook::react::Tag tag) noexcept; + public void scheduleOnUI(facebook::react::UiTask&& task); + public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; + public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); + public void setAnimatedNodeValue(facebook::react::Tag tag, double value); + public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; + public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; + public void startRenderCallbackIfNeeded(bool isAsync); + public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; + public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; + public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; + public ~NativeAnimatedNodesManager() noexcept; + template >> + public T* getAnimatedNode(facebook::react::Tag tag) const; +} + +class facebook::react::NativeAnimatedNodesManagerProvider { + public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); + public std::shared_ptr getEventEmitterListener(); + public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public void addEventEmitterListener(const std::shared_ptr& listener); +} + +class facebook::react::NativeAnimatedTurboModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeAnimatedTurboModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAppStateSpecJSI : public facebook::react::JavaTurboModule { + public NativeAppStateSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeAppearanceSpecJSI : public facebook::react::JavaTurboModule { + public NativeAppearanceSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeArray : public jni::HybridClass { + protected NativeArray(const facebook::react::NativeArray&) = delete; + protected facebook::react::NativeArray& operator=(const facebook::react::NativeArray&) = delete; + protected folly::dynamic array_; + protected friend HybridBase; + protected void assertInternalType(); + protected void throwIfConsumed(); + public bool isConsumed; + public const folly::dynamic& getArray() const; + public folly::dynamic consume(); + public jni::local_ref toString(); + public static constexpr auto * kJavaDescriptor; + public static void registerNatives(); + template + protected NativeArray(Dyn&& array); +} + +class facebook::react::NativeBlobModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeBlobModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeClipboardSpecJSI : public facebook::react::JavaTurboModule { + public NativeClipboardSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDevLoadingViewSpecJSI : public facebook::react::JavaTurboModule { + public NativeDevLoadingViewSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDevMenuSpecJSI : public facebook::react::JavaTurboModule { + public NativeDevMenuSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDevSettingsSpecJSI : public facebook::react::JavaTurboModule { + public NativeDevSettingsSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDeviceEventManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeDeviceEventManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDeviceInfoSpecJSI : public facebook::react::JavaTurboModule { + public NativeDeviceInfoSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeDialogManagerAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeDialogManagerAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeExceptionsManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeExceptionsManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeFileReaderModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeFileReaderModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeFrameRateLoggerSpecJSI : public facebook::react::JavaTurboModule { + public NativeFrameRateLoggerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeHeadlessJsTaskSupportSpecJSI : public facebook::react::JavaTurboModule { + public NativeHeadlessJsTaskSupportSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeI18nManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeI18nManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeImageEditorSpecJSI : public facebook::react::JavaTurboModule { + public NativeImageEditorSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeImageLoaderAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeImageLoaderAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeImageStoreAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeImageStoreAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeIntentAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeIntentAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeJSCHeapCaptureSpecJSI : public facebook::react::JavaTurboModule { + public NativeJSCHeapCaptureSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeKeyboardObserverSpecJSI : public facebook::react::JavaTurboModule { + public NativeKeyboardObserverSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeLinkingManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeLinkingManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeLogBoxSpecJSI : public facebook::react::JavaTurboModule { + public NativeLogBoxSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeMap : public jni::HybridClass { + protected NativeMap(const facebook::react::NativeMap&) = delete; + protected facebook::react::NativeMap& operator=(const facebook::react::NativeMap&) = delete; + protected folly::dynamic map_; + protected friend HybridBase; + protected void throwIfConsumed(); + public bool isConsumed; + public folly::dynamic consume(); + public jni::local_ref toString(); + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + template + protected NativeMap(Dyn&& map); +} + +class facebook::react::NativeMethodCallInvoker { + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept = 0; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) = 0; + public virtual ~NativeMethodCallInvoker() = default; +} + +class facebook::react::NativeMethodCallInvokerHolder : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public std::shared_ptr getNativeMethodCallInvoker(); +} + +class facebook::react::NativeModulePerfLogger { + public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; + public virtual void asyncMethodCallBatchPreprocessStart() = 0; + public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; + public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual ~NativeModulePerfLogger() = default; +} + +class facebook::react::NativeNetworkingAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeNetworkingAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativePermissionsAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativePermissionsAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativePlatformConstantsAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativePlatformConstantsAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeReactDevToolsRuntimeSettingsModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeReactDevToolsRuntimeSettingsModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeReactDevToolsSettingsManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeReactDevToolsSettingsManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeRedBoxSpecJSI : public facebook::react::JavaTurboModule { + public NativeRedBoxSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::JavaTurboModule { + public NativeSegmentFetcherSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeSettingsManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeSettingsManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeShareModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeShareModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeSoundManagerSpecJSI : public facebook::react::JavaTurboModule { + public NativeSoundManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeSourceCodeSpecJSI : public facebook::react::JavaTurboModule { + public NativeSourceCodeSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeStatusBarManagerAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeStatusBarManagerAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeTimingSpecJSI : public facebook::react::JavaTurboModule { + public NativeTimingSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeToastAndroidSpecJSI : public facebook::react::JavaTurboModule { + public NativeToastAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeVibrationSpecJSI : public facebook::react::JavaTurboModule { + public NativeVibrationSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::NativeViewTransition : public facebook::react::NativeViewTransitionCxxSpec { + public NativeViewTransition(std::shared_ptr jsInvoker); + public facebook::jsi::Value findPseudoElementShadowNodeByTag(facebook::jsi::Runtime& rt, double reactTag); + public std::optional getViewTransitionInstance(facebook::jsi::Runtime& rt, const std::string& name, const std::string& pseudo); + public void transitionAnimationFinished(facebook::jsi::Runtime& rt, double animationId); + public void waitForTransitionAnimation(facebook::jsi::Runtime& rt, double animationId); +} + +class facebook::react::NativeWebSocketModuleSpecJSI : public facebook::react::JavaTurboModule { + public NativeWebSocketModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); +} + +class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { + public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(std::string propKey, folly::dynamic& props); +} + +class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { + protected std::vector inputNodes_; + public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); +} + +class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { + public bool adjustsFontSizeToFit; + public bool includeFontPadding; + public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; + public facebook::react::EllipsizeMode ellipsizeMode; + public facebook::react::Float minimumFontScale; + public facebook::react::Float minimumFontSize; + public facebook::react::HyphenationFrequency android_hyphenationFrequency; + public facebook::react::TextBreakStrategy textBreakStrategy; + public facebook::react::TextWidthMode textWidthMode; + public int maximumNumberOfLines; + public std::optional textAlignVertical; +} + +class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; +} + +class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +class facebook::react::ParagraphShadowNode::Content { + public facebook::react::AttributedString attributedString; + public facebook::react::BaseTextShadowNode::Attachments attachments; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::ParagraphState { + public ParagraphState() = default; + public ParagraphState(const facebook::react::ParagraphState&, const folly::dynamic&); + public ParagraphState(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, std::weak_ptr layoutManager); + public ParagraphState(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, std::weak_ptr layoutManager, facebook::react::MeasuredPreparedTextLayout measuredLayout); + public facebook::react::AttributedString attributedString; + public facebook::react::MapBuffer getMapBuffer() const; + public facebook::react::MeasuredPreparedTextLayout measuredLayout; + public facebook::react::ParagraphAttributes paragraphAttributes; + public folly::dynamic getDynamic() const; + public jni::local_ref getJNIReference() const; + public std::weak_ptr layoutManager; +} + +class facebook::react::PerformanceTracerCxxInterop : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static jboolean isTracing(facebook::jni::alias_ref jthis); + public static jint subscribeToTracingStateChanges(facebook::jni::alias_ref jthis, facebook::jni::alias_ref callback); + public static void registerNatives(); + public static void reportMark(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong timestampNanos, facebook::jni::alias_ref detail); + public static void reportMeasure(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong startTimestampNanos, jlong durationNanos, facebook::jni::alias_ref detail); + public static void reportTimeStamp(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong startTimeNanos, jlong endTimeNanos, facebook::jni::alias_ref trackName, facebook::jni::alias_ref trackGroup, facebook::jni::alias_ref color); + public static void unsubscribeFromTracingStateChanges(facebook::jni::alias_ref jthis, jint subscriptionId); +} + +class facebook::react::PlatformTimerRegistry { + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; + public virtual void createTimer(uint32_t timerID, double delayMS) = 0; + public virtual void deleteTimer(uint32_t timerID) = 0; + public virtual void quit(); + public virtual void setTimerManager(std::weak_ptr); + public virtual ~PlatformTimerRegistry() noexcept = default; +} + +class facebook::react::PointerEventsProcessor { + public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); + public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); + public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); +} + +class facebook::react::PointerHoverTracker { + public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); + public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; + public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; + public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; + public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; + public using EventPath = std::vector>; + public using Unique = std::unique_ptr; + public void markAsOld(); +} + +class facebook::react::PreparedTextCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::Float pointScaleFactor; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { + public Props() = default; + public Props(const facebook::react::Props& other) = default; + public Props(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::react::Props& operator=(const facebook::react::Props& other) = delete; + public folly::dynamic rawProps; + public std::string nativeId; + public using Shared = std::shared_ptr; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const; + public virtual ~Props() = default; + public void initializeDynamicProps(const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { + public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::SurfaceId connectedRootTag() const; + public facebook::react::Tag connectedViewTag() const; + public folly::dynamic props(); + public virtual void update() override; + public void collectProps(); + public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); + public void connectToView(facebook::react::Tag viewTag); + public void disconnectFromShadowNodeFamily(); + public void disconnectFromView(facebook::react::Tag viewTag); + public void restoreDefaultValues(); + public void update(bool forceFabricCommit); +} + +class facebook::react::PullToRefreshViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onRefresh(facebook::react::PullToRefreshViewEventEmitter::OnRefresh value) const; +} + +struct facebook::react::PullToRefreshViewEventEmitter::OnRefresh { +} + +class facebook::react::PullToRefreshViewProps : public facebook::react::HostPlatformViewProps { + public PullToRefreshViewProps() = default; + public PullToRefreshViewProps(const facebook::react::PropsParserContext& context, const facebook::react::PullToRefreshViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool refreshing; + public facebook::react::Float progressViewOffset; + public facebook::react::SharedColor tintColor; + public facebook::react::SharedColor titleColor; + public std::string title; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::RawProps { + public RawProps(); + public RawProps(const facebook::react::RawProps& other) noexcept; + public RawProps(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawProps(facebook::react::RawProps&& other) noexcept = default; + public RawProps(folly::dynamic dynamic) noexcept; + public bool isEmpty() const noexcept; + public const facebook::react::RawValue* at(const char* name) const noexcept; + public const facebook::react::RawValue* at(const char* name, const char* prefix, const char* suffix) const noexcept; + public const folly::dynamic* getDynamic() const noexcept; + public facebook::react::RawProps& operator=(const facebook::react::RawProps& other) noexcept = delete; + public facebook::react::RawProps& operator=(facebook::react::RawProps&& other) noexcept = delete; + public folly::dynamic toDynamic(const std::function& filterObjectKeys = nullptr) const; + public operator folly::dynamic() const; + public void parse(const facebook::react::RawPropsParser& parser) noexcept; + template + public void forEachItem(Fn fn) const; +} + +enum facebook::react::RawProps::Mode { + Dynamic, + Empty, + JSI, +} + +class facebook::react::RawPropsKeyMap { + public facebook::react::RawPropsValueIndex at(std::string_view name) noexcept; + public void insert(std::string_view key, facebook::react::RawPropsValueIndex value) noexcept; + public void reindex() noexcept; +} + +class facebook::react::RawPropsParser { + public RawPropsParser() = default; + public RawPropsParser(bool); + template + public void prepare() noexcept; +} + +class facebook::react::RawTextProps : public facebook::react::Props { + public RawTextProps() = default; + public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string text; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::RawValue { + public RawValue() noexcept; + public RawValue(const folly::dynamic& dynamic) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, facebook::jsi::Value&& value) noexcept; + public RawValue(facebook::react::RawValue&& other) noexcept; + public RawValue(folly::dynamic&& dynamic) noexcept; + public bool hasValue() const; + public facebook::react::RawValue& operator=(facebook::react::RawValue&& other) noexcept; + public operator folly::dynamic() const; + template + public bool hasType() const; + template + public operator T() const; +} + +class facebook::react::ReactInstance { + public ReactInstance(const facebook::react::ReactInstance&) = delete; + public ReactInstance(facebook::react::ReactInstance&&) = delete; + public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); + public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; + public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; + public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; + public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; + public std::shared_ptr createJSCallInvoker() noexcept; + public std::shared_ptr getRuntimeScheduler() noexcept; + public using BindingsInstallFunc = std::function; + public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); + public void handleMemoryPressureJs(int pressureLevel); + public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; + public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); + public void registerSegment(uint32_t segmentId, const std::string& segmentPath); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~ReactInstance() noexcept override; +} + +struct facebook::react::ReactInstance::JSRuntimeFlags { + public bool isProfiling; + public const std::string runtimeDiagnosticFlags; +} + +class facebook::react::ReactPerfettoLogger { + public static bool isTracing(); + public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); + public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); +} + +class facebook::react::ReadableNativeArray : public jni::HybridClass { + protected friend HybridBase; + public bool equals(jni::alias_ref other); + public jni::local_ref> importArray(); + public jni::local_ref> importTypeArray(); + public static constexpr char* kJavaDescriptor; + public static void mapException(std::exception_ptr ex); + public static void registerNatives(); + template + protected ReadableNativeArray(Dyn&& array); +} + +class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { + public RootProps() = default; + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; +} + +class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { + public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public bool layoutIfNeeded(std::vector* affectedNodes = {}); + public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using Shared = std::shared_ptr; + public using Unshared = std::shared_ptr; + public virtual facebook::react::Transform getTransform() const override; + public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; +} + +class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { + public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::RunLoopObserver { + protected const facebook::react::RunLoopObserver::Activity activities_; + protected const facebook::react::RunLoopObserver::WeakOwner owner_; + protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; + protected mutable std::atomic enabled_; + protected virtual void startObserving() const noexcept = 0; + protected virtual void stopObserving() const noexcept = 0; + protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; + public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; + public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; + public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; + public using Owner = std::shared_ptr; + public using WeakOwner = std::weak_ptr; + public virtual bool isOnRunLoopThread() const noexcept = 0; + public virtual ~RunLoopObserver() noexcept = default; + public void disable() const noexcept; + public void enable() const noexcept; + public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; +} + +class facebook::react::RunLoopObserver::Delegate { + public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; + public virtual ~Delegate() noexcept = default; +} + +enum facebook::react::RunLoopObserver::Activity : int32_t { + AfterWaiting, + BeforeWaiting, + None, +} + +class facebook::react::RuntimeScheduler : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; + public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); + public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; + public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; + public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual uint64_t registerTaskQueueSource() override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleTask(const std::function& task) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; + public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; +} + +class facebook::react::RuntimeSchedulerBase : public facebook::hermes::IEventLoopControl { + public virtual bool getShouldYield() noexcept = 0; + public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; + public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; + public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) = 0; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; + public virtual ~RuntimeSchedulerBase() = default; +} + +class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { + public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); + public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public std::shared_ptr getRuntimeScheduler() noexcept; + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; +} + +class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { + public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeSync(facebook::react::CallFunc&& func) override; +} + +class facebook::react::RuntimeSchedulerEventTimingDelegate { + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerEventTimingDelegate() = default; +} + +class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; +} + +class facebook::react::RuntimeSchedulerResizeObserverDelegate { + public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) = 0; + public virtual ~RuntimeSchedulerResizeObserverDelegate() = default; +} + +class facebook::react::SafeAreaViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::SafeAreaViewProps : public facebook::react::HostPlatformViewProps { + public SafeAreaViewProps() = default; + public SafeAreaViewProps(const facebook::react::PropsParserContext& context, const facebook::react::SafeAreaViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { + public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); + public facebook::react::SchedulerDelegate* getDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr getUIManager() const; + public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidClearPendingSnapshots() override; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; + public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; + public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; + public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) override; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void setDelegate(facebook::react::SchedulerDelegate* delegate); + public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public ~Scheduler() override; +} + +class facebook::react::SchedulerDelegate { + public virtual void schedulerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerDidClearPendingSnapshots() = 0; + public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; + public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void schedulerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates); + public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~SchedulerDelegate() noexcept = default; +} + +class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public using EndDragMetrics = facebook::react::ScrollEndDragEvent; + public using Metrics = facebook::react::ScrollEvent; + public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; + public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; + public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; +} + +class facebook::react::ScrollViewMaintainVisibleContentPosition { + public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; + public int minIndexForVisible; + public std::optional autoscrollToTopThreshold; +} + +class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; +} + +class facebook::react::ScrollViewState { + public ScrollViewState() = default; + public ScrollViewState(const facebook::react::ScrollViewState& previousState, folly::dynamic data); + public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); + public bool disableViewCulling; + public facebook::react::Point contentOffset; + public facebook::react::Rect contentBoundingRect; + public facebook::react::Size getContentSize() const; + public folly::dynamic getDynamic() const; + public int scrollAwayPaddingTop; +} + +class facebook::react::Sealable { + public bool getSealed() const; + public void ensureUnsealed() const; + public void seal() const; +} + +class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { + public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static constexpr facebook::react::ComponentName Name(); + public static facebook::react::ComponentHandle Handle(); +} + +class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { + protected facebook::react::Props::Shared props_; + protected facebook::react::ShadowNodeTraits traits_; + protected facebook::react::State::Shared state_; + protected int orderIndex_; + protected mutable std::weak_ptr runtimeShadowNodeReference_; + protected std::shared_ptr>> children_; + public ShadowNode(const facebook::react::ShadowNode& shadowNode) noexcept = delete; + public ShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ShadowNode(const facebook::react::ShadowNodeFragment& fragment, facebook::react::ShadowNodeFamily::Shared family, facebook::react::ShadowNodeTraits traits); + public bool getHasBeenPromoted() const; + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public const facebook::react::Props::Shared& getProps() const; + public const facebook::react::ShadowNodeFamily& getFamily() const; + public const facebook::react::SharedEventEmitter& getEventEmitter() const; + public const facebook::react::State::Shared& getState() const; + public const std::vector>& getChildren() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::ShadowNode& operator=(const facebook::react::ShadowNode& other) noexcept = delete; + public facebook::react::ShadowNodeFamily::Shared getFamilyShared() const; + public facebook::react::ShadowNodeTraits getTraits() const; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public int getOrderIndex() const; + public static bool getUseRuntimeShadowNodeReferenceUpdateOnThread(); + public static bool sameFamily(const facebook::react::ShadowNode& first, const facebook::react::ShadowNode& second); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public static std::shared_ptr>> emptySharedShadowNodeSharedList(); + public static void setUseRuntimeShadowNodeReferenceUpdateOnThread(bool isEnabled); + public std::shared_ptr getContextContainer() const; + public std::shared_ptr clone(const facebook::react::ShadowNodeFragment& fragment) const; + public std::shared_ptr cloneMultiple(const std::unordered_set>& familiesToUpdate, const std::function(const facebook::react::ShadowNode& oldShadowNode, const facebook::react::ShadowNodeFragment& fragment)>& callback) const; + public std::shared_ptr cloneTree(const facebook::react::ShadowNodeFamily& shadowNodeFamily, const std::function(const facebook::react::ShadowNode& oldShadowNode)>& callback) const; + public using AncestorList = std::vector, int>>; + public virtual void appendChild(const std::shared_ptr& child); + public virtual void completeClone(const facebook::react::ShadowNode&, const facebook::react::ShadowNodeFragment&); + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = std::numeric_limits::max()); + public void sealRecursive() const; + public void setMounted(bool mounted) const; + public void setRuntimeShadowNodeReference(const std::shared_ptr& runtimeShadowNodeReference) const; + public void transferRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public void updateRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode) const; + public ~ShadowNode() override = default; +} + +class facebook::react::ShadowNodeFamily : public facebook::jsi::NativeState { + public ShadowNodeFamily(const facebook::react::ShadowNodeFamilyFragment& fragment, facebook::react::SharedEventEmitter eventEmitter, facebook::react::EventDispatcher::Weak eventDispatcher, const facebook::react::ComponentDescriptor& componentDescriptor); + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::InstanceHandle::Shared getInstanceHandle() const; + public facebook::react::ShadowNodeFamily::AncestorList getAncestors(const facebook::react::ShadowNode& ancestorShadowNode) const; + public facebook::react::SharedEventEmitter getEventEmitter() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public mutable std::mutex nativePropsMutex; + public std::shared_ptr getMostRecentState() const; + public using AncestorList = std::vector, int>>; + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void dispatchRawState(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode); + public void onUnmountedFamilyDestroyed(std::function callback); + public void setInstanceHandle(facebook::react::InstanceHandle::Shared& instanceHandle); + public void setMostRecentState(const std::shared_ptr& state); + public void setMounted(); + public void setParent(const facebook::react::ShadowNodeFamily::Shared& parent); + public ~ShadowNodeFamily(); +} + +class facebook::react::ShadowNodeTraits { + public bool check(facebook::react::ShadowNodeTraits::Trait traits) const; + public facebook::react::ShadowNodeTraits::Trait get() const; + public void set(facebook::react::ShadowNodeTraits::Trait trait); + public void unset(facebook::react::ShadowNodeTraits::Trait trait); +} + +enum facebook::react::ShadowNodeTraits::Trait : int32_t { + BaselineYogaNode, + ChildrenAreShared, + ChildrenFormStackingContext, + DirtyYogaNode, + ForceFlattenView, + FormsStackingContext, + FormsView, + Hidden, + KeyboardFocusable, + LeafYogaNode, + MeasurableYogaNode, + None, + RootNodeKind, + Unstable_uncullableTrace, + Unstable_uncullableView, + ViewKind, +} + +class facebook::react::ShadowTree { + public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); + public bool promoteReactRevision() const; + public facebook::react::CommitMode getCommitMode() const; + public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::ShadowTreeRevision getCurrentRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional getCurrentReactRevision() const; + public std::shared_ptr getMountingCoordinator() const; + public using CommitMode = facebook::react::ShadowTreeCommitMode; + public using CommitOptions = facebook::react::ShadowTreeCommitOptions; + public using CommitSource = facebook::react::ShadowTreeCommitSource; + public using CommitStatus = facebook::react::ShadowTreeCommitStatus; + public using Unique = std::unique_ptr; + public void commitEmptyTree() const; + public void mergeReactRevision() const; + public void notifyDelegatesOfUpdates() const; + public void setCommitMode(facebook::react::CommitMode commitMode) const; + public ~ShadowTree(); +} + +class facebook::react::ShadowTreeDelegate { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; + public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) const; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; + public virtual ~ShadowTreeDelegate() noexcept = default; +} + +class facebook::react::ShadowTreeRegistry { + public ShadowTreeRegistry() = default; + public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; + public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; + public void add(std::unique_ptr&& shadowTree) const; + public void enumerate(const std::function& callback) const; + public ~ShadowTreeRegistry(); +} + +class facebook::react::ShadowTreeRevision { + public facebook::react::RootShadowNode::Shared rootShadowNode; + public facebook::react::ShadowTreeRevision::Number number; + public facebook::react::TransactionTelemetry telemetry; + public using Number = int64_t; +} + +class facebook::react::SharedColor { + public SharedColor(); + public SharedColor(facebook::react::Color color); + public bool operator!=(const facebook::react::SharedColor& otherColor) const; + public bool operator==(const facebook::react::SharedColor& otherColor) const; + public const facebook::react::Color& operator*() const; + public facebook::react::Color& operator*(); + public operator bool() const; + public std::string toString() const noexcept; +} + +class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::StackTraceParser { + public static std::vector parse(bool isHermes, const std::string& stackString); +} + +class facebook::react::State { + protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); + protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); + protected const facebook::react::StateData::Shared& getDataPointer() const; + protected facebook::react::ShadowNodeFamily::Weak family_; + protected facebook::react::StateData::Shared data_; + protected mutable bool isObsolete_; + protected size_t revision_; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::State::Shared getMostRecentStateIfObsolete() const; + public size_t getRevision() const; + public static constexpr size_t initialRevisionValue; + public using Shared = std::shared_ptr; + public virtual facebook::react::MapBuffer getMapBuffer() const = 0; + public virtual folly::dynamic getDynamic() const = 0; + public virtual jni::local_ref getJNIReference() const = 0; + public virtual void updateState(folly::dynamic&& data) const = 0; + public virtual ~State() = default; +} + +class facebook::react::StateUpdate { + public facebook::react::SharedShadowNodeFamily family; + public facebook::react::StateUpdate::Callback callback; + public using Callback = std::function; + public using FailureCallback = std::function; +} + +class facebook::react::StateWrapper : public jni::HybridClass { + public static constexpr char* const kJavaDescriptor; +} + +class facebook::react::StateWrapperImpl : public jni::HybridClass { + public jni::local_ref getStateMapBufferDataImpl(); + public jni::local_ref getStateDataImpl(); + public jni::local_ref getStateDataReferenceImpl(); + public static constexpr auto StateWrapperImplJavaDescriptor; + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public std::shared_ptr getState() const; + public void setState(std::shared_ptr state); + public void updateStateImpl(facebook::react::NativeMap* map); +} + +class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { + public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool isLayoutStyleUpdated() const noexcept; + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::SurfaceHandler { + public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; + public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; + public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::DisplayMode getDisplayMode() const noexcept; + public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; + public facebook::react::LayoutContext getLayoutContext() const noexcept; + public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; + public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::SurfaceHandler::Status getStatus() const noexcept; + public facebook::react::SurfaceId getSurfaceId() const noexcept; + public folly::dynamic getProps() const noexcept; + public std::shared_ptr getMountingCoordinator() const noexcept; + public std::string getModuleName() const noexcept; + public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; + public virtual ~SurfaceHandler() noexcept; + public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public void setContextContainer(std::shared_ptr contextContainer) const noexcept; + public void setProps(const folly::dynamic& props) const noexcept; + public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; + public void start() const noexcept; + public void stop() const noexcept; +} + +enum facebook::react::SurfaceHandler::Status { + Registered, + Running, + Unregistered, +} + +class facebook::react::SurfaceHandlerBinding : public jni::HybridClass { + public SurfaceHandlerBinding(facebook::react::SurfaceId surfaceId, const std::string& moduleName); + public const facebook::react::SurfaceHandler& getSurfaceHandler(); + public jboolean isRunning(); + public jint getSurfaceId(); + public jni::local_ref getModuleName(); + public static constexpr char* const kJavaDescriptor; + public static void registerNatives(); + public void setDisplayMode(jint mode); + public void setLayoutConstraints(jfloat minWidth, jfloat maxWidth, jfloat minHeight, jfloat maxHeight, jfloat offsetX, jfloat offsetY, jboolean doLeftAndRightSwapInRTL, jboolean isRTL, jfloat pixelDensity, jfloat fontScale); + public void setProps(facebook::react::NativeMap* props); +} + +class facebook::react::SurfaceManager { + public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; + public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; + public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; + public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; + public std::unordered_set getRunningSurfaces() const noexcept; + public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; + public void stopAllSurfaces() noexcept; + public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; + public ~SurfaceManager() noexcept; +} + +struct facebook::react::SurfaceManager::SurfaceProps { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; + public facebook::react::SurfaceId surfaceId; + public folly::dynamic props; + public std::string moduleName; +} + +class facebook::react::SurfaceTelemetry { + public facebook::react::TelemetryDuration getCommitTime() const; + public facebook::react::TelemetryDuration getDiffTime() const; + public facebook::react::TelemetryDuration getLayoutTime() const; + public facebook::react::TelemetryDuration getMountTime() const; + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public int getLastRevisionNumber() const; + public int getNumberOfMutations() const; + public int getNumberOfTextMeasurements() const; + public int getNumberOfTransactions() const; + public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; + public std::vector getRecentTransactionTelemetries() const; + public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); +} + +class facebook::react::SwitchEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onChange(facebook::react::SwitchEventEmitter::OnChange value) const; +} + +struct facebook::react::SwitchEventEmitter::OnChange { + public bool value; + public int target; +} + +class facebook::react::SwitchProps : public facebook::react::HostPlatformViewProps { + public SwitchProps() = default; + public SwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::SwitchProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public bool value; + public facebook::react::SharedColor onTintColor; + public facebook::react::SharedColor thumbColor; + public facebook::react::SharedColor thumbTintColor; + public facebook::react::SharedColor tintColor; + public facebook::react::SharedColor trackColorForFalse; + public facebook::react::SharedColor trackColorForTrue; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::TaskPriorityComparer { + public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); +} + +class facebook::react::TelemetryController { + public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; +} + +class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { + public bool operator==(const facebook::react::TextAttributes& rhs) const; + public facebook::react::Float fontSize; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float letterSpacing; + public facebook::react::Float lineHeight; + public facebook::react::Float maxFontSizeMultiplier; + public facebook::react::Float opacity; + public facebook::react::Float textShadowRadius; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor foregroundColor; + public facebook::react::SharedColor textDecorationColor; + public facebook::react::SharedColor textShadowColor; + public static facebook::react::TextAttributes defaultTextAttributes(); + public std::optional allowFontScaling; + public std::optional isHighlighted; + public std::optional isPressable; + public std::optional accessibilityRole; + public std::optional dynamicTypeRamp; + public std::optional fontStyle; + public std::optional fontVariant; + public std::optional fontWeight; + public std::optional layoutDirection; + public std::optional lineBreakMode; + public std::optional lineBreakStrategy; + public std::optional role; + public std::optional textShadowOffset; + public std::optional alignment; + public std::optional textDecorationLineType; + public std::optional textDecorationStyle; + public std::optional textTransform; + public std::optional baseWritingDirection; + public std::optional fontVariationSettings; + public std::string fontFamily; + public std::vector textEffects; + public void apply(facebook::react::TextAttributes textAttributes); +} + +class facebook::react::TextEffectProps : public facebook::react::Props { + public TextEffectProps() = default; + public TextEffectProps(const facebook::react::PropsParserContext& context, const facebook::react::TextEffectProps& sourceProps, const facebook::react::RawProps& rawProps); + public folly::dynamic effectProps; + public std::string effectName; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::TextEffectShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; + public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; +} + +struct facebook::react::TextInputEventEmitter::KeyPressMetrics { + public int eventCount; + public std::string text; +} + +struct facebook::react::TextInputEventEmitter::Metrics { + public bool responderIgnoreScroll; + public facebook::react::AttributedString::Range selectionRange; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public facebook::react::Size layoutMeasurement; + public facebook::react::Tag target; + public int eventCount; + public std::string text; +} + +class facebook::react::TextInputState { + public TextInputState() = default; + public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); + public facebook::react::AttributedString reactTreeAttributedString; + public facebook::react::AttributedStringBox attributedStringBox; + public facebook::react::ParagraphAttributes paragraphAttributes; + public int64_t mostRecentEventCount; +} + +class facebook::react::TextLayoutManager { + public TextLayoutManager(const facebook::react::TextLayoutManager&) = delete; + public TextLayoutManager(const std::shared_ptr& contextContainer); + public TextLayoutManager(facebook::react::TextLayoutManager&&) = delete; + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size) const; + public facebook::react::TextLayoutManager& operator=(const facebook::react::TextLayoutManager&) = delete; + public facebook::react::TextLayoutManager& operator=(facebook::react::TextLayoutManager&&) = delete; + public facebook::react::TextLayoutManager::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::TextMeasurement measure(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::TextMeasurement measureCachedSpannableById(int64_t cacheId, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::TextLayoutManager::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public using PreparedTextLayout = facebook::react::SafeReleaseJniRef>; +} + +class facebook::react::TextMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::Float pointScaleFactor; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::TextMeasurement { + public facebook::react::Size size; + public facebook::react::TextMeasurement::Attachments attachments; + public using Attachments = std::vector; +} + +class facebook::react::TextMeasurement::Attachment { + public bool isClipped; + public facebook::react::Rect frame; +} + +class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { + public TextProps() = default; + public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { + public TextShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteShadowNode; +} + +class facebook::react::TimerManager { + public TimerManager(const facebook::react::TimerManager&) = delete; + public TimerManager(facebook::react::TimerManager&&) = delete; + public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; + public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; + public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; + public void attachGlobals(facebook::jsi::Runtime& runtime); + public void callTimer(facebook::react::TimerHandle handle); + public void quit(); + public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; + public ~TimerManager() noexcept; +} + +class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { + public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public void onClick(facebook::react::PointerEvent event) const; + public void onGotPointerCapture(facebook::react::PointerEvent event) const; + public void onLostPointerCapture(facebook::react::PointerEvent event) const; + public void onPointerCancel(facebook::react::PointerEvent event) const; + public void onPointerDown(facebook::react::PointerEvent event) const; + public void onPointerEnter(facebook::react::PointerEvent event) const; + public void onPointerLeave(facebook::react::PointerEvent event) const; + public void onPointerMove(facebook::react::PointerEvent event) const; + public void onPointerOut(facebook::react::PointerEvent event) const; + public void onPointerOver(facebook::react::PointerEvent event) const; + public void onPointerUp(facebook::react::PointerEvent event) const; + public void onTouchCancel(facebook::react::TouchEvent event) const; + public void onTouchEnd(facebook::react::TouchEvent event) const; + public void onTouchMove(facebook::react::TouchEvent event) const; + public void onTouchStart(facebook::react::TouchEvent event) const; +} + +class facebook::react::TracingDelegate : public facebook::react::jsinspector_modern::HostTargetTracingDelegate { + public TracingState getTracingState(); + public size_t registerTracingStateListener(facebook::react::TracingStateListener listener); + public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool) override; + public virtual void onTracingStopped() override; + public void unregisterTracingStateListener(size_t subscriptionId); +} + +class facebook::react::TracingStateCallback : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void onTracingStateChanged(bool isTracing) const; +} + +class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { + public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::TransactionTelemetry { + public TransactionTelemetry(); + public TransactionTelemetry(std::function now); + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public facebook::react::TelemetryTimePoint getCommitEndTime() const; + public facebook::react::TelemetryTimePoint getCommitStartTime() const; + public facebook::react::TelemetryTimePoint getDiffEndTime() const; + public facebook::react::TelemetryTimePoint getDiffStartTime() const; + public facebook::react::TelemetryTimePoint getLayoutEndTime() const; + public facebook::react::TelemetryTimePoint getLayoutStartTime() const; + public facebook::react::TelemetryTimePoint getMountEndTime() const; + public facebook::react::TelemetryTimePoint getMountStartTime() const; + public int getAffectedLayoutNodesCount() const; + public int getNumberOfTextMeasurements() const; + public int getRevisionNumber() const; + public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); + public void didCommit(); + public void didDiff(); + public void didLayout(); + public void didLayout(int affectedLayoutNodesCount); + public void didMeasureText(); + public void didMount(); + public void setAsThreadLocal(); + public void setRevisionNumber(int revisionNumber); + public void unsetAsThreadLocal(); + public void willCommit(); + public void willDiff(); + public void willLayout(); + public void willMeasureText(); + public void willMount(); +} + +class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { + public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::TransformHelper : public facebook::jni::JavaClass { + public static constexpr auto * kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::TurboModule : public facebook::jsi::HostObject { + protected const std::string name_; + protected std::shared_ptr jsInvoker_; + protected std::unordered_map methodMap_; + protected std::unordered_map> eventEmitterMap_; + protected using ArgFactory = std::function& args)>; + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName); + protected void emitDeviceEvent(const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + protected void emitDeviceEvent(facebook::jsi::Runtime&, const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + public TurboModule(std::string name, std::shared_ptr jsInvoker); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::TurboModule::MethodMetadata { + public facebook::jsi::Value(*invoker)(facebook::jsi::Runtime &rt, facebook::react::TurboModule &turboModule, const facebook::jsi::Value *args, size_t count); + public size_t argCount; +} + +class facebook::react::TurboModuleBinding { + public static void install(facebook::jsi::Runtime& runtime, TurboModuleProviderFunctionType&& moduleProvider, TurboModuleProviderFunctionType&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public static void install(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public ~TurboModuleBinding(); +} + +class facebook::react::TurboModuleManager : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static jni::local_ref initHybrid(jni::alias_ref, jni::alias_ref jsCallInvokerHolder, jni::alias_ref nativeMethodCallInvokerHolder, jni::alias_ref delegate); + public static void registerNatives(); +} + +class facebook::react::TurboModuleManagerDelegate : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public virtual std::shared_ptr getTurboModule(const std::string& name, const facebook::react::JavaTurboModule::InitParams& params) = 0; + public virtual std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker) = 0; +} + +class facebook::react::TurboModuleWithJSIBindings { + public static void installJSIBindings(const std::shared_ptr& cxxModule, facebook::jsi::Runtime& runtime); + public virtual ~TurboModuleWithJSIBindings() = default; +} + +class facebook::react::UIConstantsProviderBinding : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static void install(jni::alias_ref, jni::alias_ref runtimeExecutor, jni::alias_ref defaultExportableEventTypesProvider, jni::alias_ref constantsForViewManagerProvider, jni::alias_ref constantsProvider); + public static void registerNatives(); +} + +class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { + public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); + public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; + public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; + public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; + public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); + public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); + public facebook::react::UIManagerDelegate* getDelegate(); + public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; + public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; + public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; + public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; + public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) const noexcept override; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; + public void addEventListener(std::shared_ptr listener); + public void addOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); + public void animationTick() const; + public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; + public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); + public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; + public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); + public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); + public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); + public void setDelegate(facebook::react::UIManagerDelegate* delegate); + public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; + public void setNativeAnimatedDelegate(std::weak_ptr delegate); + public void setSurfaceProps(facebook::react::SurfaceId surfaceId, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; + public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); + public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; + public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; + public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; + public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); + public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); + public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); + public void updateShadowTree(std::unordered_map&& tagToProps); + public void updateState(const facebook::react::StateUpdate& stateUpdate) const; + public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; + public ~UIManager() override; +} + +class facebook::react::UIManagerAnimationBackend { + public using Callback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; + public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) = 0; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; + public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; + public virtual void stop(facebook::react::CallbackId callbackId) = 0; + public virtual void trigger() = 0; + public virtual ~UIManagerAnimationBackend() = default; +} + +class facebook::react::UIManagerAnimationDelegate { + public virtual bool shouldAnimateFrame() const = 0; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; + public virtual ~UIManagerAnimationDelegate() = default; +} + +class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { + public UIManagerBinding(std::shared_ptr uiManager); + public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); + public facebook::react::UIManager& getUIManager(); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; + public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void invalidate() const; + public ~UIManagerBinding() override; +} + +class facebook::react::UIManagerCommitHook { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) noexcept; + public virtual ~UIManagerCommitHook() noexcept = default; +} + +class facebook::react::UIManagerDelegate { + public using OnSurfaceStartCallback = std::function; + public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidClearPendingSnapshots() = 0; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; + public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; + public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) = 0; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~UIManagerDelegate() noexcept = default; +} + +class facebook::react::UIManagerMountHook { + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; + public virtual ~UIManagerMountHook() noexcept = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegate { + public virtual void runAnimationFrame() = 0; + public virtual ~UIManagerNativeAnimatedDelegate() = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { + public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); + public virtual void runAnimationFrame() override; +} + +class facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); + public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag) const; + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); + public virtual void createViewTransitionInstance(const std::string&, facebook::react::Tag); + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); + public virtual void startViewTransitionEnd(); + public virtual void startViewTransitionReadyFinished(); + public virtual void suspendOnActiveViewTransition(); + public virtual void transitionAnimationFinished(int animationId); + public virtual void waitForTransitionAnimation(int animationId); + public virtual ~UIManagerViewTransitionDelegate() = default; +} + +struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { + public facebook::react::Float height; + public facebook::react::Float width; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Tag nativeTag; +} + +class facebook::react::UnimplementedNativeViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::UnimplementedNativeViewProps : public facebook::react::HostPlatformViewProps { + public UnimplementedNativeViewProps() = default; + public UnimplementedNativeViewProps(const facebook::react::PropsParserContext& context, const facebook::react::UnimplementedNativeViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string name; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { + protected bool isColorValue_; + public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool getIsColorValue() const noexcept; + public bool setOffset(double offset) noexcept; + public bool setRawValue(double value) noexcept; + public double getOffset() const noexcept; + public double getRawValue() const noexcept; + public double getValue() const noexcept; + public void extractOffset() noexcept; + public void flattenOffset() noexcept; + public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; +} + +class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { + public ValueFactoryEventPayload(facebook::react::ValueFactory factory); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +class facebook::react::ViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); +} + +class facebook::react::VirtualViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onModeChange(facebook::react::VirtualViewEventEmitter::OnModeChange value) const; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChange { + public facebook::react::VirtualViewEventEmitter::OnModeChangeTargetRect targetRect; + public facebook::react::VirtualViewEventEmitter::OnModeChangeThresholdRect thresholdRect; + public int mode; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChangeTargetRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChangeThresholdRect { + public double height; + public double width; + public double x; + public double y; +} + +class facebook::react::VirtualViewProps : public facebook::react::HostPlatformViewProps { + public VirtualViewProps() = default; + public VirtualViewProps(const facebook::react::PropsParserContext& context, const facebook::react::VirtualViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool initialHidden; + public bool removeClippedSubviews; + public int renderState; + public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; + public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; +} + +class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { + protected facebook::yoga::Config yogaConfig_; + protected mutable facebook::yoga::Node yogaNode_; + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public YogaLayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public YogaLayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::Rect getContentBounds() const; + public using ListOfShared = std::vector; + public using Shared = std::shared_ptr; + public virtual bool getIsLayoutClean() const override; + public virtual void appendChild(const std::shared_ptr& child) override; + public virtual void completeClone(const facebook::react::ShadowNode&, const facebook::react::ShadowNodeFragment&) override; + public virtual void dirtyLayout() override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) override; + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = SIZE_MAX) override; + public void enableMeasurement(); + public void setPadding(facebook::react::RectangleEdges padding) const; + public void setPositionType(YGPositionType positionType) const; + public void setSize(facebook::react::Size size) const; + public void updateYogaChildren(); + public void updateYogaProps(); +} + +class facebook::react::YogaStylableProps : public facebook::react::Props { + public YogaStylableProps() = default; + public YogaStylableProps(const facebook::react::PropsParserContext& context, const facebook::react::YogaStylableProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::yoga::Style yogaStyle; + public facebook::yoga::Style::Length insetBlockEnd; + public facebook::yoga::Style::Length insetBlockStart; + public facebook::yoga::Style::Length insetInlineEnd; + public facebook::yoga::Style::Length insetInlineStart; + public facebook::yoga::Style::Length marginBlock; + public facebook::yoga::Style::Length marginBlockEnd; + public facebook::yoga::Style::Length marginBlockStart; + public facebook::yoga::Style::Length marginInline; + public facebook::yoga::Style::Length marginInlineEnd; + public facebook::yoga::Style::Length marginInlineStart; + public facebook::yoga::Style::Length paddingBlock; + public facebook::yoga::Style::Length paddingBlockEnd; + public facebook::yoga::Style::Length paddingBlockStart; + public facebook::yoga::Style::Length paddingInline; + public facebook::yoga::Style::Length paddingInlineEnd; + public facebook::yoga::Style::Length paddingInlineStart; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +enum facebook::react::AccessibilityLiveRegion : uint8_t { + Assertive, + None, + Polite, +} + +enum facebook::react::AccessibilityRole : uint8_t { + Adjustable, + Alert, + Button, + Checkbox, + Combobox, + Drawerlayout, + Dropdownlist, + Grid, + Header, + Horizontalscrollview, + Iconmenu, + Image, + Imagebutton, + Keyboardkey, + Link, + List, + Menu, + Menubar, + Menuitem, + None, + Pager, + Progressbar, + Radio, + Radiogroup, + Scrollbar, + Scrollview, + Search, + Slidingdrawer, + Spinbutton, + Summary, + Switch, + Tab, + Tabbar, + Tablist, + Text, + Timer, + Togglebutton, + Toolbar, + Viewgroup, + Webview, +} + +enum facebook::react::AccessibilityTraits : uint32_t { + Adjustable, + AllowsDirectInteraction, + Button, + CausesPageTurn, + Header, + Image, + KeyboardKey, + Link, + None, + NotEnabled, + PlaysSound, + SearchField, + Selected, + StartsMediaSession, + StaticText, + SummaryElement, + Switch, + TabBar, + UpdatesFrequently, +} + +enum facebook::react::ActivityIndicatorViewSize { + Large, + Small, +} + +enum facebook::react::AndroidDrawerLayoutDrawerLockMode { + LockedClosed, + LockedOpen, + Unlocked, +} + +enum facebook::react::AndroidDrawerLayoutDrawerPosition { + Left, + Right, +} + +enum facebook::react::AndroidDrawerLayoutKeyboardDismissMode { + None, + OnDrag, +} + +enum facebook::react::AndroidSwipeRefreshLayoutSize { + Default, + Large, +} + +enum facebook::react::AnimatedNodeType { + Addition, + Color, + Diffclamp, + Division, + Interpolation, + Modulus, + Multiplication, + Object, + Props, + Round, + Style, + Subtraction, + Tracking, + Transform, + Value, +} + +enum facebook::react::AnimationConfigurationType { + Create, + Delete, + Update, +} + +enum facebook::react::AnimationDriverType { + Decay, + Frames, + Spring, +} + +enum facebook::react::AnimationProperty { + NotApplicable, + Opacity, + ScaleX, + ScaleXY, + ScaleY, +} + +enum facebook::react::AnimationType { + EaseIn, + EaseInEaseOut, + EaseOut, + Keyboard, + Linear, + None, + Spring, +} + +enum facebook::react::BackfaceVisibility : uint8_t { + Auto, + Hidden, + Visible, +} + +enum facebook::react::BackgroundRepeatStyle { + NoRepeat, + Repeat, + Round, + Space, +} + +enum facebook::react::BackgroundSizeKeyword { + Contain, + Cover, +} + +enum facebook::react::BlendMode { + Color, + ColorBurn, + ColorDodge, + Darken, + Difference, + Exclusion, + HardLight, + Hue, + Lighten, + Luminosity, + Multiply, + Normal, + Overlay, + PlusLighter, + Saturation, + Screen, + SoftLight, +} + +enum facebook::react::BorderCurve : uint8_t { + Circular, + Continuous, +} + +enum facebook::react::BorderStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::CSSAngleUnit : uint8_t { + Deg, + Grad, + Rad, + Turn, +} + +enum facebook::react::CSSDelimiter { + Comma, + CommaOrWhitespace, + None, + OptionalWhitespace, + Solidus, + SolidusOrWhitespace, + Whitespace, +} + +enum facebook::react::CSSFontVariant : std::underlying_type_t { + CommonLigatures, + Contextual, + DiscretionaryLigatures, + HistoricalLigatures, + LiningNums, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { + At, +} + +enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { + To, +} + +enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { + Inset, +} + +enum facebook::react::CSSKeyword : uint8_t { + Absolute, + At, + Auto, + Baseline, + Block, + Bottom, + Center, + Clip, + Column, + ColumnReverse, + CommonLigatures, + Content, + Contents, + Contextual, + Dashed, + DiscretionaryLigatures, + Dotted, + Double, + End, + Fixed, + Flex, + FlexEnd, + FlexStart, + Grid, + Groove, + Hidden, + HistoricalLigatures, + Inherit, + Initial, + Inline, + InlineBlock, + InlineFlex, + InlineGrid, + Inset, + Left, + LiningNums, + Ltr, + MaxContent, + Medium, + MinContent, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + NoWrap, + None, + Normal, + OldstyleNums, + Outset, + ProportionalNums, + Relative, + Ridge, + Right, + Row, + RowReverse, + Rtl, + Scroll, + SmallCaps, + Solid, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Static, + Sticky, + Stretch, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, + Thick, + Thin, + To, + Top, + Unset, + Visible, + Wrap, + WrapReverse, +} + +enum facebook::react::CSSLengthUnit : uint8_t { + Cap, + Ch, + Cm, + Dvb, + Dvh, + Dvi, + Dvmax, + Dvmin, + Dvw, + Em, + Ex, + Ic, + In, + Lh, + Lvb, + Lvh, + Lvi, + Lvmax, + Lvmin, + Lvw, + Mm, + Pc, + Pt, + Px, + Q, + Rcap, + Rch, + Rem, + Rex, + Ric, + Rlh, + Svb, + Svh, + Svi, + Svmax, + Svmin, + Svw, + Vb, + Vh, + Vi, + Vmax, + Vmin, + Vw, +} + +enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::CSSRadialGradientShape : uint8_t { + Circle, + Ellipse, +} + +enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +enum facebook::react::CSSTokenType { + CloseCurly, + CloseParen, + CloseSquare, + Comma, + Delim, + Dimension, + EndOfFile, + Function, + Hash, + Ident, + Number, + OpenCurly, + OpenParen, + OpenSquare, + Percentage, + WhiteSpace, +} + +enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSWideKeyword : std::underlying_type_t { + Inherit, + Initial, + Unset, +} + +enum facebook::react::ColorSpace { + DisplayP3, + sRGB, +} + +enum facebook::react::ContentInsetAdjustmentBehavior { + Always, + Automatic, + Never, + ScrollableAxes, +} + +enum facebook::react::Cursor : uint8_t { + Alias, + AllScroll, + Auto, + Cell, + ColResize, + ContextMenu, + Copy, + Crosshair, + Default, + EResize, + EWResize, + Grab, + Grabbing, + Help, + Move, + NEResize, + NESWResize, + NResize, + NSResize, + NWResize, + NWSEResize, + NoDrop, + None, + NotAllowed, + Pointer, + Progress, + RowResize, + SEResize, + SResize, + SWResize, + Text, + Url, + WResize, + Wait, + ZoomIn, + ZoomOut, +} + +enum facebook::react::DataDetectorType { + All, + Email, + Link, + None, + PhoneNumber, +} + +enum facebook::react::DisplayMode { + Hidden, + Suspended, + Visible, +} + +enum facebook::react::DisplayType { + Contents, + Flex, + Grid, + None, +} + +enum facebook::react::DynamicTypeRamp : uint8_t { + Body, + Callout, + Caption1, + Caption2, + Footnote, + Headline, + LargeTitle, + Subheadline, + Title1, + Title2, + Title3, +} + +enum facebook::react::EllipsizeMode { + Clip, + Head, + Middle, + Tail, +} + +enum facebook::react::EventPayloadType { + PointerEvent, + ScrollEvent, + ValueFactory, +} + +enum facebook::react::FilterType { + Blur, + Brightness, + Contrast, + DropShadow, + Grayscale, + HueRotate, + Invert, + Opacity, + Saturate, + Sepia, +} + +enum facebook::react::FocusDirection { + FocusBackward, + FocusDown, + FocusForward, + FocusLeft, + FocusRight, + FocusUp, +} + +enum facebook::react::FontStyle : uint8_t { + Italic, + Normal, + Oblique, +} + +enum facebook::react::FontVariant : int { + Default, + LiningNums, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::FontWeight : uint16_t { + Black, + Bold, + Demibold, + Heavy, + Light, + Medium, + Regular, + Semibold, + Thin, + UltraLight, + Weight100, + Weight200, + Weight300, + Weight400, + Weight500, + Weight600, + Weight700, + Weight800, + Weight900, +} + +enum facebook::react::GradientDirectionType { + Angle, + Keyword, +} + +enum facebook::react::GradientKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::HyphenationFrequency { + Full, + None, + Normal, +} + +enum facebook::react::ImageResizeMode : int8_t { + Center, + Contain, + Cover, + None, + Repeat, + Stretch, +} + +enum facebook::react::ImportantForAccessibility : uint8_t { + Auto, + No, + NoHideDescendants, + Yes, +} + +enum facebook::react::Isolation { + Auto, + Isolate, +} + +enum facebook::react::LayoutConformance : uint8_t { + Compatibility, + Strict, +} + +enum facebook::react::LayoutDirection { + LeftToRight, + RightToLeft, + Undefined, +} + +enum facebook::react::LineBreakMode : uint8_t { + Char, + Clip, + Head, + Middle, + Tail, + Word, +} + +enum facebook::react::LineBreakStrategy : uint8_t { + HangulWordPriority, + None, + PushOut, + Standard, +} + +enum facebook::react::ModalHostViewAnimationType { + Fade, + None, + Slide, +} + +enum facebook::react::ModalHostViewPresentationStyle { + FormSheet, + FullScreen, + OverFullScreen, + PageSheet, +} + +enum facebook::react::ModalHostViewSupportedOrientations : facebook::react::ModalHostViewSupportedOrientationsMask { + Landscape, + LandscapeLeft, + LandscapeRight, + Portrait, + PortraitUpsideDown, +} + +enum facebook::react::NullValueStrategy { + Ignore, + Override, +} + +enum facebook::react::OutlineStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::PointerEventsMode : uint8_t { + Auto, + BoxNone, + BoxOnly, + None, +} + +enum facebook::react::PositionType { + Absolute, + Relative, + Static, +} + +enum facebook::react::PropName { + ALIGN_CONTENT, + ALIGN_ITEMS, + ALIGN_SELF, + ASPECT_RATIO, + BACKFACE_VISIBILITY, + BACKGROUND_COLOR, + BORDER_COLOR, + BORDER_CURVES, + BORDER_RADII, + BORDER_STYLES, + BORDER_WIDTH, + BOX_SHADOW, + BOX_SIZING, + COLUMN_GAP, + CURSOR, + DIRECTION, + DISPLAY, + FILTER, + FLEX, + FLEX_BASIS, + FLEX_DIRECTION, + FLEX_GROW, + FLEX_SHRINK, + FLEX_WRAP, + HEIGHT, + ISOLATION, + JUSTIFY_CONTENT, + MARGIN, + MAX_HEIGHT, + MAX_WIDTH, + MIN_HEIGHT, + MIN_WIDTH, + MIX_BLEND_MODE, + OPACITY, + OUTLINE_COLOR, + OUTLINE_OFFSET, + OUTLINE_STYLE, + OUTLINE_WIDTH, + PADDING, + POINTER_EVENTS, + POSITION, + POSITION_TYPE, + ROW_GAP, + SHADOW_COLOR, + SHADOW_OFFSET, + SHADOW_OPACITY, + SHADOW_RADIUS, + STYLE_OVERFLOW, + TRANSFORM, + TRANSFORM_ORIGIN, + WIDTH, + Z_INDEX, +} + +enum facebook::react::RadialGradientShape { + Circle, + Ellipse, +} + +enum facebook::react::ReactEventPriority { + Continuous, + Default, + Discrete, + Idle, +} + +enum facebook::react::Role : uint8_t { + Alert, + Alertdialog, + Application, + Article, + Banner, + Button, + Cell, + Checkbox, + Columnheader, + Combobox, + Complementary, + Contentinfo, + Definition, + Dialog, + Directory, + Document, + Feed, + Figure, + Form, + Grid, + Group, + Heading, + Img, + Link, + List, + Listitem, + Log, + Main, + Marquee, + Math, + Menu, + Menubar, + Menuitem, + Meter, + Navigation, + None, + Note, + Option, + Presentation, + Progressbar, + Radio, + Radiogroup, + Region, + Row, + Rowgroup, + Rowheader, + Scrollbar, + Searchbox, + Separator, + Slider, + Spinbutton, + Status, + Summary, + Switch, + Tab, + Table, + Tablist, + Tabpanel, + Term, + Timer, + Toolbar, + Tooltip, + Tree, + Treegrid, + Treeitem, +} + +enum facebook::react::SchedulerPriority : int { + IdlePriority, + ImmediatePriority, + LowPriority, + NormalPriority, + UserBlockingPriority, +} + +enum facebook::react::ScriptTag { + RAMBundle, + String, +} + +enum facebook::react::ScrollViewIndicatorStyle { + Black, + Default, + White, +} + +enum facebook::react::ScrollViewKeyboardDismissMode { + Interactive, + None, + OnDrag, +} + +enum facebook::react::ScrollViewSnapToAlignment { + Center, + End, + Start, +} + +enum facebook::react::ShadowTreeCommitMode { + Normal, + Suspended, +} + +enum facebook::react::ShadowTreeCommitSource { + AnimationEndSync, + React, + ReactRevisionMerge, + Unknown, +} + +enum facebook::react::ShadowTreeCommitStatus { + Cancelled, + Failed, + Succeeded, +} + +enum facebook::react::SubmitBehavior { + BlurAndSubmit, + Default, + Newline, + Submit, +} + +enum facebook::react::TextAlignment : uint8_t { + Center, + End, + Justified, + Left, + Natural, + Right, + Start, +} + +enum facebook::react::TextAlignmentVertical { + Auto, + Bottom, + Center, + Top, +} + +enum facebook::react::TextBreakStrategy { + Balanced, + HighQuality, + Simple, +} + +enum facebook::react::TextDecorationLineType : uint8_t { + None, + Strikethrough, + Underline, + UnderlineStrikethrough, +} + +enum facebook::react::TextDecorationStyle : uint8_t { + Dashed, + Dotted, + Double, + Solid, + Wavy, +} + +enum facebook::react::TextTransform : uint8_t { + Capitalize, + Lowercase, + None, + Unset, + Uppercase, +} + +enum facebook::react::TextWidthMode { + Auto, + LongestLine, +} + +enum facebook::react::TimerSource { + RequestAnimationFrame, + SetInterval, + SetTimeout, + Unknown, +} + +enum facebook::react::TransformOperationType : uint8_t { + Arbitrary, + Identity, + Perspective, + Rotate, + Scale, + Skew, + Translate, +} + +enum facebook::react::TurboModuleMethodValueKind { + ArrayBufferKind, + ArrayKind, + BooleanKind, + FunctionKind, + NumberKind, + ObjectKind, + PromiseKind, + StringKind, + VoidKind, +} + +enum facebook::react::UnitType { + Percent, + Point, + Undefined, +} + +enum facebook::react::WritingDirection : uint8_t { + LeftToRight, + Natural, + RightToLeft, +} + +struct facebook::react::AccessibilityAction { + public std::optional label; + public std::string name; +} + +struct facebook::react::AccessibilityLabelledBy { + public std::vector value; +} + +struct facebook::react::AccessibilityState { + public bool busy; + public bool disabled; + public facebook::react::AccessibilityState::CheckedState checked; + public std::optional expanded; + public std::optional selected; +} + +enum facebook::react::AccessibilityState::CheckedState { + Checked, + Mixed, + None, + Unchecked, +} + +struct facebook::react::AccessibilityValue { + public std::optional max; + public std::optional min; + public std::optional now; + public std::optional text; +} + +struct facebook::react::ActivePointer { + public bool shouldLeaveWhenReleased; + public facebook::react::PointerEvent event; +} + +struct facebook::react::AndroidTextInputTextShadowOffsetStruct { + public double height; + public double width; +} + +struct facebook::react::AnimatedPropBase { + public AnimatedPropBase(facebook::react::PropName propName); + public facebook::react::PropName propName; + public virtual ~AnimatedPropBase() = default; +} + +struct facebook::react::AnimatedProps { + public std::unique_ptr rawProps; + public std::vector> props; +} + +struct facebook::react::AnimatedPropsBuffer { + public std::vector doubles; + public std::vector rawProps; + public std::vector ints; +} + +struct facebook::react::AnimatedPropsBuilder { + public facebook::react::AnimatedProps get(); + public std::unique_ptr rawProps; + public std::vector> props; + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); + public void setBackgroundColor(facebook::react::SharedColor value); + public void setBorderColor(facebook::react::CascadedBorderColors& value); + public void setBorderCurves(facebook::react::CascadedBorderCurves& value); + public void setBorderRadii(facebook::react::CascadedBorderRadii& value); + public void setBorderStyles(facebook::react::CascadedBorderStyles& value); + public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); + public void setBoxShadow(const std::vector& value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setColumnGap(facebook::yoga::Style::Length value); + public void setCursor(facebook::react::Cursor value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFilter(const std::vector& value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setHeight(facebook::yoga::Style::SizeLength value); + public void setIsolation(facebook::react::Isolation value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setMargin(facebook::react::CascadedRectangleEdges& value); + public void setMaxHeight(facebook::yoga::Style::SizeLength value); + public void setMaxWidth(facebook::yoga::Style::SizeLength value); + public void setMinHeight(facebook::yoga::Style::SizeLength value); + public void setMinWidth(facebook::yoga::Style::SizeLength value); + public void setMixBlendMode(facebook::react::BlendMode value); + public void setOpacity(facebook::react::Float value); + public void setOutlineColor(facebook::react::SharedColor value); + public void setOutlineOffset(facebook::react::Float value); + public void setOutlineStyle(facebook::react::OutlineStyle value); + public void setOutlineWidth(facebook::react::Float value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::react::CascadedRectangleEdges& value); + public void setPointerEvents(facebook::react::PointerEventsMode value); + public void setPosition(facebook::react::CascadedRectangleEdges& value); + public void setPositionType(facebook::yoga::PositionType value); + public void setRowGap(facebook::yoga::Style::Length value); + public void setShadowColor(facebook::react::SharedColor value); + public void setShadowOffset(facebook::react::Size value); + public void setShadowOpacity(facebook::react::Float value); + public void setShadowRadius(facebook::react::Float value); + public void setTransform(const facebook::react::Transform& t); + public void setTransformOrigin(const facebook::react::TransformOrigin& value); + public void setWidth(facebook::yoga::Style::SizeLength value); + public void setZIndex(std::optional value); + public void storeDynamic(folly::dynamic& d); + public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); +} + +struct facebook::react::AnimationConfig { + public double delay; + public double duration; + public facebook::react::AnimationProperty animationProperty; + public facebook::react::AnimationType animationType; + public facebook::react::Float initialVelocity; + public facebook::react::Float springDamping; +} + +struct facebook::react::AnimationKeyFrame { + public bool generateFinalSyntheticMutations; + public bool invalidated; + public double initialProgress; + public facebook::react::AnimationConfigurationType type; + public facebook::react::ShadowView viewEnd; + public facebook::react::ShadowView viewPrev; + public facebook::react::ShadowView viewStart; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public std::vector finalMutationsForKeyFrame; +} + +struct facebook::react::AnimationMutation { + public bool hasLayoutUpdates; + public facebook::react::AnimatedProps props; + public facebook::react::Tag tag; + public std::shared_ptr family; +} + +struct facebook::react::AnimationMutations { + public std::set asyncFlushSurfaces; + public std::vector batch; +} + +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::BackgroundRepeat { + public BackgroundRepeat(); + public bool operator==(const facebook::react::BackgroundRepeat& other) const = default; + public facebook::react::BackgroundRepeatStyle x; + public facebook::react::BackgroundRepeatStyle y; +} + +struct facebook::react::BackgroundSizeLengthPercentage { + public BackgroundSizeLengthPercentage(); + public bool isXAuto() const; + public bool isYAuto() const; + public bool operator==(const facebook::react::BackgroundSizeLengthPercentage& other) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::BaseTouch { + public facebook::react::Float force; + public facebook::react::Float timestamp; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point offsetPoint; + public facebook::react::Point pagePoint; + public facebook::react::Point screenPoint; + public facebook::react::Tag target; + public int identifier; +} + +struct facebook::react::BaseTouch::Comparator { + public bool operator()(const facebook::react::BaseTouch& lhs, const facebook::react::BaseTouch& rhs) const; +} + +struct facebook::react::BaseTouch::Hasher { + public size_t operator()(const facebook::react::BaseTouch& touch) const; +} + +struct facebook::react::BorderMetrics { + public bool operator==(const facebook::react::BorderMetrics& rhs) const = default; + public facebook::react::BorderColors borderColors; + public facebook::react::BorderCurves borderCurves; + public facebook::react::BorderRadii borderRadii; + public facebook::react::BorderStyles borderStyles; + public facebook::react::BorderWidths borderWidths; +} + +struct facebook::react::BoxShadow { + public bool inset; + public bool operator==(const facebook::react::BoxShadow& other) const = default; + public facebook::react::Float blurRadius; + public facebook::react::Float offsetX; + public facebook::react::Float offsetY; + public facebook::react::Float spreadDistance; + public facebook::react::SharedColor color; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::Bridging { + public static bool fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static bool toJs(facebook::jsi::Runtime&, bool value); +} + +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +struct facebook::react::Bridging { + public static double fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static double toJs(facebook::jsi::Runtime&, double value); +} + +struct facebook::react::Bridging { + public static float fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static float toJs(facebook::jsi::Runtime&, float value); +} + +struct facebook::react::Bridging { + public static int32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int32_t toJs(facebook::jsi::Runtime&, int32_t value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime&, uint32_t value); + public static uint32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); +} + +struct facebook::react::BufferEvent { + public std::string name; + public std::string track; + public uint64_t end; + public uint64_t start; +} + +struct facebook::react::BundleHeader { + public BundleHeader(); + public facebook::react::Magic32 magic32; + public uint32_t version; + public uint64_t magic64; +} + +struct facebook::react::CSSAngle { + public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSBlurFilter { + public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; + public facebook::react::CSSLength amount; +} + +struct facebook::react::CSSBrightnessFilter { + public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSColor { + public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; + public static constexpr facebook::react::CSSColor black(); + public uint8_t a; + public uint8_t b; + public uint8_t g; + public uint8_t r; +} + +struct facebook::react::CSSColorHint { + public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; + public std::variant position; +} + +struct facebook::react::CSSColorStop { + public bool operator==(const facebook::react::CSSColorStop& rhs) const; + public facebook::react::CSSColor color; + public std::optional> endPosition; + public std::optional> startPosition; +} + +struct facebook::react::CSSContrastFilter { + public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSDropShadowFilter { + public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength standardDeviation; +} + +struct facebook::react::CSSFunctionBlock { + public std::string_view name; +} + +struct facebook::react::CSSGrayscaleFilter { + public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSHueRotateFilter { + public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSInvertFilter { + public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSLength { + public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; + public facebook::react::CSSLengthUnit unit; + public float value; +} + +struct facebook::react::CSSLinearGradientDirection { + public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSLinearGradientFunction { + public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; + public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); + public std::optional direction; + public std::vector> items; +} + +struct facebook::react::CSSMatrix { + public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; + public std::array values; +} + +struct facebook::react::CSSNumber { + public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; + public float value; +} + +struct facebook::react::CSSOpacityFilter { + public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSPercentage { + public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; + public float value; +} + +struct facebook::react::CSSPerspective { + public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; + public facebook::react::CSSLength length; +} + +struct facebook::react::CSSRadialGradientExplicitSize { + public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; + public std::variant sizeX; + public std::variant sizeY; +} + +struct facebook::react::CSSRadialGradientFunction { + public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; + public std::optional position; + public std::optional shape; + public std::optional size; + public std::vector> items; +} + +struct facebook::react::CSSRadialGradientPosition { + public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; + public std::optional> bottom; + public std::optional> left; + public std::optional> right; + public std::optional> top; +} + +struct facebook::react::CSSRatio { + public constexpr bool isDegenerate() const; + public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; + public float denominator; + public float numerator; +} + +struct facebook::react::CSSRotate { + public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateX { + public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateY { + public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateZ { + public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSaturateFilter { + public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSScale { + public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; + public float x; + public float y; +} + +struct facebook::react::CSSScaleX { + public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; + public float value; +} + +struct facebook::react::CSSScaleY { + public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; + public float value; +} + +struct facebook::react::CSSSepiaFilter { + public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSShadow { + public bool inset; + public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength blurRadius; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength spreadDistance; +} + +struct facebook::react::CSSSimpleBlock { + public facebook::react::CSSTokenType openBracketType; +} + +struct facebook::react::CSSSkewX { + public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSkewY { + public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSTransformOrigin { + public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate3D { + public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate { + public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslateX { + public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSTranslateY { + public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSZero { + public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; +} + +struct facebook::react::CallbackWithId { + public facebook::react::Callback callback; + public facebook::react::CallbackId callbackId; +} + +struct facebook::react::Color { + public bool isDefined; + public constexpr Color() = default; + public constexpr Color(int32_t colorValue); + public constexpr bool operator!=(const facebook::react::Color& otherColor) const; + public constexpr bool operator==(const facebook::react::Color& otherColor) const; + public constexpr operator int32_t() const; + public int32_t value; + public operator folly::dynamic() const; +} + +struct facebook::react::ColorComponents { + public facebook::react::ColorSpace colorSpace; + public float alpha; + public float blue; + public float green; + public float red; +} + +struct facebook::react::ColorStop { + public bool operator==(const facebook::react::ColorStop& other) const = default; + public facebook::react::SharedColor color; + public facebook::react::ValueUnit position; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::CornerRadii { + public bool operator==(const facebook::react::CornerRadii& other) const = default; + public float horizontal; + public float vertical; +} + +struct facebook::react::CppMountItem { + public facebook::react::CppMountItem::Type type; + public facebook::react::ShadowView newChildShadowView; + public facebook::react::ShadowView oldChildShadowView; + public facebook::react::Tag parentTag; + public int index; + public static facebook::react::CppMountItem CreateMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem DeleteMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem InsertMountItem(facebook::react::Tag parentTag, const facebook::react::ShadowView& shadowView, int index); + public static facebook::react::CppMountItem RemoveMountItem(facebook::react::Tag parentTag, const facebook::react::ShadowView& shadowView, int index); + public static facebook::react::CppMountItem UpdateEventEmitterMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem UpdateLayoutMountItem(const facebook::react::ShadowView& shadowView, facebook::react::Tag parentTag); + public static facebook::react::CppMountItem UpdateOverflowInsetMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem UpdatePaddingMountItem(const facebook::react::ShadowView& shadowView); + public static facebook::react::CppMountItem UpdatePropsMountItem(const facebook::react::ShadowView& oldShadowView, const facebook::react::ShadowView& newShadowView); + public static facebook::react::CppMountItem UpdateStateMountItem(const facebook::react::ShadowView& shadowView); +} + +enum facebook::react::CppMountItem::Type { + Create, + Delete, + Insert, + Multiple, + Remove, + Undefined, + UpdateEventEmitter, + UpdateLayout, + UpdateOverflowInset, + UpdatePadding, + UpdateProps, + UpdateState, +} + +struct facebook::react::DebugStringConvertibleOptions { +} + +struct facebook::react::DefaultTurboModules { + public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::DropShadowParams { + public bool operator==(const facebook::react::DropShadowParams& other) const = default; + public facebook::react::Float offsetX; + public facebook::react::Float offsetY; + public facebook::react::Float standardDeviation; + public facebook::react::SharedColor color; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::DummyTraceSection { + template + public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { + protected folly::dynamic payload_; + public DynamicEventPayload(folly::dynamic&& payload); + public static facebook::react::SharedEventPayload create(folly::dynamic&& payload); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector&) const override; +} + +struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEventPayload { + public DynamicPointerEvent(folly::dynamic&& payload); + public const std::optional>& getHitPathForEventListener() const; +} + +struct facebook::react::EventAnimationDriverKey { + public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; + public facebook::react::Tag viewTag; + public std::string eventName; +} + +struct facebook::react::EventPayload { + public EventPayload() = default; + public EventPayload(const facebook::react::EventPayload&) = default; + public EventPayload(facebook::react::EventPayload&&) = default; + public facebook::react::EventPayload& operator=(const facebook::react::EventPayload&) = default; + public facebook::react::EventPayload& operator=(facebook::react::EventPayload&&) = default; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const = 0; + public virtual facebook::react::EventPayloadType getType() const = 0; + public virtual std::optional extractValue(const std::vector&) const; + public virtual ~EventPayload() = default; +} + +struct facebook::react::FilterFunction { + public bool operator==(const facebook::react::FilterFunction& other) const = default; + public facebook::react::FilterType type; + public folly::dynamic toDynamic() const; + public std::variant parameters; +} + +struct facebook::react::ImageRequestItem { + public facebook::react::ImageRequestParams imageRequestParams; + public facebook::react::ImageSource imageSource; + public facebook::react::Tag tag; +} + +struct facebook::react::InspectorData { + public folly::dynamic props; + public int columnNumber; + public int lineNumber; + public int selectedIndex; + public std::string fileName; + public std::vector hierarchy; +} + +struct facebook::react::JAssetManager : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JCallback : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JDynamic : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JExecutor : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void execute(jni::alias_ref runnable); +} + +struct facebook::react::JFrameTimingSequence : public facebook::jni::JavaClass { + public facebook::react::HighResDuration getVsyncInterval() const; + public facebook::react::HighResTimeStamp getBeginTimestamp() const; + public facebook::react::HighResTimeStamp getEndTimestamp() const; + public static constexpr auto kJavaDescriptor; + public std::optional> getScreenshot() const; + public uint64_t getId() const; + public uint64_t getThreadId() const; +} + +struct facebook::react::JJavaTimerManager : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void createTimer(uint32_t timerID, double duration, bool repeat); + public void deleteTimer(uint32_t timerID); +} + +struct facebook::react::JMountItem : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JNativeModule : public facebook::jni::JavaClass { + public static constexpr char* const kJavaDescriptor; +} + +struct facebook::react::JReactHostImpl : public facebook::jni::JavaClass { + public jni::local_ref reload(const std::string& reason); + public jni::local_ref> getHostMetadata() const; + public jni::local_ref captureScreenshot(const std::string& format, int quality) const; + public static constexpr auto kJavaDescriptor; + public void loadNetworkResource(const std::string& url, jni::local_ref listener) const; + public void setEmulatedMedia(const std::string& colorScheme); + public void setPausedInDebuggerMessage(std::optional message); +} + +struct facebook::react::JTaskInterface : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JTracingState : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JTracingStateListener : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public void onStateChanged(TracingState tracingState, bool screenshotsEnabled) const; +} + +struct facebook::react::JTurboModule : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::JTurboModuleWithJSIBindings : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::LayoutAnimation { + public bool completed; + public facebook::react::LayoutAnimationCallbackWrapper failureCallback; + public facebook::react::LayoutAnimationCallbackWrapper successCallback; + public facebook::react::LayoutAnimationConfig layoutAnimationConfig; + public facebook::react::SurfaceId surfaceId; + public std::vector keyFrames; + public uint64_t startTime; +} + +struct facebook::react::LayoutAnimationConfig { + public double duration; + public facebook::react::AnimationConfig createConfig; + public facebook::react::AnimationConfig deleteConfig; + public facebook::react::AnimationConfig updateConfig; +} + +struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { + public LayoutConformanceProps() = default; + public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConformance mode; +} + +struct facebook::react::LayoutConstraints { + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::Size clamp(const facebook::react::Size& size) const; + public facebook::react::Size maximumSize; + public facebook::react::Size minimumSize; +} + +struct facebook::react::LayoutContext { + public bool swapLeftAndRightInRTL; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float pointScaleFactor; + public facebook::react::Point viewportOffset; + public facebook::react::Size viewportSize; + public std::vector* affectedNodes; +} + +struct facebook::react::LayoutMetrics { + public bool operator==(const facebook::react::LayoutMetrics& rhs) const = default; + public bool wasLeftAndRightSwapped; + public facebook::react::DisplayType displayType; + public facebook::react::EdgeInsets borderWidth; + public facebook::react::EdgeInsets contentInsets; + public facebook::react::EdgeInsets overflowInset; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float pointScaleFactor; + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::PositionType positionType; + public facebook::react::Rect frame; + public facebook::react::Rect getContentFrame() const; + public facebook::react::Rect getOverflowInsetFrame() const; + public facebook::react::Rect getPaddingFrame() const; +} + +struct facebook::react::LineMeasurement { + public LineMeasurement(const folly::dynamic& data); + public LineMeasurement(std::string text, facebook::react::Rect frame, facebook::react::Float descender, facebook::react::Float capHeight, facebook::react::Float ascender, facebook::react::Float xHeight); + public bool operator==(const facebook::react::LineMeasurement& rhs) const; + public facebook::react::Float ascender; + public facebook::react::Float capHeight; + public facebook::react::Float descender; + public facebook::react::Float xHeight; + public facebook::react::Rect frame; + public static facebook::react::Float baseline(const std::vector& lines); + public std::string text; +} + +struct facebook::react::LinearGradient { + public bool operator==(const facebook::react::LinearGradient& other) const = default; + public facebook::react::GradientDirection direction; + public folly::dynamic toDynamic() const; + public std::vector colorStops; +} + +struct facebook::react::Magic32 { + public uint32_t reserved_; + public uint32_t value; +} + +struct facebook::react::MeasuredPreparedTextLayout { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::TextMeasurement measurement; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; +} + +struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { + public facebook::react::ModalHostViewSupportedOrientationsMask value; +} + +struct facebook::react::NativeDrawable { + public bool operator!=(const facebook::react::NativeDrawable& rhs) const; + public bool operator==(const facebook::react::NativeDrawable& rhs) const; + public facebook::react::NativeDrawable::Kind kind; + public facebook::react::NativeDrawable::Ripple ripple; + public std::string themeAttr; + public ~NativeDrawable() = default; +} + +enum facebook::react::NativeDrawable::Kind : uint8_t { + Ripple, + ThemeAttr, +} + +struct facebook::react::NativeDrawable::Ripple { + public bool borderless; + public bool operator==(const facebook::react::NativeDrawable::Ripple& rhs) const; + public std::optional alpha; + public std::optional rippleRadius; + public std::optional color; + public std::optional colorFallback; + public std::optional> colorResourcePaths; +} + +struct facebook::react::Point { + public bool operator==(const facebook::react::Point& rhs) const = default; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Point operator+(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point operator-() const noexcept; + public facebook::react::Point operator-(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator+=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator-=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::PointerEvent : public facebook::react::EventPayload { + public bool altKey; + public bool ctrlKey; + public bool isPrimary; + public bool metaKey; + public bool shiftKey; + public facebook::react::Float height; + public facebook::react::Float pressure; + public facebook::react::Float tangentialPressure; + public facebook::react::Float width; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point clientPoint; + public facebook::react::Point offsetPoint; + public facebook::react::Point screenPoint; + public int button; + public int buttons; + public int detail; + public int pointerId; + public int tiltX; + public int tiltY; + public int twist; + public std::string pointerType; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +struct facebook::react::PointerEventTarget { + public facebook::react::PointerEvent event; + public std::shared_ptr target; +} + +struct facebook::react::ProcessedColorStop { + public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; + public facebook::react::SharedColor color; + public std::optional position; +} + +struct facebook::react::Promise : public facebook::react::LongLivedObject { + public Promise(facebook::jsi::Runtime& rt, facebook::jsi::Function resolve, facebook::jsi::Function reject); + public facebook::jsi::Function reject_; + public facebook::jsi::Function resolve_; + public void reject(const std::string& message); + public void resolve(const facebook::jsi::Value& result); +} + +struct facebook::react::PropsParserContext { + public PropsParserContext(const facebook::react::PropsParserContext&) = delete; + public PropsParserContext(const facebook::react::SurfaceId surfaceId, const facebook::react::ContextContainer& contextContainer); + public const facebook::react::ContextContainer& contextContainer; + public const facebook::react::SurfaceId surfaceId; + public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; +} + +struct facebook::react::RadialGradient { + public bool operator==(const facebook::react::RadialGradient& other) const = default; + public facebook::react::RadialGradientPosition position; + public facebook::react::RadialGradientShape shape; + public facebook::react::RadialGradientSize size; + public folly::dynamic toDynamic() const; + public std::vector colorStops; +} + +struct facebook::react::RadialGradientPosition { + public bool operator==(const facebook::react::RadialGradientPosition& other) const = default; + public folly::dynamic toDynamic() const; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::RadialGradientSize { + public bool operator==(const facebook::react::RadialGradientSize& other) const = default; + public folly::dynamic toDynamic() const; + public std::variant value; +} + +enum facebook::react::RadialGradientSize::SizeKeyword { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +struct facebook::react::RadialGradientSize::Dimensions { + public bool operator==(const facebook::react::RadialGradientSize::Dimensions& other) const = default; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::RawEvent { + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public bool isUnique; + public facebook::react::EventTag loggingTag; + public facebook::react::HighResTimeStamp eventStartTimeStamp; + public facebook::react::RawEvent::Category category; + public facebook::react::SharedEventPayload eventPayload; + public facebook::react::SharedEventTarget eventTarget; + public std::string type; + public std::weak_ptr shadowNodeFamily; +} + +enum facebook::react::RawEvent::Category { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +struct facebook::react::ReactNativeVersionType { + public int32_t Major; + public int32_t Minor; + public int32_t Patch; + public std::string_view Prerelease; +} + +struct facebook::react::ReadableArray : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::ReadableMap : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::ReadableNativeMap : public jni::HybridClass { + public friend HybridBase; + public jni::local_ref> importTypes(); + public jni::local_ref> importValues(); + public jni::local_ref> importKeys(); + public static constexpr auto kJavaDescriptor; + public static jni::local_ref createWithContents(folly::dynamic&& map); + public static void mapException(std::exception_ptr ex); + public static void registerNatives(); +} + +struct facebook::react::ReadableType : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static jni::alias_ref getType(folly::dynamic::Type type); +} + +struct facebook::react::Rect { + public bool containsPoint(facebook::react::Point point) noexcept; + public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; + public facebook::react::Float getMaxX() const noexcept; + public facebook::react::Float getMaxY() const noexcept; + public facebook::react::Float getMidX() const noexcept; + public facebook::react::Float getMidY() const noexcept; + public facebook::react::Float getMinX() const noexcept; + public facebook::react::Float getMinY() const noexcept; + public facebook::react::Point getCenter() const noexcept; + public facebook::react::Point origin; + public facebook::react::Size size; + public static facebook::react::Rect boundingRect(const facebook::react::Point& a, const facebook::react::Point& b, const facebook::react::Point& c, const facebook::react::Point& d) noexcept; + public static facebook::react::Rect intersect(const facebook::react::Rect& rect1, const facebook::react::Rect& rect2); + public void unionInPlace(const facebook::react::Rect& rect) noexcept; +} + +struct facebook::react::SchedulerToolbox { + public facebook::react::ComponentRegistryFactory componentRegistryFactory; + public facebook::react::EventBeat::Factory eventBeatFactory; + public facebook::react::RuntimeExecutor runtimeExecutor; + public std::optional bridgelessBindingsExecutor; + public std::shared_ptr contextContainer; + public std::shared_ptr animationChoreographer; + public std::vector> commitHooks; +} + +struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { + public ScrollEndDragEvent() = default; + public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); + public facebook::react::Point targetContentOffset; + public facebook::react::Point velocity; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; +} + +struct facebook::react::ScrollEvent : public facebook::react::EventPayload { + public ScrollEvent() = default; + public bool responderIgnoreScroll; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Float timestamp; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector&) const override; +} + +struct facebook::react::ShadowNodeFamilyFragment { + public const facebook::react::SurfaceId surfaceId; + public const facebook::react::Tag tag; + public const std::shared_ptr instanceHandle; +} + +struct facebook::react::ShadowNodeFragment { + public const bool runtimeShadowNodeReference; + public const facebook::react::Props::Shared& props; + public const facebook::react::State::Shared& state; + public const std::shared_ptr>>& children; + public static const facebook::react::Props::Shared& propsPlaceholder(); + public static const facebook::react::State::Shared& statePlaceholder(); + public static const std::shared_ptr>>& childrenPlaceholder(); +} + +struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { + public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); + public std::shared_ptr>> shadowNodeList; + public ~ShadowNodeListWrapper() override; +} + +struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { + public ShadowNodeWrapper(std::shared_ptr shadowNode); + public std::shared_ptr shadowNode; + public ~ShadowNodeWrapper() override; +} + +struct facebook::react::ShadowTreeCommitOptions { + public bool enableStateReconciliation; + public bool mountSynchronously; + public facebook::react::ShadowTreeCommitSource source; +} + +struct facebook::react::ShadowView { + public ShadowView() = default; + public ShadowView(const facebook::react::ShadowNode& shadowNode); + public ShadowView(const facebook::react::ShadowView& shadowView) = default; + public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; + public bool operator==(const facebook::react::ShadowView& rhs) const; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::EventEmitter::Shared eventEmitter; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; + public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; +} + +struct facebook::react::ShadowViewMutation { + public ShadowViewMutation() = delete; + public bool mutatedViewIsVirtual() const; + public facebook::react::ShadowView newChildShadowView; + public facebook::react::ShadowView oldChildShadowView; + public facebook::react::ShadowViewMutation::Type type; + public facebook::react::Tag parentTag; + public int index; + public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); + public using List = std::vector; +} + +enum facebook::react::ShadowViewMutation::Type : std::uint8_t { + Create, + Delete, + Insert, + Remove, + Update, +} + +struct facebook::react::Size { + public facebook::react::Float height; + public facebook::react::Float width; + public facebook::react::Size& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Size& operator+=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::StateData { + public StateData() = default; + public StateData(const facebook::react::StateData& previousState, folly::dynamic data); + public folly::dynamic getDynamic() const; + public using Shared = std::shared_ptr; +} + +struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { + template + public SystraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::Task : public facebook::jsi::NativeState { + public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); + public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); +} + +struct facebook::react::TextEffectInfo { + public bool operator==(const facebook::react::TextEffectInfo&) const = default; + public folly::dynamic props; + public std::string name; +} + +struct facebook::react::TextLayoutContext { + public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; + public facebook::react::Float pointScaleFactor; + public facebook::react::SurfaceId surfaceId; +} + +struct facebook::react::TimerCallback { + public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); + public bool repeat; + public const std::vector args_; + public facebook::jsi::Function callback_; + public facebook::react::TimerSource source; + public void invoke(facebook::jsi::Runtime& runtime); +} + +struct facebook::react::TouchEvent { + public facebook::react::Touches changedTouches; + public facebook::react::Touches targetTouches; + public facebook::react::Touches touches; +} + +struct facebook::react::Transform { + public bool operator==(const facebook::react::Transform& rhs) const noexcept; + public const facebook::react::Float& at(int i, int j) const noexcept; + public facebook::react::Float& at(int i, int j) noexcept; + public facebook::react::Rect applyWithCenter(const facebook::react::Rect& rect, const facebook::react::Point& center) const; + public facebook::react::Transform operator*(const facebook::react::Transform& rhs) const; + public operator folly::dynamic() const; + public static bool isHorizontalInversion(const facebook::react::Transform& transform) noexcept; + public static bool isVerticalInversion(const facebook::react::Transform& transform) noexcept; + public static facebook::react::Transform FromTransformOperation(facebook::react::TransformOperation transformOperation, const facebook::react::Size& size, const facebook::react::Transform& transform = facebook::react::Transform::Identity()); + public static facebook::react::Transform HorizontalInversion() noexcept; + public static facebook::react::Transform Identity() noexcept; + public static facebook::react::Transform Interpolate(facebook::react::Float animationProgress, const facebook::react::Transform& lhs, const facebook::react::Transform& rhs, const facebook::react::Size& size); + public static facebook::react::Transform Perspective(facebook::react::Float perspective) noexcept; + public static facebook::react::Transform Rotate(facebook::react::Float angleX, facebook::react::Float angleY, facebook::react::Float angleZ) noexcept; + public static facebook::react::Transform RotateX(facebook::react::Float radians) noexcept; + public static facebook::react::Transform RotateY(facebook::react::Float radians) noexcept; + public static facebook::react::Transform RotateZ(facebook::react::Float radians) noexcept; + public static facebook::react::Transform Scale(facebook::react::Float factorX, facebook::react::Float factorY, facebook::react::Float factorZ) noexcept; + public static facebook::react::Transform Skew(facebook::react::Float x, facebook::react::Float y) noexcept; + public static facebook::react::Transform Translate(facebook::react::Float x, facebook::react::Float y, facebook::react::Float z) noexcept; + public static facebook::react::Transform VerticalInversion() noexcept; + public static facebook::react::TransformOperation DefaultTransformOperation(facebook::react::TransformOperationType type); + public std::array matrix; + public std::vector operations; +} + +struct facebook::react::TransformConfig { + public double value; + public facebook::react::Tag nodeTag; + public std::string property; +} + +struct facebook::react::TransformOperation { + public bool operator==(const facebook::react::TransformOperation& other) const = default; + public facebook::react::TransformOperationType type; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; + public facebook::react::ValueUnit z; +} + +struct facebook::react::TransformOrigin { + public bool isSet() const; + public bool operator==(const facebook::react::TransformOrigin& other) const = default; + public float z; + public operator folly::dynamic() const; + public std::array xy; +} + +struct facebook::react::ValueUnit { + public constexpr ValueUnit() = default; + public constexpr ValueUnit(float v, facebook::react::UnitType u); + public constexpr bool operator==(const facebook::react::ValueUnit& other) const = default; + public constexpr float resolve(float referenceLength) const; + public constexpr operator bool() const; + public facebook::react::UnitType unit; + public float value; + public folly::dynamic toDynamic() const; +} + +struct facebook::react::Vector { + public facebook::react::Float w; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Float z; +} + +struct facebook::react::ViewEvents { + public constexpr bool operator[](const facebook::react::ViewEvents::Offset offset) const; + public std::bitset<64> bits; + public std::bitset<64>::reference operator[](const facebook::react::ViewEvents::Offset offset); +} + +enum facebook::react::ViewEvents::Offset : std::size_t { + Click, + ClickCapture, + GotPointerCapture, + LostPointerCapture, + MoveShouldSetResponder, + MoveShouldSetResponderCapture, + PointerDown, + PointerDownCapture, + PointerEnter, + PointerEnterCapture, + PointerLeave, + PointerLeaveCapture, + PointerMove, + PointerMoveCapture, + PointerOut, + PointerOutCapture, + PointerOver, + PointerOverCapture, + PointerUp, + PointerUpCapture, + ResponderEnd, + ResponderGrant, + ResponderMove, + ResponderReject, + ResponderRelease, + ResponderStart, + ResponderTerminate, + ResponderTerminationRequest, + ShouldBlockNativeResponder, + StartShouldSetResponder, + StartShouldSetResponderCapture, + TouchCancel, + TouchEnd, + TouchMove, + TouchStart, +} + +struct facebook::react::WritableArray : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::WritableMap : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; +} + +struct facebook::react::WritableNativeArray : public jni::HybridClass { + public WritableNativeArray(); + public WritableNativeArray(folly::dynamic&& val); + public static constexpr char* kJavaDescriptor; + public static void initHybrid(jni::alias_ref jobj); + public static void registerNatives(); + public void pushBoolean(jboolean value); + public void pushDouble(jdouble value); + public void pushInt(jint value); + public void pushLong(jlong value); + public void pushNativeArray(facebook::react::ReadableNativeArray* otherArray); + public void pushNativeMap(facebook::react::ReadableNativeMap* map); + public void pushNull(); + public void pushString(jstring value); +} + +struct facebook::react::WritableNativeMap : public jni::HybridClass { + public WritableNativeMap(); + public WritableNativeMap(folly::dynamic&& val); + public friend HybridBase; + public static constexpr auto kJavaDescriptor; + public static void initHybrid(jni::alias_ref jobj); + public static void registerNatives(); + public void mergeNativeMap(facebook::react::ReadableNativeMap* other); + public void putBoolean(std::string key, bool val); + public void putDouble(std::string key, double val); + public void putInt(std::string key, int val); + public void putLong(std::string key, jlong val); + public void putNativeArray(std::string key, facebook::react::ReadableNativeArray* otherArray); + public void putNativeMap(std::string key, facebook::react::ReadableNativeMap* otherMap); + public void putNull(std::string key); + public void putString(std::string key, jni::alias_ref val); +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSList { +} + +template ... VisitorsT> +struct facebook::react::CSSComponentValueVisitorDispatcher { + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); + public constexpr std::optional visitFunction(); + public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitPreservedToken(); + public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public facebook::react::CSSSyntaxParser& parser; +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { + public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ConcreteViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteShadowNode; + public using ConcreteViewProps = ViewPropsT; + public virtual bool canBeTouchTarget() const override; + public virtual bool canChildrenBeTouchTarget() const override; + public virtual facebook::react::Transform getTransform() const override; +} + +template +class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; + protected std::shared_ptr textLayoutManager_; + protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + protected virtual void layout(facebook::react::LayoutContext layoutContext) override; + public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +template +class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { + protected facebook::react::Props::Shared props_; + protected facebook::react::State::Shared state_; + public const facebook::react::ConcreteShadowNode::ConcreteEventEmitter& getConcreteEventEmitter() const; + public const facebook::react::ConcreteShadowNode::ConcreteProps& getConcreteProps() const; + public const facebook::react::ConcreteShadowNode::ConcreteStateData& getStateData() const; + public const std::shared_ptr& getConcreteSharedProps() const; + public static const facebook::react::ConcreteShadowNode::SharedConcreteProps& defaultSharedProps(); + public static facebook::react::ComponentHandle Handle(); + public static facebook::react::ComponentName Name(); + public static facebook::react::ConcreteShadowNode::ConcreteStateData initialStateData(const facebook::react::Props::Shared&, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor&); + public static facebook::react::ConcreteShadowNode::UnsharedConcreteProps Props(const facebook::react::Props::Shared& baseProps); + public static facebook::react::ConcreteShadowNode::UnsharedConcreteProps Props(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::Props::Shared& baseProps = nullptr); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public static void initializeDynamicProps(facebook::react::ConcreteShadowNode::UnsharedConcreteProps props, const facebook::react::RawProps& rawProps, const facebook::react::Props::Shared& baseProps = nullptr); + public using ConcreteEventEmitter = EventEmitterT; + public using ConcreteProps = PropsT; + public using ConcreteState = facebook::react::ConcreteState; + public using ConcreteStateData = StateDataT; + public using SharedConcreteEventEmitter = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteShadowNode = std::shared_ptr; + public using UnsharedConcreteProps = std::shared_ptr; + public void setStateData(facebook::react::ConcreteShadowNode::ConcreteStateData&& data); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +template +struct facebook::react::TemplateStringLiteral { + public constexpr TemplateStringLiteral(const char(&str)[N]); + public constexpr operator std::string_view() const; + public std::array value; +} + +template +struct facebook::react::CSSDataTypeParser { +} + +template +class facebook::react::ConcreteState : public facebook::react::State { + public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); + public ConcreteState(facebook::react::ConcreteState::SharedData data, facebook::react::ShadowNodeFamily::Weak family); + public const facebook::react::ConcreteState::Data& getData() const; + public using Data = DataT; + public using Shared = std::shared_ptr; + public using SharedData = std::shared_ptr; + public virtual facebook::react::MapBuffer getMapBuffer() const override; + public virtual folly::dynamic getDynamic() const override; + public virtual jni::local_ref getJNIReference() const override; + public virtual void updateState(folly::dynamic&& data) const override; + public void updateState(facebook::react::ConcreteState::Data&& newData, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void updateState(std::function callback, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public ~ConcreteState() override = default; +} + +template +class facebook::react::SyncCallback { +} + +template +class facebook::react::SimpleThreadSafeCache { + public SimpleThreadSafeCache(); + public SimpleThreadSafeCache(unsigned long size); + public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; + public std::optional get(const KeyT& key) const; + public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; +} + +template +class facebook::react::OnScopeExit { + public OnScopeExit(const Lambda&& lambda) noexcept; + public OnScopeExit(const facebook::react::OnScopeExit&) = delete; + public OnScopeExit(facebook::react::OnScopeExit&&) = delete; + public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; + public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; + public ~OnScopeExit() noexcept; +} + +template +struct facebook::react::NativePerformanceRawPerformanceEntry { + public P0 name; + public P1 entryType; + public P2 startTime; + public P3 duration; + public P4 processingStart; + public P5 processingEnd; + public P6 interactionId; + public P7 fetchStart; + public P8 requestStart; + public P9 connectStart; + public P10 connectEnd; + public P11 responseStart; + public P12 responseEnd; + public P13 responseStatus; + public P14 contentType; + public P15 encodedBodySize; + public P16 decodedBodySize; + public bool operator==(const facebook::react::NativePerformanceRawPerformanceEntry& other) const; +} + +template +struct facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroid { + public P0 isTesting; + public P1 isDisableAnimations; + public P2 reactNativeVersion; + public P3 Version; + public P4 Release; + public P5 Serial; + public P6 Fingerprint; + public P7 Model; + public P8 ServerHost; + public P9 uiMode; + public P10 Brand; + public P11 Manufacturer; + public bool operator==(const facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroid& other) const; +} + +template +struct facebook::react::NativeAlertManagerArgs { + public P0 title; + public P1 message; + public P2 buttons; + public P3 type; + public P4 defaultValue; + public P5 cancelButtonKey; + public P6 destructiveButtonKey; + public P7 preferredButtonKey; + public P8 keyboardType; + public P9 userInterfaceStyle; + public bool operator==(const facebook::react::NativeAlertManagerArgs& other) const; +} + +template +struct facebook::react::NativeExceptionsManagerExceptionData { + public P0 message; + public P1 originalMessage; + public P2 name; + public P3 componentStack; + public P4 stack; + public P5 id; + public P6 isFatal; + public P7 extraData; + public bool operator==(const facebook::react::NativeExceptionsManagerExceptionData& other) const; +} + +template +struct facebook::react::NativeDialogManagerAndroidDialogOptions { + public P0 title; + public P1 message; + public P2 buttonPositive; + public P3 buttonNegative; + public P4 buttonNeutral; + public P5 items; + public P6 cancelable; + public bool operator==(const facebook::react::NativeDialogManagerAndroidDialogOptions& other) const; +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry { + public P0 intersectionObserverId; + public P1 targetInstanceHandle; + public P2 targetRect; + public P3 rootRect; + public P4 intersectionRect; + public P5 isIntersectingAboveThresholds; + public P6 time; + public bool operator==(const facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry& other) const; +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions { + public P0 intersectionObserverId; + public P1 rootShadowNode; + public P2 targetShadowNode; + public P3 thresholds; + public P4 rootThresholds; + public P5 rootMargin; + public bool operator==(const facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativeResizeObserverNativeResizeObserverEntry { + public P0 resizeObserverId; + public P1 targetInstanceHandle; + public P2 contentRect; + public P3 borderBoxSize; + public P4 contentBoxSize; + public P5 devicePixelContentBoxSize; + public bool operator==(const facebook::react::NativeResizeObserverNativeResizeObserverEntry& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsAndroid { + public P0 width; + public P1 height; + public P2 scale; + public P3 fontScale; + public P4 densityDpi; + public bool operator==(const facebook::react::NativeDeviceInfoDisplayMetricsAndroid& other) const; +} + +template +struct facebook::react::NativeExceptionsManagerStackFrame { + public P0 column; + public P1 file; + public P2 lineNumber; + public P3 methodName; + public P4 collapse; + public bool operator==(const facebook::react::NativeExceptionsManagerStackFrame& other) const; +} + +template +struct facebook::react::NativeImageEditorOptions { + public P0 offset; + public P1 size; + public P2 displaySize; + public P3 resizeMode; + public P4 allowExternalStorage; + public bool operator==(const facebook::react::NativeImageEditorOptions& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDimensionsPayload { + public P0 window; + public P1 screen; + public P2 windowPhysicalPixels; + public P3 screenPhysicalPixels; + public bool operator==(const facebook::react::NativeDeviceInfoDimensionsPayload& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetrics { + public P0 width; + public P1 height; + public P2 scale; + public P3 fontScale; + public bool operator==(const facebook::react::NativeDeviceInfoDisplayMetrics& other) const; +} + +template +struct facebook::react::NativeMutationObserverNativeMutationRecord { + public P0 mutationObserverId; + public P1 target; + public P2 addedNodes; + public P3 removedNodes; + public bool operator==(const facebook::react::NativeMutationObserverNativeMutationRecord& other) const; +} + +template +struct facebook::react::NativePerformancePerformanceObserverInit { + public P0 entryTypes; + public P1 type; + public P2 buffered; + public P3 durationThreshold; + public bool operator==(const facebook::react::NativePerformancePerformanceObserverInit& other) const; +} + +template +struct facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroid { + public P0 major; + public P1 minor; + public P2 patch; + public P3 prerelease; + public bool operator==(const facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroid& other) const; +} + +template +struct facebook::react::NativeAnimatedModuleEndResult { + public P0 finished; + public P1 value; + public P2 offset; + public bool operator==(const facebook::react::NativeAnimatedModuleEndResult& other) const; +} + +template +struct facebook::react::NativeAnimatedTurboModuleEndResult { + public P0 finished; + public P1 value; + public P2 offset; + public bool operator==(const facebook::react::NativeAnimatedTurboModuleEndResult& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDeviceInfoConstants { + public P0 Dimensions; + public P1 isEdgeToEdge; + public P2 isIPhoneX_deprecated; + public bool operator==(const facebook::react::NativeDeviceInfoDeviceInfoConstants& other) const; +} + +template +struct facebook::react::NativeI18nManagerI18nManagerConstants { + public P0 doLeftAndRightSwapInRTL; + public P1 isRTL; + public P2 localeIdentifier; + public bool operator==(const facebook::react::NativeI18nManagerI18nManagerConstants& other) const; +} + +template +struct facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions { + public P0 mutationObserverId; + public P1 targetShadowNode; + public P2 subtree; + public bool operator==(const facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions { + public P0 resizeObserverId; + public P1 targetShadowNode; + public P2 box; + public bool operator==(const facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativeAnimatedModuleEventMapping { + public P0 nativeEventPath; + public P1 animatedValueTag; + public bool operator==(const facebook::react::NativeAnimatedModuleEventMapping& other) const; +} + +template +struct facebook::react::NativeAnimatedTurboModuleEventMapping { + public P0 nativeEventPath; + public P1 animatedValueTag; + public bool operator==(const facebook::react::NativeAnimatedTurboModuleEventMapping& other) const; +} + +template +struct facebook::react::NativeBlobModuleConstants { + public P0 BLOB_URI_SCHEME; + public P1 BLOB_URI_HOST; + public bool operator==(const facebook::react::NativeBlobModuleConstants& other) const; +} + +template +struct facebook::react::NativeIdleCallbacksIdleDeadline { + public P0 didTimeout; + public P1 timeRemaining; + public bool operator==(const facebook::react::NativeIdleCallbacksIdleDeadline& other) const; +} + +template +struct facebook::react::NativeImageLoaderAndroidImageSize { + public P0 width; + public P1 height; + public bool operator==(const facebook::react::NativeImageLoaderAndroidImageSize& other) const; +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig { + public P0 shouldReloadAndProfile; + public P1 recordChangeDescriptions; + public bool operator==(const facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig& other) const; +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig { + public P0 shouldReloadAndProfile; + public P1 recordChangeDescriptions; + public bool operator==(const facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig& other) const; +} + +template +struct facebook::react::NativeAppStateAppState { + public P0 app_state; + public bool operator==(const facebook::react::NativeAppStateAppState& other) const; +} + +template +struct facebook::react::NativeAppStateAppStateConstants { + public P0 initialAppState; + public bool operator==(const facebook::react::NativeAppStateAppStateConstants& other) const; +} + +template +struct facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions { + public P0 timeout; + public bool operator==(const facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions& other) const; +} + +template +struct facebook::react::NativeSourceCodeSourceCodeConstants { + public P0 scriptURL; + public bool operator==(const facebook::react::NativeSourceCodeSourceCodeConstants& other) const; +} + +template +class facebook::react::SyncCallback { + public R call(Args... args) const; + public R operator()(Args... args) const; + public SyncCallback(const facebook::react::SyncCallback&) = delete; + public SyncCallback(facebook::jsi::Runtime& rt, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public SyncCallback(facebook::react::SyncCallback&& other) noexcept; + public facebook::react::SyncCallback& operator=(const facebook::react::SyncCallback&) = delete; + public facebook::react::SyncCallback& operator=(facebook::react::SyncCallback&& other) noexcept; + public ~SyncCallback(); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +class facebook::react::SafeReleaseJniRef { + public RefT::javaobject get() const; + public SafeReleaseJniRef() = default; + public SafeReleaseJniRef(RefT ref); + public SafeReleaseJniRef(const facebook::react::SafeReleaseJniRef& other) = default; + public SafeReleaseJniRef(facebook::react::SafeReleaseJniRef&& other) = default; + public const std::remove_reference())>::type& operator*() const noexcept; + public const std::remove_reference())>::type* operator->() const noexcept; + public facebook::react::SafeReleaseJniRef& operator=(const facebook::react::SafeReleaseJniRef& other) = default; + public facebook::react::SafeReleaseJniRef& operator=(facebook::react::SafeReleaseJniRef&& other) = default; + public operator RefT() const; + public operator bool() const noexcept; + public std::remove_reference())>::type& operator*() noexcept; + public std::remove_reference())>::type* operator->() noexcept; + public ~SafeReleaseJniRef(); +} + +template +class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual facebook::react::ComponentName getComponentName() const override; +} + +template +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteState::Data; + public using SharedConcreteEventEmitter = typename ShadowNodeT::SharedConcreteEventEmitter; + public using SharedConcreteProps = typename ShadowNodeT::SharedConcreteProps; + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const override; + public virtual facebook::react::ShadowNodeTraits getTraits() const override; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const override; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; +} + +template +struct facebook::react::Bridging { +} + +template +class facebook::react::NativeAccessibilityInfoCxxSpec : public facebook::react::TurboModule { + protected NativeAccessibilityInfoCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAccessibilityManagerCxxSpec : public facebook::react::TurboModule { + protected NativeAccessibilityManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeActionSheetManagerCxxSpec : public facebook::react::TurboModule { + protected NativeActionSheetManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAlertManagerCxxSpec : public facebook::react::TurboModule { + protected NativeAlertManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAnimatedModuleCxxSpec : public facebook::react::TurboModule { + protected NativeAnimatedModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAnimatedTurboModuleCxxSpec : public facebook::react::TurboModule { + protected NativeAnimatedTurboModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAppStateCxxSpec : public facebook::react::TurboModule { + protected NativeAppStateCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAppearanceCxxSpec : public facebook::react::TurboModule { + protected NativeAppearanceCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeBlobModuleCxxSpec : public facebook::react::TurboModule { + protected NativeBlobModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeCPUTimeCxxSpec : public facebook::react::TurboModule { + protected NativeCPUTimeCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeClipboardCxxSpec : public facebook::react::TurboModule { + protected NativeClipboardCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDOMCxxSpec : public facebook::react::TurboModule { + protected NativeDOMCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevLoadingViewCxxSpec : public facebook::react::TurboModule { + protected NativeDevLoadingViewCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevMenuCxxSpec : public facebook::react::TurboModule { + protected NativeDevMenuCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevSettingsCxxSpec : public facebook::react::TurboModule { + protected NativeDevSettingsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDeviceEventManagerCxxSpec : public facebook::react::TurboModule { + protected NativeDeviceEventManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDeviceInfoCxxSpec : public facebook::react::TurboModule { + protected NativeDeviceInfoCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDialogManagerAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeDialogManagerAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeExceptionsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeExceptionsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFileReaderModuleCxxSpec : public facebook::react::TurboModule { + protected NativeFileReaderModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFrameRateLoggerCxxSpec : public facebook::react::TurboModule { + protected NativeFrameRateLoggerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeHeadlessJsTaskSupportCxxSpec : public facebook::react::TurboModule { + protected NativeHeadlessJsTaskSupportCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeI18nManagerCxxSpec : public facebook::react::TurboModule { + protected NativeI18nManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIdleCallbacksCxxSpec : public facebook::react::TurboModule { + protected NativeIdleCallbacksCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageEditorCxxSpec : public facebook::react::TurboModule { + protected NativeImageEditorCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageLoaderAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeImageLoaderAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageStoreAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeImageStoreAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIntentAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeIntentAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIntersectionObserverCxxSpec : public facebook::react::TurboModule { + protected NativeIntersectionObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeJSCHeapCaptureCxxSpec : public facebook::react::TurboModule { + protected NativeJSCHeapCaptureCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeKeyboardObserverCxxSpec : public facebook::react::TurboModule { + protected NativeKeyboardObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeLinkingManagerCxxSpec : public facebook::react::TurboModule { + protected NativeLinkingManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeLogBoxCxxSpec : public facebook::react::TurboModule { + protected NativeLogBoxCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeMicrotasksCxxSpec : public facebook::react::TurboModule { + protected NativeMicrotasksCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeMutationObserverCxxSpec : public facebook::react::TurboModule { + protected NativeMutationObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeNetworkingAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeNetworkingAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePerformanceCxxSpec : public facebook::react::TurboModule { + protected NativePerformanceCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePermissionsAndroidCxxSpec : public facebook::react::TurboModule { + protected NativePermissionsAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePlatformConstantsAndroidCxxSpec : public facebook::react::TurboModule { + protected NativePlatformConstantsAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec : public facebook::react::TurboModule { + protected NativeReactDevToolsRuntimeSettingsModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactDevToolsSettingsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeReactDevToolsSettingsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeRedBoxCxxSpec : public facebook::react::TurboModule { + protected NativeRedBoxCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeResizeObserverCxxSpec : public facebook::react::TurboModule { + protected NativeResizeObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSegmentFetcherCxxSpec : public facebook::react::TurboModule { + protected NativeSegmentFetcherCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSettingsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeSettingsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeShareModuleCxxSpec : public facebook::react::TurboModule { + protected NativeShareModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSoundManagerCxxSpec : public facebook::react::TurboModule { + protected NativeSoundManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSourceCodeCxxSpec : public facebook::react::TurboModule { + protected NativeSourceCodeCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeStatusBarManagerAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeStatusBarManagerAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeTimingCxxSpec : public facebook::react::TurboModule { + protected NativeTimingCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeToastAndroidCxxSpec : public facebook::react::TurboModule { + protected NativeToastAndroidCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeVibrationCxxSpec : public facebook::react::TurboModule { + protected NativeVibrationCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeViewTransitionCxxSpec : public facebook::react::TurboModule { + protected NativeViewTransitionCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeWebSocketModuleCxxSpec : public facebook::react::TurboModule { + protected NativeWebSocketModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { + public AnimatedProp() = default; + public AnimatedProp(facebook::react::PropName propName, const T& value); + public T value; +} + +template +struct facebook::react::CascadedRectangleCorners { + public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; + public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleCorners::OptionalT all; + public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; + public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; + public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; + public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; + public facebook::react::CascadedRectangleCorners::OptionalT endEnd; + public facebook::react::CascadedRectangleCorners::OptionalT endStart; + public facebook::react::CascadedRectangleCorners::OptionalT startEnd; + public facebook::react::CascadedRectangleCorners::OptionalT startStart; + public facebook::react::CascadedRectangleCorners::OptionalT topEnd; + public facebook::react::CascadedRectangleCorners::OptionalT topLeft; + public facebook::react::CascadedRectangleCorners::OptionalT topRight; + public facebook::react::CascadedRectangleCorners::OptionalT topStart; + public using Counterpart = facebook::react::RectangleCorners; + public using OptionalT = std::optional; +} + +template +struct facebook::react::CascadedRectangleEdges { + public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; + public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleEdges::OptionalT all; + public facebook::react::CascadedRectangleEdges::OptionalT block; + public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; + public facebook::react::CascadedRectangleEdges::OptionalT blockStart; + public facebook::react::CascadedRectangleEdges::OptionalT bottom; + public facebook::react::CascadedRectangleEdges::OptionalT end; + public facebook::react::CascadedRectangleEdges::OptionalT horizontal; + public facebook::react::CascadedRectangleEdges::OptionalT left; + public facebook::react::CascadedRectangleEdges::OptionalT right; + public facebook::react::CascadedRectangleEdges::OptionalT start; + public facebook::react::CascadedRectangleEdges::OptionalT top; + public facebook::react::CascadedRectangleEdges::OptionalT vertical; + public using Counterpart = facebook::react::RectangleEdges; + public using OptionalT = std::optional; +} + +template +struct facebook::react::NativeAlertManagerArgsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedModuleEndResultBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedModuleEventMappingBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedTurboModuleEndResultBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedTurboModuleEventMappingBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAppStateAppStateBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAppStateAppStateConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeBlobModuleConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDeviceInfoConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDimensionsPayloadBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDialogManagerAndroidDialogOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeExceptionsManagerExceptionDataBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeExceptionsManagerStackFrameBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeI18nManagerI18nManagerConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIdleCallbacksIdleDeadlineBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeImageEditorOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeImageLoaderAndroidImageSizeBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeMutationObserverNativeMutationRecordBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePerformancePerformanceObserverInitBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePerformanceRawPerformanceEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePlatformConstantsAndroidPlatformConstantsAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePlatformConstantsAndroidReactNativeVersionAndroidBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeResizeObserverNativeResizeObserverEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; +} + +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; +} + +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; +} + +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; +} + +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; +} + +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); +} + +template +class facebook::react::EventListenerContainerT { + public bool willDispatchEvent(TArgs... args); + public void addListener(std::shared_ptr> listener); + public void removeListener(const std::shared_ptr>& listener); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); +} + +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { +} + +struct facebook::react::Bridging { + public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); +} + +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); +} + +struct facebook::react::Bridging : public facebook::react::NativeAnimatedTurboModuleEndResultBridging { +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSDataTypeParser> { + public static std::optional> consume(facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); +} + +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); +} + +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& viewProps); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& viewProps); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps& viewProps); + + +const char* facebook::react::exceptions::gUnexpectedNativeTypeExceptionClass; +template +void facebook::react::exceptions::throwIfObjectAlreadyConsumed(const T& t, const char* msg); + + +constexpr bool facebook::react::detail::isHexDigit(char c); +constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); +constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); +constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); +constexpr uint8_t facebook::react::detail::clamp255Component(float f); +constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); +constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); +float facebook::react::detail::normalizeHue(float hue); +std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); +std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); +std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); +template +constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); +template +C facebook::react::detail::memberFunctionClass(T C::*); +template +constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); + +class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { + public OwnedBytesBuffer(std::vector bytes) noexcept; + public virtual size_t size() const override; + public virtual uint8_t* data() override; +} + +enum facebook::react::detail::HexColorType { + Long, + Short, +} + +template +struct facebook::react::detail::merge_data_types { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types { +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = typename T::PreparedTextLayout; +} + +template +struct facebook::react::detail::CSSVariantComponentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSAngleTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSFilterSimpleAmountParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSNumberPercentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = std::nullptr_t; +} + +template +struct facebook::react::detail::is_variant_of_data_types : public std::false_type { +} + +template +class facebook::react::detail::TextLayoutManagerExtended { + public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); + public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public static constexpr bool supportsLineMeasurement(); + public static constexpr bool supportsPreparedTextLayout(); + public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; +} + +template +struct facebook::react::detail::merge_variant { +} + +template +struct facebook::react::detail::merge_data_types, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_variant, RestT...> { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types> { + public using type = std::variant; +} + +template +struct facebook::react::detail::is_variant_of_data_types> : public std::true_type { +} + +template +struct facebook::react::detail::merge_data_types, std::variant, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + + +constexpr std::string_view facebook::react::detail::css::keywords::Absolute; +constexpr std::string_view facebook::react::detail::css::keywords::At; +constexpr std::string_view facebook::react::detail::css::keywords::Auto; +constexpr std::string_view facebook::react::detail::css::keywords::Baseline; +constexpr std::string_view facebook::react::detail::css::keywords::Block; +constexpr std::string_view facebook::react::detail::css::keywords::Bottom; +constexpr std::string_view facebook::react::detail::css::keywords::Center; +constexpr std::string_view facebook::react::detail::css::keywords::Clip; +constexpr std::string_view facebook::react::detail::css::keywords::Column; +constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; +constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Content; +constexpr std::string_view facebook::react::detail::css::keywords::Contents; +constexpr std::string_view facebook::react::detail::css::keywords::Contextual; +constexpr std::string_view facebook::react::detail::css::keywords::Dashed; +constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Dotted; +constexpr std::string_view facebook::react::detail::css::keywords::Double; +constexpr std::string_view facebook::react::detail::css::keywords::End; +constexpr std::string_view facebook::react::detail::css::keywords::Fixed; +constexpr std::string_view facebook::react::detail::css::keywords::Flex; +constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; +constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; +constexpr std::string_view facebook::react::detail::css::keywords::Grid; +constexpr std::string_view facebook::react::detail::css::keywords::Groove; +constexpr std::string_view facebook::react::detail::css::keywords::Hidden; +constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Inherit; +constexpr std::string_view facebook::react::detail::css::keywords::Initial; +constexpr std::string_view facebook::react::detail::css::keywords::Inline; +constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; +constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; +constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; +constexpr std::string_view facebook::react::detail::css::keywords::Inset; +constexpr std::string_view facebook::react::detail::css::keywords::Left; +constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; +constexpr std::string_view facebook::react::detail::css::keywords::Ltr; +constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; +constexpr std::string_view facebook::react::detail::css::keywords::Medium; +constexpr std::string_view facebook::react::detail::css::keywords::MinContent; +constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; +constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; +constexpr std::string_view facebook::react::detail::css::keywords::None; +constexpr std::string_view facebook::react::detail::css::keywords::Normal; +constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; +constexpr std::string_view facebook::react::detail::css::keywords::Outset; +constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; +constexpr std::string_view facebook::react::detail::css::keywords::Relative; +constexpr std::string_view facebook::react::detail::css::keywords::Ridge; +constexpr std::string_view facebook::react::detail::css::keywords::Right; +constexpr std::string_view facebook::react::detail::css::keywords::Row; +constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; +constexpr std::string_view facebook::react::detail::css::keywords::Rtl; +constexpr std::string_view facebook::react::detail::css::keywords::Scroll; +constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; +constexpr std::string_view facebook::react::detail::css::keywords::Solid; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; +constexpr std::string_view facebook::react::detail::css::keywords::Start; +constexpr std::string_view facebook::react::detail::css::keywords::Static; +constexpr std::string_view facebook::react::detail::css::keywords::Sticky; +constexpr std::string_view facebook::react::detail::css::keywords::Stretch; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; +constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; +constexpr std::string_view facebook::react::detail::css::keywords::Thick; +constexpr std::string_view facebook::react::detail::css::keywords::Thin; +constexpr std::string_view facebook::react::detail::css::keywords::To; +constexpr std::string_view facebook::react::detail::css::keywords::Top; +constexpr std::string_view facebook::react::detail::css::keywords::Unset; +constexpr std::string_view facebook::react::detail::css::keywords::Visible; +constexpr std::string_view facebook::react::detail::css::keywords::Wrap; +constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; +template +concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); +template +concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); +template +concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); +template +concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); +template +concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); +template +concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); +template +concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); +template +concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); +template +concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); +template +concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); +template +concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); +template +concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); +template +concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); +template +concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); +template +concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); +template +concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); +template +concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); +template +concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); +template +concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); +template +concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); +template +concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); +template +concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); +template +concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); +template +concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); +template +concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); +template +concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); +template +concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); +template +concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); +template +concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); +template +concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); +template +concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); +template +concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); +template +concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); +template +concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); +template +concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); +template +concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); +template +concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); +template +concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); +template +concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); +template +concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); +template +concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); +template +concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); +template +concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); +template +concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); +template +concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); +template +concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); +template +concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); +template +concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); +template +concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); +template +concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); +template +concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); +template +concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); +template +concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); +template +concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); +template +concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); +template +concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); +template +concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); +template +concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); +template +concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); +template +concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); +template +concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); +template +concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); +template +concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); +template +concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); +template +concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); +template +concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); +template +concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); +template +concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); +template +concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); + + +constexpr facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; + + +static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; + + +std::shared_ptr facebook::react::CoreComponentsRegistry::sharedProviderRegistry(); +void facebook::react::CoreComponentsRegistry::addCoreComponents(std::shared_ptr registry); + + +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_jsi_v; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v>>; +template +constexpr bool facebook::react::bridging::is_optional_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsFromJs; +template +constexpr bool facebook::react::bridging::supportsToJs; +template +using facebook::react::bridging::bridging_t = typename facebook::react::bridging::detail::bridging_wrapper::type; +template +using facebook::react::bridging::remove_cvref_t = std::remove_cv_t>; +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(Class::*)(ArgsT...)); +template +JSReturnT facebook::react::bridging::callFromJs(facebook::jsi::Runtime& rt, ReturnT(ClassT::*method)(facebook::jsi::Runtime&, ArgsT...), const std::shared_ptr& jsInvoker, ClassT* instance, JSArgsT &&... args); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)), jsInvoker)) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr& jsInvoker); +template +decltype(static_cast(std::move(facebook::react::bridging::convert(rt, std::forward(value))))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(*)(ArgsT...)); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, T&& value); +template ||std::is_scalar_v, int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, std::optional value); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, T&& value); +template +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, facebook::react::bridging::Converter&& converter); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value))) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value), jsInvoker)) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& jsInvoker); +template +facebook::react::bridging::remove_cvref_t facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); + +template +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { +} + +template +struct facebook::react::bridging::ConverterBase { + protected T value_; + protected facebook::jsi::Runtime& rt_; + public ConverterBase(facebook::jsi::Runtime& rt, T&& value); + public operator facebook::react::bridging::ConverterBase::BaseT(); + public using BaseT = facebook::react::bridging::remove_cvref_t; + template && std::is_same_v, int> = 0> + public operator U() = delete; + template && std::is_convertible_v, U>, int> = 0> + public operator U(); +} + +template +struct facebook::react::bridging::is_optional : public std::false_type { +} + +template +struct facebook::react::bridging::Converter> : public facebook::react::bridging::ConverterBase { + public Converter(facebook::jsi::Runtime& rt, std::optional value); + public operator std::optional(); +} + +template +struct facebook::react::bridging::is_optional> : public std::true_type { +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::ArrayBuffer(); + public operator facebook::jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::ArrayBuffer(); + public operator facebook::jsi::Function(); + public operator facebook::jsi::Object(); + public operator facebook::jsi::String(); +} + + +template +struct facebook::react::bridging::detail::function_wrapper { +} + +template +struct facebook::react::bridging::detail::bridging_wrapper { + public using type = facebook::react::bridging::remove_cvref_t; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::bridging_wrapper::operator())>> : public facebook::react::bridging::detail::function_wrapper::operator())> { + public using type = facebook::react::bridging::remove_cvref_t; +} + + +template +using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; +typedef std::function facebook::react::jsinspector_modern::FrontendChannel; +using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; +using facebook::react::jsinspector_modern::IOReadError = const std::string; +using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; +using facebook::react::jsinspector_modern::StreamID = const std::string; +using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; +bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); +facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); +folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); +folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); +std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); +template +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); +template +facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); +void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); +void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); +void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); +void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); + +class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { + public CallbackLocalConnection(std::function handler); + public virtual void disconnect() override; + public virtual void sendMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public CallbackRemoteConnection(std::function handler); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::ConsoleTask { + public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; + public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; + public ConsoleTask(std::shared_ptr taskContext); + public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; + public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; + public ~ConsoleTask(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { + public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); + public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskId id() const; + public std::optional getSerializedStackTrace() const; + public void schedule(); + public ~ConsoleTaskContext(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskId { + public ConsoleTaskId() = default; + public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public operator bool() const; + public operator void *() const; + public ~ConsoleTaskId() = default; +} + +class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { + public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); + public std::shared_ptr top() const; + public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); + public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public ~ConsoleTaskOrchestrator() = default; +} + +class facebook::react::jsinspector_modern::EmulationAgent { + public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); +} + +class facebook::react::jsinspector_modern::ExecutionContextManager { + public int32_t allocateExecutionContextId(); +} + +class facebook::react::jsinspector_modern::ExecutionContextSelector { + public ExecutionContextSelector() = delete; + public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; + public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); + public ~ExecutionContextSelector() = default; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public FallbackRuntimeTargetDelegate(std::string engineDescription); + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; +} + +class facebook::react::jsinspector_modern::HostAgent { + public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); + public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public bool isEligibleForBackgroundTrace() const; + public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public void emitSystemStateChanged(bool isSingleHost); + public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void setCurrentInstanceAgent(std::shared_ptr agent); + public ~HostAgent(); +} + +class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public bool stopAndMaybeEmitBackgroundTrace(); + public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public std::unique_ptr connect(std::unique_ptr connectionToFrontend); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); + public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); + public ~HostTarget(); +} + +class facebook::react::jsinspector_modern::HostTargetController { + public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); + public bool decrementPauseOverlayCounter(); + public bool hasInstance() const; + public bool maybeEmitStashedBackgroundTrace(); + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public void incrementPauseOverlayCounter(); +} + +class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public HostTargetDelegate() = default; + public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&); + public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; + public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); + public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&); + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; + public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; + public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; + public virtual ~HostTargetDelegate() override; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; + public std::optional message; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest { + public std::optional quality; + public std::optional format; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; + public std::optional ignoreCache; + public std::optional scriptToEvaluateOnLoad; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest& rhs) const; + public std::string colorScheme; +} + +class facebook::react::jsinspector_modern::HostTargetTraceRecording { + public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public bool isBackgroundInitiated() const; + public bool isUserInitiated() const; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); + public void start(); +} + +class facebook::react::jsinspector_modern::HostTargetTracingDelegate { + public HostTargetTracingDelegate() = default; + public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); + public virtual void onTracingStopped(); + public virtual ~HostTargetTracingDelegate() = default; +} + +class facebook::react::jsinspector_modern::HostTracingAgent { + public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); +} + +class facebook::react::jsinspector_modern::IDestructible { + public virtual ~IDestructible() = 0; +} + +class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { + public using ConnectFunc = std::function(std::unique_ptr)>; + public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; + public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; + public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; + public virtual std::vector getPages() const = 0; + public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; + public virtual void removePage(int pageId) = 0; + public virtual ~IInspector() = 0; +} + +class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void disconnect() = 0; + public virtual void sendMessage(std::string message) = 0; + public virtual ~ILocalConnection() = 0; +} + +class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onPageRemoved(int); + public virtual ~IPageStatusListener() = 0; +} + +class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onDisconnect() = 0; + public virtual void onMessage(std::string message) = 0; + public virtual ~IRemoteConnection() = 0; +} + +class facebook::react::jsinspector_modern::IWebSocket { + public virtual void send(std::string_view message) = 0; + public virtual ~IWebSocket() = default; +} + +class facebook::react::jsinspector_modern::IWebSocketDelegate { + public virtual void didClose() = 0; + public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; + public virtual void didOpen() = 0; + public virtual void didReceiveMessage(std::string_view message) = 0; + public virtual ~IWebSocketDelegate() = default; +} + +class facebook::react::jsinspector_modern::InspectorFlags { + public InspectorFlags(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; + public bool getAssertSingleHostState() const; + public bool getFrameRecordingEnabled() const; + public bool getFuseboxEnabled() const; + public bool getIsProfilingBuild() const; + public bool getPerfIssuesEnabled() const; + public bool getScreenshotCaptureEnabled() const; + public facebook::react::jsinspector_modern::InspectorFlags& operator=(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; + public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); + public void dangerouslyDisableFuseboxForTest(); + public void dangerouslyResetFlags(); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection { + public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public bool isConnected() const; + public void closeQuietly(); + public void connect(); + public void sendEventToAllConnections(std::string event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { + public bool isConnected() const; + public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public using SessionId = uint32_t; + public void closeQuietly(); + public void connect(); + public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); + public void sendEventToAllConnections(const std::string& event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { + public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; + public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; + public virtual ~InspectorPackagerConnectionDelegate() = default; +} + +class facebook::react::jsinspector_modern::InstanceAgent { + public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); +} + +class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); + public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); + public ~InstanceTarget(); +} + +class facebook::react::jsinspector_modern::InstanceTargetDelegate { + public InstanceTargetDelegate() = default; + public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public virtual ~InstanceTargetDelegate(); +} + +class facebook::react::jsinspector_modern::InstanceTracingAgent { + public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); + public ~InstanceTracingAgent(); +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnection : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + public void closeQuietly(); + public void connect(); + public void sendEventToAllConnections(const std::string& event); +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionWebSocket : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public std::unique_ptr wrapInUniquePtr(); + public void send(std::string_view message); + public ~JCxxInspectorPackagerConnectionWebSocket(); +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionWebSocket::RefWrapper : public facebook::react::jsinspector_modern::IWebSocket { + public RefWrapper(jni::alias_ref jWebSocket_); + public virtual void send(std::string_view message) override; +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionWebSocketDelegate : public jni::HybridClass { + public JCxxInspectorPackagerConnectionWebSocketDelegate(std::weak_ptr cxxDelegate); + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); + public void didClose(); + public void didFailWithError(jni::alias_ref posixCode, const std::string& error); + public void didOpen(); + public void didReceiveMessage(const std::string& message); +} + +class facebook::react::jsinspector_modern::JInspectorFlags : public facebook::jni::JavaClass { + public static bool getFrameRecordingEnabled(jni::alias_ref); + public static bool getFuseboxEnabled(jni::alias_ref); + public static bool getIsProfilingBuild(jni::alias_ref); + public static bool getScreenshotCaptureEnabled(jni::alias_ref); + public static constexpr auto kJavaDescriptor; + public static void registerNatives(); +} + +class facebook::react::jsinspector_modern::JInspectorNetworkReporter : public jni::HybridClass { + public static constexpr auto kJavaDescriptor; + public static jboolean isDebuggingEnabled(jni::alias_ref); + public static void maybeStoreResponseBodyImpl(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref body, jboolean base64Encoded); + public static void maybeStoreResponseBodyIncrementalImpl(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref data); + public static void registerNatives(); + public static void reportConnectionTiming(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref> headers); + public static void reportDataReceivedImpl(jni::alias_ref, jni::alias_ref requestId, jint dataLength); + public static void reportRequestFailed(jni::alias_ref, jni::alias_ref requestId, jboolean cancelled); + public static void reportRequestStart(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref requestUrl, jni::alias_ref requestMethod, jni::alias_ref> requestHeaders, jni::alias_ref requestBody, jlong encodedDataLength); + public static void reportResponseEnd(jni::alias_ref, jni::alias_ref requestId, jlong encodedDataLength); + public static void reportResponseStart(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref requestUrl, jint responseStatus, jni::alias_ref> responseHeaders, jlong encodedDataLength); + public static void reportWebSocketClosed(jni::alias_ref, jni::alias_ref requestId); + public static void reportWebSocketCreated(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref url); + public static void reportWebSocketHandshakeResponseReceived(jni::alias_ref, jni::alias_ref requestId, jint statusCode, jni::alias_ref> headers); + public static void reportWebSocketMessageReceivedImpl(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref payloadData, jboolean isBinary); + public static void reportWebSocketMessageSentImpl(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref payloadData, jboolean isBinary); + public static void reportWebSocketWillSendHandshakeRequest(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref> headers); +} + +class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public LoadNetworkResourceDelegate() = default; + public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; + public virtual ~LoadNetworkResourceDelegate() = default; +} + +class facebook::react::jsinspector_modern::NetworkIOAgent { + public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); + public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public ~NetworkIOAgent(); +} + +class facebook::react::jsinspector_modern::NetworkRequestListener { + public NetworkRequestListener() = default; + public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public virtual void onCompletion() = 0; + public virtual void onData(std::string_view data) = 0; + public virtual void onError(const std::string& message) = 0; + public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; + public virtual void setCancelFunction(std::function cancelFunction) = 0; + public virtual ~NetworkRequestListener() = default; +} + +class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { + public NotImplementedException(std::string message); + public const char* what() const noexcept override; +} + +class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { +} + +class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { + public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); + public void handlePerfIssueAdded(const std::string& message); +} + +class facebook::react::jsinspector_modern::RAIIRemoteConnection { + public RAIIRemoteConnection(std::unique_ptr remote); + public void onMessage(std::string message); + public ~RAIIRemoteConnection(); +} + +class facebook::react::jsinspector_modern::RuntimeAgent { + public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); + public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); + public void notifyFastRefreshComplete(); + public ~RuntimeAgent(); +} + +struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { + public std::unique_ptr delegateState; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; + public virtual std::unique_ptr getExportedState(); + public virtual ~RuntimeAgentDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { + public virtual ~ExportedState() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public ~RuntimeTarget(); +} + +class facebook::react::jsinspector_modern::RuntimeTargetController { + public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); + public void disableSamplingProfiler(); + public void emitTracingStateChange(bool isTracing); + public void enableSamplingProfiler(); + public void installBindingHandler(const std::string& bindingName); + public void installScriptToEvaluateOnNewDocument(const std::string& source); + public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); +} + +enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { + Log, + Network, + Runtime, + kMaxValue, +} + +class facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public virtual bool supportsConsole() const = 0; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; + public virtual void disableSamplingProfiler() = 0; + public virtual void enableSamplingProfiler() = 0; + public virtual ~RuntimeTargetDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); + public ~RuntimeTracingAgent(); +} + +class facebook::react::jsinspector_modern::StackTrace { + public StackTrace() = default; + public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public static std::unique_ptr empty(); + public virtual ~StackTrace() = default; +} + +class facebook::react::jsinspector_modern::TracingAgent { + public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public ~TracingAgent(); +} + +enum facebook::react::jsinspector_modern::ConsoleAPIType { + kAssert, + kClear, + kCount, + kDebug, + kDir, + kDirXML, + kEndGroup, + kError, + kInfo, + kLog, + kStartGroup, + kStartGroupCollapsed, + kTable, + kTimeEnd, + kTrace, + kWarning, +} + +enum facebook::react::jsinspector_modern::HostCommand { + DebuggerResume, + DebuggerStepOver, +} + +struct facebook::react::jsinspector_modern::ConsoleMessage { + public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); + public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public std::unique_ptr stackTrace; + public std::vector args; + public ~ConsoleMessage() = default; +} + +struct facebook::react::jsinspector_modern::ExecutionContextDescription { + public int32_t id; + public std::optional uniqueId; + public std::string name; + public std::string origin; +} + +struct facebook::react::jsinspector_modern::GetResponseBodyResult { + public bool base64Encoded; + public folly::dynamic toDynamic() const; + public std::string body; +} + +struct facebook::react::jsinspector_modern::HostTargetMetadata { + public std::optional appDisplayName; + public std::optional appIdentifier; + public std::optional deviceName; + public std::optional integrationName; + public std::optional platform; + public std::optional reactNativeVersion; +} + +struct facebook::react::jsinspector_modern::IOReadResult { + public bool base64Encoded; + public bool eof; + public folly::dynamic toDynamic() const; + public std::string data; +} + +struct facebook::react::jsinspector_modern::InspectorPageDescription { + public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; + public const int id; + public const std::string description; + public const std::string vm; +} + +struct facebook::react::jsinspector_modern::InspectorSystemState { + public int registeredHostsCount; +} + +struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { + public bool nativePageReloads; + public bool nativeSourceCodeFetching; +} + +struct facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionDelegateImpl : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate); + public std::unique_ptr wrapInUniquePtr(); + public void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs); +} + +class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionDelegateImpl::RefWrapper : public facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { + public RefWrapper(jni::alias_ref jDelegate); + public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) override; + public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) override; +} + +struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { + public std::string url; +} + +struct facebook::react::jsinspector_modern::NetworkResource { + public bool success; + public folly::dynamic toDynamic() const; + public std::optional headers; + public std::optional netErrorName; + public std::optional stream; + public std::optional httpStatusCode; +} + +struct facebook::react::jsinspector_modern::PerfIssuePayload { + public std::optional description; + public std::optional learnMoreUrl; + public std::optional severity; + public std::string name; +} + +struct facebook::react::jsinspector_modern::ReadStreamParams { + public facebook::react::jsinspector_modern::StreamID handle; + public std::optional offset; + public std::optional size; +} + +struct facebook::react::jsinspector_modern::SessionState { + public bool hasPendingTraceRecording; + public bool isDebuggerDomainEnabled; + public bool isLogDomainEnabled; + public bool isNetworkDomainEnabled; + public bool isReactNativeApplicationDomainEnabled; + public bool isRuntimeDomainEnabled; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; + public std::unordered_map subscribedBindings; + public std::vector scriptsToEvaluateOnNewDocument; + public std::vector pendingSimpleConsoleMessages; + public unsigned int nextScriptToEvaluateOnNewDocumentId; +} + +struct facebook::react::jsinspector_modern::SessionState::ScriptToEvaluateOnNewDocument { + public std::string identifier; + public std::string source; +} + +struct facebook::react::jsinspector_modern::SimpleConsoleMessage { + public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public std::vector args; + public ~SimpleConsoleMessage() = default; +} + +template +class facebook::react::jsinspector_modern::EnumArray { + public constexpr ValueType& operator[](IndexType i); + public constexpr const ValueType& operator[](IndexType i) const; + public constexpr int size() const; +} + +template +struct facebook::react::jsinspector_modern::UniqueMonostate { + public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + +template +class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { + public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); + public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); + template + public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +} + +template +class facebook::react::jsinspector_modern::WeakList { + public bool empty() const; + public size_t size() const; + public void insert(std::weak_ptr ptr); + template + public bool anyOf(Fn&& fn) const; + template + public bool anyOf(Fn&& fn); + template + public void forEach(Fn&& fn) const; + template + public void forEach(Fn&& fn); +} + + +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; +using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; +using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; +using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; +using facebook::react::jsinspector_modern::tracing::Headers = std::map; +using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; +using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; +using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; +int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); +std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); +std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); +std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); +std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); +uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); + +class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { + public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); + public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); + public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); +} + +class facebook::react::jsinspector_modern::tracing::PerformanceTracer { + public bool isTracing() const; + public bool startTracing(); + public bool startTracing(facebook::react::HighResDuration maxDuration); + public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); + public std::optional> stopTracing(); + public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); + public using TracingStateCallback = std::function; + public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); + public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); + public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); + public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); + public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); + public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); + public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); + public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); +} + +class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { + public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); + public bool hasParent() const; + public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; + public static constexpr uint32_t NO_PARENT; + public uint32_t getId() const; + public uint32_t getParentId() const; +} + +enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { + JavaScript, + Other, +} + +class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public virtual ~RawRuntimeProfile() = default; +} + +class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { + public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); + public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); +} + +class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; + public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public bool isRunningInBackgroundMode(); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { + public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); + public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { + public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); + public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); + public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); + public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); + public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); + public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); + public static size_t estimateJsonSize(const folly::dynamic& value); +} + +enum facebook::react::jsinspector_modern::tracing::Category { + Frame, + HiddenTimeline, + JavaScriptSampling, + RuntimeExecution, + Screenshot, + Timeline, + UserTiming, +} + +enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { + Error, + Primary, + PrimaryDark, + PrimaryLight, + Secondary, + SecondaryDark, + SecondaryLight, + Tertiary, + TertiaryDark, + TertiaryLight, + Warning, +} + +enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { + Microtasks, + Task, +} + +enum facebook::react::jsinspector_modern::tracing::Mode { + Background, + CDP, +} + +struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { + public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public ~EventLoopReporter(); +} + +struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { + public FrameTimingSequence() = delete; + public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); + public facebook::react::HighResDuration vsyncInterval; + public facebook::react::HighResTimeStamp beginTimestamp; + public facebook::react::HighResTimeStamp endTimestamp; + public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::optional> screenshot; +} + +struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { + public HostTracingProfile() = default; + public HostTracingProfile(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; + public HostTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; + public facebook::react::HighResTimeStamp startTime; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public std::vector frameTimings; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; + public ~HostTracingProfile() = default; +} + +struct facebook::react::jsinspector_modern::tracing::IdGenerator { + public uint32_t getNext(); +} + +struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { + public std::vector performanceTraceEvents; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { + public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public std::string runtimeName; + public std::unique_ptr rawRuntimeProfile; + public std::vector samples; + public ~RuntimeSamplingProfile() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { + public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::vector callStack; + public uint64_t timestamp; + public ~Sample() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { + public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; + public std::optional scriptURL; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string_view functionName; + public uint32_t scriptId; +} + +enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { + GarbageCollector, + HostFunction, + JSFunction, + NativeFunction, +} + +struct facebook::react::jsinspector_modern::tracing::TraceEvent { + public char ph; + public facebook::react::HighResTimeStamp ts; + public facebook::react::jsinspector_modern::tracing::Categories cat; + public facebook::react::jsinspector_modern::tracing::ProcessId pid; + public facebook::react::jsinspector_modern::tracing::ThreadId tid; + public folly::dynamic args; + public std::optional s; + public std::optional dur; + public std::optional id; + public std::string name; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; + public using TimeDeltas = std::vector; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { + public std::vector nodes; + public std::vector samples; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; + public std::optional parentId; + public uint32_t id; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { + public std::optional url; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string codeType; + public std::string functionName; + public uint32_t scriptId; +} + +struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { + public TraceRecordingState(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; + public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public TraceRecordingState(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; + public facebook::react::jsinspector_modern::tracing::Mode mode; + public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; + public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; + public std::optional windowSize; + public std::set enabledCategories; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; + public ~TraceRecordingState() = default; +} + +template +class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { + public TimeWindowedBuffer(); + public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); + public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); + public using TimestampAccessor = std::function; + public void clear(); + public void push(T&& element); + public void push(const T& element); +} + +template +class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { + public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; + public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public ~PerformanceTracerSection() noexcept; +} + + +using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; +using facebook::react::jsinspector_modern::cdp::RequestId = long long; +using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; +facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); +std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); + +enum facebook::react::jsinspector_modern::cdp::ErrorCode { + InternalError, + InvalidParams, + InvalidRequest, + MethodNotFound, + ParseError, +} + +struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { + public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; + public facebook::react::jsinspector_modern::cdp::RequestId id; + public folly::dynamic params; + public std::string method; + public std::string toJson() const; +} + + +template +struct facebook::react::array_detail::BridgingStatic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::array_detail::BridgingDynamic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& list, const std::shared_ptr& jsInvoker); +} + + +template +struct facebook::react::map_detail::Bridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& map, const std::shared_ptr& jsInvoker); +} + + +using facebook::react::ReactMarker::LogTaggedMarker = std::function; +using facebook::react::ReactMarker::LogTaggedMarkerBridgeless = facebook::react::ReactMarker::LogTaggedMarker; +void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); +void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +facebook::react::ReactMarker::AtomicLogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; + +class facebook::react::ReactMarker::StartupLogger { + public double getAppStartupEndTime(); + public double getAppStartupStartTime(); + public double getInitReactRuntimeStartTime(); + public double getRunJSBundleStartTime(); + public static facebook::react::ReactMarker::StartupLogger& getInstance(); + public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); + public void reset(); +} + +enum facebook::react::ReactMarker::ReactMarkerId { + APP_STARTUP_START, + APP_STARTUP_STOP, + CREATE_REACT_CONTEXT_STOP, + INIT_REACT_RUNTIME_START, + INIT_REACT_RUNTIME_STOP, + JS_BUNDLE_STRING_CONVERT_START, + JS_BUNDLE_STRING_CONVERT_STOP, + NATIVE_MODULE_SETUP_START, + NATIVE_MODULE_SETUP_STOP, + NATIVE_REQUIRE_START, + NATIVE_REQUIRE_STOP, + REACT_INSTANCE_INIT_START, + REACT_INSTANCE_INIT_STOP, + REGISTER_JS_SEGMENT_START, + REGISTER_JS_SEGMENT_STOP, + RUN_JS_BUNDLE_START, + RUN_JS_BUNDLE_STOP, +} + +struct facebook::react::ReactMarker::AtomicLogTaggedMarker { + public facebook::react::ReactMarker::AtomicLogTaggedMarker& operator=(facebook::react::ReactMarker::LogTaggedMarker marker); + public operator bool() const noexcept; + public void operator()(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag) const; +} + +struct facebook::react::ReactMarker::ReactMarkerEvent { + public const char* tag; + public const facebook::react::ReactMarker::ReactMarkerId markerId; + public double time; +} + + +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); +void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +void facebook::react::LowPriorityExecutor::execute(std::function&& workItem); + + +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::TurboModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::disableLogging(); +void facebook::react::TurboModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::TurboModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +std::unique_ptr facebook::jsc::makeJSCRuntime(); + + +using facebook::jsi::HostFunctionType = std::function; +facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); +folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); +template +U* facebook::jsi::castInterface(T* ptr); +template +std::shared_ptr facebook::jsi::dynamicInterfaceCast(T&& ptr); + +class facebook::jsi::Array : public facebook::jsi::Object { + public Array(facebook::jsi::Array&&) = default; + public Array(facebook::jsi::IRuntime& runtime, size_t length); + public facebook::jsi::Array& operator=(facebook::jsi::Array&&) = default; + public facebook::jsi::Value getValueAtIndex(facebook::jsi::IRuntime& runtime, size_t i) const; + public size_t length(facebook::jsi::IRuntime& runtime) const; + public size_t push(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value* elements, size_t count); + public size_t push(facebook::jsi::IRuntime& runtime, std::initializer_list elements); + public size_t size(facebook::jsi::IRuntime& runtime) const; + public static facebook::jsi::Array createWithElements(facebook::jsi::IRuntime& runtime, std::initializer_list elements); + template + public void setValueAtIndex(facebook::jsi::IRuntime& runtime, size_t i, T&& value) const; + template + public size_t push(facebook::jsi::IRuntime& runtime, Args &&... args); + template + public static facebook::jsi::Array createWithElements(facebook::jsi::IRuntime& runtime, Args &&... args); +} + +class facebook::jsi::ArrayBuffer : public facebook::jsi::Object { + public ArrayBuffer(facebook::jsi::ArrayBuffer&&) = default; + public ArrayBuffer(facebook::jsi::IRuntime& runtime, std::shared_ptr buffer); + public bool detached(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::ArrayBuffer& operator=(facebook::jsi::ArrayBuffer&&) = default; + public size_t length(facebook::jsi::IRuntime& runtime) const; + public size_t size(facebook::jsi::IRuntime& runtime) const; + public std::shared_ptr tryGetMutableBuffer(facebook::jsi::IRuntime& runtime) const; + public uint8_t* data(facebook::jsi::IRuntime& runtime) const; +} + +class facebook::jsi::BigInt : public facebook::jsi::Pointer { + public BigInt(facebook::jsi::BigInt&& other) = default; + public BigInt(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public BigInt(facebook::jsi::Pointer&& other) noexcept; + public bool isInt64(facebook::jsi::IRuntime& runtime) const; + public bool isUint64(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::BigInt& operator=(facebook::jsi::BigInt&& other) = default; + public facebook::jsi::String toString(facebook::jsi::IRuntime& runtime, int radix = 10) const; + public int64_t asInt64(facebook::jsi::IRuntime& runtime) const; + public int64_t getInt64(facebook::jsi::IRuntime& runtime) const; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b); + public static facebook::jsi::BigInt fromInt64(facebook::jsi::IRuntime& runtime, int64_t value); + public static facebook::jsi::BigInt fromUint64(facebook::jsi::IRuntime& runtime, uint64_t value); + public uint64_t asUint64(facebook::jsi::IRuntime& runtime) const; + public uint64_t getUint64(facebook::jsi::IRuntime& runtime) const; +} + +class facebook::jsi::Buffer { + public virtual const uint8_t* data() const = 0; + public virtual size_t size() const = 0; + public virtual ~Buffer(); +} + +class facebook::jsi::DecoratedHostFunction { + public DecoratedHostFunction(facebook::jsi::Runtime& drt, facebook::jsi::HostFunctionType plainHF); + public facebook::jsi::Runtime& decoratedRuntime(); + public facebook::jsi::Value operator()(facebook::jsi::Runtime&, const facebook::jsi::Value& thisVal, const facebook::jsi::Value* args, size_t count); +} + +class facebook::jsi::DecoratedHostObject : public facebook::jsi::HostObject { + public DecoratedHostObject(facebook::jsi::Runtime& drt, std::shared_ptr plainHO); + public facebook::jsi::Runtime& decoratedRuntime(); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime&) override; + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; +} + +class facebook::jsi::FileBuffer : public facebook::jsi::Buffer { + public FileBuffer(const std::string& path); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; + public ~FileBuffer() override; +} + +class facebook::jsi::Function : public facebook::jsi::Object { + public Function(facebook::jsi::Function&&) = default; + public bool isHostFunction(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Function& operator=(facebook::jsi::Function&&) = default; + public facebook::jsi::HostFunctionType& getHostFunction(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Value call(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value call(facebook::jsi::IRuntime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::IRuntime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callWithThis(facebook::jsi::IRuntime& Runtime, const facebook::jsi::Object& jsThis, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callWithThis(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& jsThis, std::initializer_list args) const; + public static facebook::jsi::Function createFromHostFunction(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func); + template + public facebook::jsi::Value call(facebook::jsi::IRuntime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callAsConstructor(facebook::jsi::IRuntime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callWithThis(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& jsThis, Args &&... args) const; +} + +class facebook::jsi::HostObject { + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& rt); + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value); + public virtual ~HostObject(); +} + +class facebook::jsi::IRuntime : public facebook::jsi::ICast { + protected virtual ~IRuntime() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual ScopeState* pushScope() = 0; + public virtual bool bigintIsInt64(const facebook::jsi::BigInt&) = 0; + public virtual bool bigintIsUint64(const facebook::jsi::BigInt&) = 0; + public virtual bool compare(const facebook::jsi::PropNameID&, const facebook::jsi::PropNameID&) = 0; + public virtual bool detached(const facebook::jsi::ArrayBuffer&) = 0; + public virtual bool drainMicrotasks(int maxMicrotasksHint = -1) = 0; + public virtual bool hasNativeState(const facebook::jsi::Object&) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) = 0; + public virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) = 0; + public virtual bool isArray(const facebook::jsi::Object&) const = 0; + public virtual bool isArrayBuffer(const facebook::jsi::Object&) const = 0; + public virtual bool isFunction(const facebook::jsi::Object&) const = 0; + public virtual bool isHostFunction(const facebook::jsi::Function&) const = 0; + public virtual bool isHostObject(const facebook::jsi::Object&) const = 0; + public virtual bool isInspectable() = 0; + public virtual bool isTypedArray(const facebook::jsi::Object&) const = 0; + public virtual bool isUint8Array(const facebook::jsi::Object&) const = 0; + public virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const = 0; + public virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const = 0; + public virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const = 0; + public virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const = 0; + public virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& dataUUID) = 0; + public virtual facebook::jsi::Array createArray(size_t length) = 0; + public virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object&) = 0; + public virtual facebook::jsi::ArrayBuffer buffer(const facebook::jsi::TypedArray& typedArray) = 0; + public virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) = 0; + public virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t) = 0; + public virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t) = 0; + public virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) = 0; + public virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function&) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* cloneBigInt(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* cloneObject(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* clonePropNameID(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* cloneString(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* cloneSymbol(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::Instrumentation& instrumentation() = 0; + public virtual facebook::jsi::Object createObject() = 0; + public virtual facebook::jsi::Object createObject(std::shared_ptr ho) = 0; + public virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) = 0; + public virtual facebook::jsi::Object global() = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) = 0; + public virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt&, int) = 0; + public virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) = 0; + public virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) = 0; + public virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) = 0; + public virtual facebook::jsi::Uint8Array createUint8Array(const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length) = 0; + public virtual facebook::jsi::Uint8Array createUint8Array(size_t length) = 0; + public virtual facebook::jsi::Value call(const facebook::jsi::Function&, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) = 0; + public virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function&, const facebook::jsi::Value* args, size_t count) = 0; + public virtual facebook::jsi::Value createError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createEvalError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createRangeError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createReferenceError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createSyntaxError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createTypeError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createURIError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) = 0; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) = 0; + public virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) = 0; + public virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array&, size_t i) = 0; + public virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject&) = 0; + public virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object&) = 0; + public virtual size_t byteLength(const facebook::jsi::TypedArray& typedArray) = 0; + public virtual size_t byteOffset(const facebook::jsi::TypedArray& typedArray) = 0; + public virtual size_t length(const facebook::jsi::String& str) = 0; + public virtual size_t length(const facebook::jsi::TypedArray& typedArray) = 0; + public virtual size_t push(const facebook::jsi::Array&, const facebook::jsi::Value*, size_t) = 0; + public virtual size_t size(const facebook::jsi::Array&) = 0; + public virtual size_t size(const facebook::jsi::ArrayBuffer&) = 0; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) = 0; + public virtual std::shared_ptr getHostObject(const facebook::jsi::Object&) = 0; + public virtual std::shared_ptr tryGetMutableBuffer(const facebook::jsi::ArrayBuffer& arrayBuffer) = 0; + public virtual std::shared_ptr getNativeState(const facebook::jsi::Object&) = 0; + public virtual std::shared_ptr getRuntimeData(const facebook::jsi::UUID& dataUUID) = 0; + public virtual std::string description() = 0; + public virtual std::string symbolToString(const facebook::jsi::Symbol&) = 0; + public virtual std::string utf8(const facebook::jsi::PropNameID&) = 0; + public virtual std::string utf8(const facebook::jsi::String&) = 0; + public virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) = 0; + public virtual std::u16string utf16(const facebook::jsi::String& str) = 0; + public virtual uint8_t* data(const facebook::jsi::ArrayBuffer&) = 0; + public virtual uint64_t truncate(const facebook::jsi::BigInt&) = 0; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) = 0; + public virtual void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) = 0; + public virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) = 0; + public virtual void popScope(ScopeState*) = 0; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) = 0; + public virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) = 0; + public virtual void setNativeState(const facebook::jsi::Object&, std::shared_ptr state) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::String& name, const facebook::jsi::Value& value) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::Value& name, const facebook::jsi::Value& value) = 0; + public virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) = 0; + public virtual void setRuntimeData(const facebook::jsi::UUID& dataUUID, const std::shared_ptr& data) = 0; + public virtual void setRuntimeDataImpl(const facebook::jsi::UUID& dataUUID, const void* data, void(*)(const void* data) deleter) = 0; + public virtual void setValueAtIndexImpl(const facebook::jsi::Array&, size_t i, const facebook::jsi::Value& value) = 0; +} + +struct facebook::jsi::IRuntime::PointerValue { + protected virtual ~PointerValue() = default; + public virtual void invalidate() noexcept = 0; +} + +class facebook::jsi::Instrumentation { + public using HeapStatsUpdate = std::tuple; + public virtual std::string flushAndDisableBridgeTrafficTrace() = 0; + public virtual std::string getRecordedGCStats() = 0; + public virtual std::unordered_map getHeapInfo(bool includeExpensive) = 0; + public virtual void collectGarbage(std::string cause) = 0; + public virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void dumpOpcodeStats(std::ostream& os) const = 0; + public virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const = 0; + public virtual void startHeapSampling(size_t samplingInterval) = 0; + public virtual void startTrackingHeapObjectStackTraces(std::function stats)> fragmentCallback) = 0; + public virtual void stopHeapSampling(std::ostream& os) = 0; + public virtual void stopTrackingHeapObjectStackTraces() = 0; + public virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const = 0; + public virtual ~Instrumentation() = default; +} + +struct facebook::jsi::Instrumentation::HeapSnapshotOptions { + public bool captureNumericValue; +} + +class facebook::jsi::JSError : public facebook::jsi::JSIException { + public JSError(const facebook::jsi::JSError&) = default; + public JSError(facebook::jsi::IRuntime& r, facebook::jsi::Value&& value); + public JSError(facebook::jsi::IRuntime& rt, const char* message); + public JSError(facebook::jsi::IRuntime& rt, std::string message); + public JSError(facebook::jsi::IRuntime& rt, std::string message, std::string stack); + public JSError(facebook::jsi::Value&& value, std::string message, std::string stack); + public JSError(std::string what, facebook::jsi::IRuntime& rt, facebook::jsi::Value&& value); + public const facebook::jsi::Value& value() const; + public const std::string& getMessage() const; + public const std::string& getStack() const; + public static facebook::jsi::JSError createEvalError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createRangeError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createReferenceError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createSyntaxError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createTypeError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createURIError(facebook::jsi::IRuntime& rt, const std::string& message); + public virtual ~JSError(); +} + +class facebook::jsi::JSIException : public std::exception { + protected JSIException(); + protected JSIException(std::string what); + protected std::string what_; + public JSIException(const facebook::jsi::JSIException&) = default; + public virtual const char* what() const noexcept override; + public virtual ~JSIException() override; +} + +class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { + public JSINativeException(const facebook::jsi::JSINativeException&) = default; + public JSINativeException(std::string what); + public virtual ~JSINativeException(); +} + +class facebook::jsi::MutableBuffer { + public virtual size_t size() const = 0; + public virtual uint8_t* data() = 0; + public virtual ~MutableBuffer(); +} + +class facebook::jsi::NativeState { + public virtual ~NativeState(); +} + +class facebook::jsi::Object : public facebook::jsi::Pointer { + protected void setPropertyValue(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name, const facebook::jsi::Value& value) const; + public Object(facebook::jsi::IRuntime& runtime); + public Object(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public Object(facebook::jsi::Object&& other) = default; + public Object(facebook::jsi::Pointer&& other) noexcept; + public bool hasNativeState(facebook::jsi::IRuntime& runtime) const; + public bool hasProperty(facebook::jsi::IRuntime& runtime, const char* name) const; + public bool hasProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name) const; + public bool hasProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name) const; + public bool hasProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name) const; + public bool instanceOf(facebook::jsi::IRuntime& rt, const facebook::jsi::Function& ctor) const; + public bool isArray(facebook::jsi::IRuntime& runtime) const; + public bool isArrayBuffer(facebook::jsi::IRuntime& runtime) const; + public bool isFunction(facebook::jsi::IRuntime& runtime) const; + public bool isHostObject(facebook::jsi::IRuntime& runtime) const; + public bool isTypedArray(facebook::jsi::IRuntime& runtime) const; + public bool isUint8Array(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Array getArray(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Array getArray(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Array getPropertyNames(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Function asFunction(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Function asFunction(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Function getFunction(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Function getFunction(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Function getPropertyAsFunction(facebook::jsi::IRuntime& runtime, const char* name) const; + public facebook::jsi::Object getPropertyAsObject(facebook::jsi::IRuntime& runtime, const char* name) const; + public facebook::jsi::Object& operator=(facebook::jsi::Object&& other) = default; + public facebook::jsi::TypedArray asTypedArray(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::TypedArray getTypedArray(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Uint8Array asUint8Array(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Uint8Array getUint8Array(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Value getProperty(facebook::jsi::IRuntime& runtime, const char* name) const; + public facebook::jsi::Value getProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name) const; + public facebook::jsi::Value getPrototype(facebook::jsi::IRuntime& runtime) const; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& a, const facebook::jsi::Object& b); + public static facebook::jsi::Object create(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& prototype); + public static facebook::jsi::Object createFromHostObject(facebook::jsi::IRuntime& runtime, std::shared_ptr ho); + public std::shared_ptr getHostObject(facebook::jsi::IRuntime& runtime) const; + public void deleteProperty(facebook::jsi::IRuntime& runtime, const char* name) const; + public void deleteProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name) const; + public void deleteProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name) const; + public void deleteProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name) const; + public void setExternalMemoryPressure(facebook::jsi::IRuntime& runtime, size_t amt) const; + public void setNativeState(facebook::jsi::IRuntime& runtime, std::shared_ptr state) const; + public void setPrototype(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& prototype) const; + template + public bool isHostObject(facebook::jsi::IRuntime& runtime) const; + template + public std::shared_ptr asHostObject(facebook::jsi::IRuntime& runtime) const; + template + public std::shared_ptr getHostObject(facebook::jsi::IRuntime& runtime) const; + template + public bool hasNativeState(facebook::jsi::IRuntime& runtime) const; + template + public std::shared_ptr getNativeState(facebook::jsi::IRuntime& runtime) const; + template + public void setProperty(facebook::jsi::IRuntime& runtime, const char* name, T&& value) const; + template + public void setProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name, T&& value) const; + template + public void setProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name, T&& value) const; + template + public void setProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name, T&& value) const; +} + +class facebook::jsi::Pointer { + protected Pointer(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + protected Pointer(facebook::jsi::Pointer&& other) noexcept; + protected facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr_; + protected facebook::jsi::Pointer& operator=(facebook::jsi::Pointer&& other) noexcept; + protected ~Pointer(); +} + +class facebook::jsi::PreparedJavaScript { + protected PreparedJavaScript() = default; + public virtual ~PreparedJavaScript() = 0; +} + +class facebook::jsi::PropNameID : public facebook::jsi::Pointer { + public PropNameID(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& other); + public PropNameID(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public PropNameID(facebook::jsi::Pointer&& other) noexcept; + public PropNameID(facebook::jsi::PropNameID&& other) = default; + public facebook::jsi::PropNameID& operator=(facebook::jsi::PropNameID&& other) = default; + public static bool compare(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::IRuntime& runtime, const char* str); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::IRuntime& runtime, const char* str, size_t length); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::IRuntime& runtime, const std::string& str); + public static facebook::jsi::PropNameID forString(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& str); + public static facebook::jsi::PropNameID forSymbol(facebook::jsi::IRuntime& runtime, const facebook::jsi::Symbol& sym); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::IRuntime& runtime, const std::string& utf8); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::IRuntime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::IRuntime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::IRuntime& runtime, const std::u16string& str); + public std::string utf8(facebook::jsi::IRuntime& runtime) const; + public std::u16string utf16(facebook::jsi::IRuntime& runtime) const; + template + public static std::vector names(facebook::jsi::PropNameID(&&propertyNames)[N]); + template + public void getPropNameIdData(facebook::jsi::IRuntime& runtime, CB& cb) const; + template + public static std::vector names(facebook::jsi::IRuntime& runtime, Args &&... args); +} + +class facebook::jsi::Runtime : public facebook::jsi::IRuntime { + protected static const facebook::jsi::IRuntime::PointerValue* getPointerValue(const facebook::jsi::Pointer& pointer); + protected static const facebook::jsi::IRuntime::PointerValue* getPointerValue(const facebook::jsi::Value& value); + protected static facebook::jsi::IRuntime::PointerValue* getPointerValue(facebook::jsi::Pointer& pointer); + public virtual ScopeState* pushScope() override; + public virtual bool detached(const facebook::jsi::ArrayBuffer&) override; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) override; + public virtual bool isTypedArray(const facebook::jsi::Object&) const override; + public virtual bool isUint8Array(const facebook::jsi::Object&) const override; + public virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& dataUUID) override; + public virtual facebook::jsi::ArrayBuffer buffer(const facebook::jsi::TypedArray& typedArray) override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + public virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + public virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + public virtual facebook::jsi::Uint8Array createUint8Array(const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length) override; + public virtual facebook::jsi::Uint8Array createUint8Array(size_t length) override; + public virtual facebook::jsi::Value createError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createEvalError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createRangeError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createReferenceError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createSyntaxError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createTypeError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createURIError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) override; + public virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + public virtual size_t byteLength(const facebook::jsi::TypedArray& typedArray) override; + public virtual size_t byteOffset(const facebook::jsi::TypedArray& typedArray) override; + public virtual size_t length(const facebook::jsi::String& str) override; + public virtual size_t length(const facebook::jsi::TypedArray& typedArray) override; + public virtual size_t push(const facebook::jsi::Array&, const facebook::jsi::Value*, size_t) override; + public virtual std::shared_ptr tryGetMutableBuffer(const facebook::jsi::ArrayBuffer& arrayBuffer) override; + public virtual std::shared_ptr getRuntimeData(const facebook::jsi::UUID& uuid) override; + public virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + public virtual std::u16string utf16(const facebook::jsi::String& str) override; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) override; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) override; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) override; + public virtual void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + public virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + public virtual void popScope(ScopeState*) override; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::String& name, const facebook::jsi::Value& value) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + public virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + public virtual void setRuntimeData(const facebook::jsi::UUID& uuid, const std::shared_ptr& data) override; + public virtual void setRuntimeDataImpl(const facebook::jsi::UUID& dataUUID, const void* data, void(*)(const void* data) deleter) override; + public virtual ~Runtime() override; + template + protected static T make(facebook::jsi::IRuntime::PointerValue* pv); +} + +class facebook::jsi::Scope { + public Scope(const facebook::jsi::Scope&) = delete; + public Scope(facebook::jsi::IRuntime& rt); + public Scope(facebook::jsi::Scope&&) = delete; + public facebook::jsi::Scope& operator=(const facebook::jsi::Scope&) = delete; + public facebook::jsi::Scope& operator=(facebook::jsi::Scope&&) = delete; + public ~Scope(); + template + public static decltype(f()) callInNewScope(facebook::jsi::IRuntime& rt, F f); +} + +class facebook::jsi::SourceJavaScriptPreparation : public facebook::jsi::PreparedJavaScript, public facebook::jsi::Buffer { + public SourceJavaScriptPreparation(std::shared_ptr buf, std::string sourceURL); + public const std::string& sourceURL() const; + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::String : public facebook::jsi::Pointer { + public String(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public String(facebook::jsi::Pointer&& other) noexcept; + public String(facebook::jsi::String&& other) = default; + public facebook::jsi::String& operator=(facebook::jsi::String&& other) = default; + public size_t length(facebook::jsi::IRuntime& runtime) const; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& a, const facebook::jsi::String& b); + public static facebook::jsi::String createFromAscii(facebook::jsi::IRuntime& runtime, const char* str); + public static facebook::jsi::String createFromAscii(facebook::jsi::IRuntime& runtime, const char* str, size_t length); + public static facebook::jsi::String createFromAscii(facebook::jsi::IRuntime& runtime, const std::string& str); + public static facebook::jsi::String createFromUtf8(facebook::jsi::IRuntime& runtime, const std::string& utf8); + public static facebook::jsi::String createFromUtf8(facebook::jsi::IRuntime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::IRuntime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::IRuntime& runtime, const std::u16string& utf16); + public std::string utf8(facebook::jsi::IRuntime& runtime) const; + public std::u16string utf16(facebook::jsi::IRuntime& runtime) const; + template + public void getStringData(facebook::jsi::IRuntime& runtime, CB& cb) const; +} + +class facebook::jsi::StringBuffer : public facebook::jsi::Buffer { + public StringBuffer(std::string s); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::Symbol : public facebook::jsi::Pointer { + public Symbol(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public Symbol(facebook::jsi::Pointer&& other) noexcept; + public Symbol(facebook::jsi::Symbol&& other) = default; + public facebook::jsi::Symbol& operator=(facebook::jsi::Symbol&& other) = default; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b); + public std::string toString(facebook::jsi::IRuntime& runtime) const; +} + +class facebook::jsi::ThreadSafeRuntime : public facebook::jsi::Runtime { + public virtual facebook::jsi::Runtime& getUnsafeRuntime() = 0; + public virtual void lock() const = 0; + public virtual void unlock() const = 0; +} + +class facebook::jsi::TypedArray : public facebook::jsi::Object { + public TypedArray(facebook::jsi::TypedArray&&) = default; + public facebook::jsi::ArrayBuffer buffer(facebook::jsi::IRuntime& runtime); + public facebook::jsi::TypedArray& operator=(facebook::jsi::TypedArray&&) = default; + public size_t byteLength(facebook::jsi::IRuntime& runtime); + public size_t byteOffset(facebook::jsi::IRuntime& runtime); + public size_t length(facebook::jsi::IRuntime& runtime); +} + +class facebook::jsi::UUID { + public constexpr UUID(); + public constexpr UUID(const facebook::jsi::UUID&) = default; + public constexpr UUID(uint32_t timeLow, uint16_t timeMid, uint16_t timeHighAndVersion, uint16_t variantAndClockSeq, uint64_t node); + public constexpr bool operator!=(const facebook::jsi::UUID& other) const; + public constexpr bool operator<(const facebook::jsi::UUID& other) const; + public constexpr bool operator==(const facebook::jsi::UUID& other) const; + public constexpr facebook::jsi::UUID& operator=(const facebook::jsi::UUID&) = default; + public constexpr uint16_t getTimeHighAndVersion() const; + public constexpr uint16_t getTimeMid() const; + public constexpr uint16_t getVariantAndClockSeq() const; + public constexpr uint32_t getTimeLow() const; + public constexpr uint64_t getNode() const; + public std::string toString() const; +} + +struct facebook::jsi::UUID::Hash { + public std::size_t operator()(const facebook::jsi::UUID& uuid) const noexcept; +} + +class facebook::jsi::Uint8Array : public facebook::jsi::TypedArray { + public Uint8Array(facebook::jsi::IRuntime& runtime, const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length); + public Uint8Array(facebook::jsi::IRuntime& runtime, size_t length); + public Uint8Array(facebook::jsi::Uint8Array&&) = default; + public facebook::jsi::Uint8Array& operator=(facebook::jsi::Uint8Array&&) = default; +} + +class facebook::jsi::Value { + public Value() noexcept; + public Value(bool b); + public Value(double d); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::BigInt& bigint); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& obj); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& str); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::Symbol& sym); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& value); + public Value(facebook::jsi::Value&& other) noexcept; + public Value(int i); + public Value(std::nullptr_t); + public bool asBool() const; + public bool getBool() const; + public bool isBigInt() const; + public bool isBool() const; + public bool isInteger() const; + public bool isNull() const; + public bool isNumber() const; + public bool isObject() const; + public bool isString() const; + public bool isSymbol() const; + public bool isUndefined() const; + public double asNumber() const; + public double getNumber() const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::IRuntime& runtime); + public facebook::jsi::BigInt getBigInt(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::BigInt getBigInt(facebook::jsi::IRuntime&); + public facebook::jsi::Object asObject(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Object asObject(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Object getObject(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Object getObject(facebook::jsi::IRuntime&); + public facebook::jsi::String asString(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::String asString(facebook::jsi::IRuntime& runtime); + public facebook::jsi::String getString(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::String getString(facebook::jsi::IRuntime&); + public facebook::jsi::String toString(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Symbol getSymbol(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Symbol getSymbol(facebook::jsi::IRuntime&); + public facebook::jsi::Value& operator=(facebook::jsi::Value&& other) noexcept; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& a, const facebook::jsi::Value& b); + public static facebook::jsi::Value createFromJsonUtf8(facebook::jsi::IRuntime& runtime, const uint8_t* json, size_t length); + public static facebook::jsi::Value null(); + public static facebook::jsi::Value undefined(); + public ~Value(); + template + public Value(const char*); + template + public Value(facebook::jsi::IRuntime&, const char*); + template ::value || std::is_base_of::value || std::is_base_of::value || std::is_base_of::value>> + public Value(T&& other); +} + +class facebook::jsi::WeakObject : public facebook::jsi::Pointer { + public WeakObject(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& o); + public WeakObject(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public WeakObject(facebook::jsi::Pointer&& other) noexcept; + public WeakObject(facebook::jsi::WeakObject&& other) = default; + public facebook::jsi::Value lock(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::WeakObject& operator=(facebook::jsi::WeakObject&& other) = default; +} + +struct facebook::jsi::ICast { + protected ~ICast() = default; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) = 0; +} + +template +class facebook::jsi::RuntimeDecorator : public facebook::jsi::Runtime { + protected RuntimeDecorator(Plain& plain); + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& b) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& b) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool detached(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool isTypedArray(const facebook::jsi::Object& o) const override; + protected virtual bool isUint8Array(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& dataUUID) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer buffer(const facebook::jsi::TypedArray& typedArray) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t value) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t value) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneBigInt(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneObject(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* clonePropNameID(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneString(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneSymbol(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bigint, int radix) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Uint8Array createUint8Array(const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length) override; + protected virtual facebook::jsi::Uint8Array createUint8Array(size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t byteLength(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t byteOffset(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t length(const facebook::jsi::String& str) override; + protected virtual size_t length(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t push(const facebook::jsi::Array& a, const facebook::jsi::Value* elements, size_t count) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr tryGetMutableBuffer(const facebook::jsi::ArrayBuffer& arrayBuffer) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string flushAndDisableBridgeTrafficTrace() override; + protected virtual std::string getRecordedGCStats() override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual std::unordered_map getHeapInfo(bool includeExpensive) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& b) override; + protected virtual void collectGarbage(std::string cause) override; + protected virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void dumpOpcodeStats(std::ostream& os) const override; + protected virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& dataUUID, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected virtual void startHeapSampling(size_t samplingInterval) override; + protected virtual void stopHeapSampling(std::ostream& os) override; + protected virtual void stopTrackingHeapObjectStackTraces() override; + protected virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + protected void startTrackingHeapObjectStackTraces(std::function)> callback) override; + public Plain& plain(); + public const Plain& plain() const; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + +template +class facebook::jsi::WithRuntimeDecorator : public facebook::jsi::RuntimeDecorator { + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& bi) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& bi) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool detached(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool isTypedArray(const facebook::jsi::Object& o) const override; + protected virtual bool isUint8Array(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer buffer(const facebook::jsi::TypedArray& typedArray) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t i) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t i) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneBigInt(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneObject(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* clonePropNameID(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneString(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneSymbol(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bi, int i) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Uint8Array createUint8Array(const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length) override; + protected virtual facebook::jsi::Uint8Array createUint8Array(size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t byteLength(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t byteOffset(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t length(const facebook::jsi::String& str) override; + protected virtual size_t length(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t push(const facebook::jsi::Array& a, const facebook::jsi::Value* elements, size_t count) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr tryGetMutableBuffer(const facebook::jsi::ArrayBuffer& arrayBuffer) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& bi) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amt) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + public WithRuntimeDecorator(Plain& plain, With& with); + public using RD = facebook::jsi::RuntimeDecorator; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + + +class facebook::jsi::jni::HermesMemoryDumper : public jni::JavaClass { + public bool shouldSaveSnapshot(); + public static constexpr auto kJavaDescriptor; + public std::string getId(); + public std::string getInternalStorage(); + public void setMetaData(std::string crashId); +} + +class facebook::jsi::jni::HermesSamplingProfiler : public jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static void disable(jni::alias_ref); + public static void dumpSampledTraceToFile(jni::alias_ref, const std::string& filename); + public static void enable(jni::alias_ref); + public static void registerNatives(); +} + + +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::IRuntime& runtime, const char* name); +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::IRuntime& runtime, const std::string& name); +facebook::jsi::PropNameID&& facebook::jsi::detail::toPropNameID(facebook::jsi::IRuntime&, facebook::jsi::PropNameID&& name); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime& runtime, const char* str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& value); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime& runtime, const std::string& str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, bool b); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, double d); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, float f); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, int i); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, std::nullptr_t); +facebook::jsi::Value&& facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, facebook::jsi::Value&& value); +template +void facebook::jsi::detail::throwOrDie(Args &&... args); +template +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime& runtime, const T& other); + +template +class facebook::jsi::detail::ThreadSafeRuntimeImpl : public facebook::jsi::WithRuntimeDecorator, R, facebook::jsi::ThreadSafeRuntime> { + public virtual R& getUnsafeRuntime() override; + public virtual void lock() const override; + public virtual void unlock() const override; + template + public ThreadSafeRuntimeImpl(Args &&... args); +} + +template +struct facebook::jsi::detail::WithLock { + public L lock; + public WithLock(R& r); + public void after(); + public void before(); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T&); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T&); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T& t); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T& t); +} + +template +struct facebook::jsi::detail::AfterCaller> { + public static void after(std::tuple& tuple); +} + +template +struct facebook::jsi::detail::BeforeCaller> { + public static void before(std::tuple& tuple); +} + + +using facebook::yoga::GridTrackList = std::vector; +template +concept facebook::yoga::Enumeration = std::is_enum_v; +template +concept facebook::yoga::HasOrdinality = (facebook::yoga::ordinalCount()> 0); +YGLogger facebook::yoga::getDefaultLogger(); +bool facebook::yoga::calculateLayoutInternal(facebook::yoga::Node* node, float availableWidth, float availableHeight, facebook::yoga::Direction ownerDirection, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::SizingMode heightSizingMode, float ownerWidth, float ownerHeight, bool performLayout, facebook::yoga::LayoutPassReason reason, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +bool facebook::yoga::canUseCachedMeasurement(facebook::yoga::SizingMode widthMode, float availableWidth, facebook::yoga::SizingMode heightMode, float availableHeight, facebook::yoga::SizingMode lastWidthMode, float lastAvailableWidth, facebook::yoga::SizingMode lastHeightMode, float lastAvailableHeight, float lastComputedWidth, float lastComputedHeight, float marginRow, float marginColumn, const facebook::yoga::Config* config); +bool facebook::yoga::configUpdateInvalidatesLayout(const facebook::yoga::Config& oldConfig, const facebook::yoga::Config& newConfig); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleLength& a, const facebook::yoga::StyleLength& b); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleSizeLength& a, const facebook::yoga::StyleSizeLength& b); +bool facebook::yoga::inexactEquals(double a, double b); +bool facebook::yoga::inexactEquals(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +bool facebook::yoga::inexactEquals(float a, float b); +bool facebook::yoga::isBaselineLayout(const facebook::yoga::Node* node); +bool facebook::yoga::isColumn(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::isRow(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::layoutAbsoluteDescendants(facebook::yoga::Node* containingNode, facebook::yoga::Node* currentNode, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::Direction currentNodeDirection, facebook::yoga::LayoutData& layoutMarkerData, uint32_t currentDepth, uint32_t generationCount, float currentNodeMainOffsetFromContainingBlock, float currentNodeCrossOffsetFromContainingBlock, float containingNodeAvailableInnerWidth, float containingNodeAvailableInnerHeight); +bool facebook::yoga::needsTrailingPosition(const facebook::yoga::FlexDirection axis); +const char* facebook::yoga::LayoutPassReasonToString(facebook::yoga::LayoutPassReason value); +const char* facebook::yoga::toString(facebook::yoga::Align e); +const char* facebook::yoga::toString(facebook::yoga::BoxSizing e); +const char* facebook::yoga::toString(facebook::yoga::Dimension e); +const char* facebook::yoga::toString(facebook::yoga::Direction e); +const char* facebook::yoga::toString(facebook::yoga::Display e); +const char* facebook::yoga::toString(facebook::yoga::Edge e); +const char* facebook::yoga::toString(facebook::yoga::Errata e); +const char* facebook::yoga::toString(facebook::yoga::FlexDirection e); +const char* facebook::yoga::toString(facebook::yoga::GridTrackType e); +const char* facebook::yoga::toString(facebook::yoga::Gutter e); +const char* facebook::yoga::toString(facebook::yoga::Justify e); +const char* facebook::yoga::toString(facebook::yoga::LogLevel e); +const char* facebook::yoga::toString(facebook::yoga::MeasureMode e); +const char* facebook::yoga::toString(facebook::yoga::NodeType e); +const char* facebook::yoga::toString(facebook::yoga::Overflow e); +const char* facebook::yoga::toString(facebook::yoga::PositionType e); +const char* facebook::yoga::toString(facebook::yoga::Unit e); +const char* facebook::yoga::toString(facebook::yoga::Wrap e); +const facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeConstRef ref); +constexpr YGAlign facebook::yoga::unscopedEnum(facebook::yoga::Align scoped); +constexpr YGBoxSizing facebook::yoga::unscopedEnum(facebook::yoga::BoxSizing scoped); +constexpr YGDimension facebook::yoga::unscopedEnum(facebook::yoga::Dimension scoped); +constexpr YGDirection facebook::yoga::unscopedEnum(facebook::yoga::Direction scoped); +constexpr YGDisplay facebook::yoga::unscopedEnum(facebook::yoga::Display scoped); +constexpr YGEdge facebook::yoga::unscopedEnum(facebook::yoga::Edge scoped); +constexpr YGErrata facebook::yoga::unscopedEnum(facebook::yoga::Errata scoped); +constexpr YGFlexDirection facebook::yoga::unscopedEnum(facebook::yoga::FlexDirection scoped); +constexpr YGGridTrackType facebook::yoga::unscopedEnum(facebook::yoga::GridTrackType scoped); +constexpr YGGutter facebook::yoga::unscopedEnum(facebook::yoga::Gutter scoped); +constexpr YGJustify facebook::yoga::unscopedEnum(facebook::yoga::Justify scoped); +constexpr YGLogLevel facebook::yoga::unscopedEnum(facebook::yoga::LogLevel scoped); +constexpr YGMeasureMode facebook::yoga::unscopedEnum(facebook::yoga::MeasureMode scoped); +constexpr YGNodeType facebook::yoga::unscopedEnum(facebook::yoga::NodeType scoped); +constexpr YGOverflow facebook::yoga::unscopedEnum(facebook::yoga::Overflow scoped); +constexpr YGPositionType facebook::yoga::unscopedEnum(facebook::yoga::PositionType scoped); +constexpr YGUnit facebook::yoga::unscopedEnum(facebook::yoga::Unit scoped); +constexpr YGWrap facebook::yoga::unscopedEnum(facebook::yoga::Wrap scoped); +constexpr auto facebook::yoga::maxOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::minOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::to_underlying(Enumeration auto e) noexcept; +constexpr bool facebook::yoga::isDefined(std::floating_point auto value); +constexpr bool facebook::yoga::isUndefined(std::floating_point auto value); +constexpr bool facebook::yoga::isinf(auto value); +constexpr facebook::yoga::Align facebook::yoga::fallbackAlignment(facebook::yoga::Align align); +constexpr facebook::yoga::Align facebook::yoga::scopedEnum(YGAlign unscoped); +constexpr facebook::yoga::BoxSizing facebook::yoga::scopedEnum(YGBoxSizing unscoped); +constexpr facebook::yoga::Dimension facebook::yoga::scopedEnum(YGDimension unscoped); +constexpr facebook::yoga::Direction facebook::yoga::scopedEnum(YGDirection unscoped); +constexpr facebook::yoga::Display facebook::yoga::scopedEnum(YGDisplay unscoped); +constexpr facebook::yoga::Edge facebook::yoga::scopedEnum(YGEdge unscoped); +constexpr facebook::yoga::Errata facebook::yoga::scopedEnum(YGErrata unscoped); +constexpr facebook::yoga::FlexDirection facebook::yoga::scopedEnum(YGFlexDirection unscoped); +constexpr facebook::yoga::FloatOptional facebook::yoga::maxOrDefined(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::GridTrackType facebook::yoga::scopedEnum(YGGridTrackType unscoped); +constexpr facebook::yoga::Gutter facebook::yoga::scopedEnum(YGGutter unscoped); +constexpr facebook::yoga::Justify facebook::yoga::fallbackAlignment(facebook::yoga::Justify align); +constexpr facebook::yoga::Justify facebook::yoga::scopedEnum(YGJustify unscoped); +constexpr facebook::yoga::LogLevel facebook::yoga::scopedEnum(YGLogLevel unscoped); +constexpr facebook::yoga::MeasureMode facebook::yoga::scopedEnum(YGMeasureMode unscoped); +constexpr facebook::yoga::NodeType facebook::yoga::scopedEnum(YGNodeType unscoped); +constexpr facebook::yoga::Overflow facebook::yoga::scopedEnum(YGOverflow unscoped); +constexpr facebook::yoga::PositionType facebook::yoga::scopedEnum(YGPositionType unscoped); +constexpr facebook::yoga::Unit facebook::yoga::scopedEnum(YGUnit unscoped); +constexpr facebook::yoga::Wrap facebook::yoga::scopedEnum(YGWrap unscoped); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +facebook::yoga::Align facebook::yoga::resolveChildAlignment(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::Config* facebook::yoga::resolveRef(const YGConfigRef ref); +facebook::yoga::Dimension facebook::yoga::dimension(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::FlexDirection facebook::yoga::resolveCrossDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexDirection facebook::yoga::resolveDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexLine facebook::yoga::calculateFlexLine(facebook::yoga::Node* node, facebook::yoga::Direction ownerDirection, float ownerWidth, float mainAxisOwnerSize, float availableInnerWidth, float availableInnerMainDim, facebook::yoga::Node::LayoutableChildren::Iterator& iterator, size_t lineCount); +facebook::yoga::FloatOptional facebook::yoga::boundAxisWithinMinAndMax(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::FlexDirection axis, const facebook::yoga::FloatOptional value, const float axisSize, const float widthSize); +facebook::yoga::Justify facebook::yoga::resolveChildJustification(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::MeasureMode facebook::yoga::measureMode(facebook::yoga::SizingMode mode); +facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeRef ref); +facebook::yoga::PhysicalEdge facebook::yoga::flexEndEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::flexStartEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::inlineEndEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::PhysicalEdge facebook::yoga::inlineStartEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::SizingMode facebook::yoga::sizingMode(facebook::yoga::MeasureMode mode); +float facebook::yoga::boundAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float value, const float axisSize, const float widthSize); +float facebook::yoga::calculateAvailableInnerDimension(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::Dimension dimension, const float availableDim, float paddingAndBorder, const float ownerDim, const float ownerWidth); +float facebook::yoga::calculateBaseline(const facebook::yoga::Node* node); +float facebook::yoga::getPositionOfOppositeEdge(float position, facebook::yoga::FlexDirection axis, const facebook::yoga::Node *const containingNode, const facebook::yoga::Node *const node); +float facebook::yoga::paddingAndBorderForAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float widthSize); +float facebook::yoga::roundValueToPixelGrid(double value, double pointScaleFactor, bool forceCeil, bool forceFloor); +template +constexpr int32_t facebook::yoga::ordinalCount(); +template +auto facebook::yoga::ordinals(); +template +constexpr int32_t facebook::yoga::bitCount(); +template +bool facebook::yoga::inexactEquals(const std::array& val1, const std::array& val2); +void facebook::yoga::assertFatal(bool condition, const char* message); +void facebook::yoga::assertFatalWithConfig(const facebook::yoga::Config* config, bool condition, const char* message); +void facebook::yoga::assertFatalWithNode(const facebook::yoga::Node* node, bool condition, const char* message); +void facebook::yoga::calculateLayout(facebook::yoga::Node* node, float ownerWidth, float ownerHeight, facebook::yoga::Direction ownerDirection); +void facebook::yoga::cleanupContentsNodesRecursively(facebook::yoga::Node* node, bool didPerformLayout); +void facebook::yoga::constrainMaxSizeForMode(const facebook::yoga::Node* node, facebook::yoga::Direction direction, facebook::yoga::FlexDirection axis, float ownerAxisSize, float ownerWidth, facebook::yoga::SizingMode* mode, float* size); +void facebook::yoga::fatalWithMessage(const char* message); +void facebook::yoga::layoutAbsoluteChild(const facebook::yoga::Node* containingNode, const facebook::yoga::Node* node, facebook::yoga::Node* child, float containingBlockWidth, float containingBlockHeight, facebook::yoga::SizingMode widthMode, facebook::yoga::Direction direction, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +void facebook::yoga::log(const facebook::yoga::Config* config, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(const facebook::yoga::Node* node, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::roundLayoutResultsToPixelGrid(facebook::yoga::Node* node, double absoluteLeft, double absoluteTop); +void facebook::yoga::setChildTrailingPosition(const facebook::yoga::Node *const node, facebook::yoga::Node *const child, const facebook::yoga::FlexDirection axis); +void facebook::yoga::zeroOutLayoutRecursively(facebook::yoga::Node *const node); +constexpr bool facebook::yoga::operator<(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator<=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, float rhs); +constexpr bool facebook::yoga::operator==(float lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::FloatOptional facebook::yoga::operator+(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); + +class facebook::yoga::Config : public YGConfig { + public Config(YGLogger logger); + public YGNodeRef cloneNode(YGNodeConstRef node, YGNodeConstRef owner, size_t childIndex) const; + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool useWebDefaults() const; + public facebook::yoga::Errata getErrata() const; + public float getPointScaleFactor() const; + public static const facebook::yoga::Config& getDefault(); + public uint32_t getVersion() const noexcept; + public void addErrata(facebook::yoga::Errata errata); + public void log(const facebook::yoga::Node* node, facebook::yoga::LogLevel logLevel, const char* format, va_list args) const; + public void removeErrata(facebook::yoga::Errata errata); + public void setCloneNodeCallback(YGCloneNodeFunc cloneNode); + public void setContext(void* context); + public void setErrata(facebook::yoga::Errata errata); + public void setLogger(YGLogger logger); + public void setPointScaleFactor(float pointScaleFactor); + public void setUseWebDefaults(bool useWebDefaults); + public void* getContext() const; +} + +class facebook::yoga::GridStyleStorage { + public GridStyleStorage() = default; + public GridStyleStorage(const facebook::yoga::GridStyleStorage& other); + public GridStyleStorage(facebook::yoga::GridStyleStorage&&) noexcept = default; + public bool operator==(const facebook::yoga::GridStyleStorage& other) const; + public const facebook::yoga::GridStyle& get() const; + public facebook::yoga::GridStyle& ensure(); + public facebook::yoga::GridStyleStorage& operator=(const facebook::yoga::GridStyleStorage& other); + public facebook::yoga::GridStyleStorage& operator=(facebook::yoga::GridStyleStorage&&) noexcept = default; +} + +class facebook::yoga::Node : public YGNode { + public Node(); + public Node(const facebook::yoga::Config* config); + public Node(const facebook::yoga::Node& node) = default; + public Node(facebook::yoga::Node&& node) noexcept; + public YGDirtiedFunc getDirtiedFunc() const; + public YGSize measure(float availableWidth, facebook::yoga::MeasureMode widthMode, float availableHeight, facebook::yoga::MeasureMode heightMode); + public YGSize measureMinContent(float availableWidth, facebook::yoga::MeasureMode widthMode, float availableHeight, facebook::yoga::MeasureMode heightMode); + public bool alwaysFormsContainingBlock() const; + public bool getHasNewLayout() const; + public bool hasBaselineFunc() const noexcept; + public bool hasContentsChildren() const; + public bool hasDefiniteLength(facebook::yoga::Dimension dimension, float ownerSize); + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool hasMeasureFunc() const noexcept; + public bool hasMinContentMeasureFunc() const noexcept; + public bool isDirty() const; + public bool isLayoutDimensionDefined(facebook::yoga::FlexDirection axis); + public bool isNodeFlexible(); + public bool isReferenceBaseline() const; + public bool removeChild(facebook::yoga::Node* child); + public const facebook::yoga::Config* getConfig() const; + public const facebook::yoga::LayoutResults& getLayout() const; + public const facebook::yoga::Style& style() const; + public const std::vector& getChildren() const; + public facebook::yoga::Direction resolveDirection(facebook::yoga::Direction ownerDirection); + public facebook::yoga::FloatOptional getMinContentHeight() const noexcept; + public facebook::yoga::FloatOptional getMinContentWidth() const noexcept; + public facebook::yoga::FloatOptional getResolvedDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolveFlexBasis(facebook::yoga::Direction direction, facebook::yoga::FlexDirection flexDirection, float referenceLength, float ownerWidth) const; + public facebook::yoga::LayoutResults& getLayout(); + public facebook::yoga::Node& operator=(const facebook::yoga::Node&) = delete; + public facebook::yoga::Node* getChild(size_t index) const; + public facebook::yoga::Node* getOwner() const; + public facebook::yoga::Node::LayoutableChildren getLayoutChildren() const; + public facebook::yoga::NodeType getNodeType() const; + public facebook::yoga::Style& style(); + public facebook::yoga::Style::SizeLength getProcessedDimension(facebook::yoga::Dimension dimension) const; + public facebook::yoga::Style::SizeLength processFlexBasis() const; + public float baseline(float width, float height) const; + public float dimensionWithMargin(facebook::yoga::FlexDirection axis, float widthSize); + public float relativePosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float resolveFlexGrow() const; + public float resolveFlexShrink() const; + public size_t getChildCount() const; + public size_t getLayoutChildCount() const; + public size_t getLineIndex() const; + public using LayoutableChildren = facebook::yoga::LayoutableChildren; + public void clearChildren(); + public void cloneChildrenIfNeeded(); + public void cloneContentsChildrenIfNeeded(); + public void insertChild(facebook::yoga::Node* child, size_t index); + public void markDirtyAndPropagate(); + public void processDimensions(); + public void removeChild(size_t index); + public void replaceChild(facebook::yoga::Node* child, size_t index); + public void replaceChild(facebook::yoga::Node* oldChild, facebook::yoga::Node* newChild); + public void reset(); + public void setAlwaysFormsContainingBlock(bool alwaysFormsContainingBlock); + public void setBaselineFunc(YGBaselineFunc baseLineFunc); + public void setChildren(const std::vector& children); + public void setConfig(facebook::yoga::Config* config); + public void setContext(void* context); + public void setDirtiedFunc(YGDirtiedFunc dirtiedFunc); + public void setDirty(bool isDirty); + public void setHasNewLayout(bool hasNewLayout); + public void setIsReferenceBaseline(bool isReferenceBaseline); + public void setLayout(const facebook::yoga::LayoutResults& layout); + public void setLayoutBorder(float border, facebook::yoga::PhysicalEdge edge); + public void setLayoutComputedFlexBasis(facebook::yoga::FloatOptional computedFlexBasis); + public void setLayoutComputedFlexBasisGeneration(uint32_t computedFlexBasisGeneration); + public void setLayoutDimension(float lengthValue, facebook::yoga::Dimension dimension); + public void setLayoutDirection(facebook::yoga::Direction direction); + public void setLayoutHadOverflow(bool hadOverflow); + public void setLayoutLastOwnerDirection(facebook::yoga::Direction direction); + public void setLayoutMargin(float margin, facebook::yoga::PhysicalEdge edge); + public void setLayoutMeasuredDimension(float measuredDimension, facebook::yoga::Dimension dimension); + public void setLayoutPadding(float padding, facebook::yoga::PhysicalEdge edge); + public void setLayoutPosition(float position, facebook::yoga::PhysicalEdge edge); + public void setLineIndex(size_t lineIndex); + public void setMeasureFunc(YGMeasureFunc measureFunc); + public void setMinContentHeight(facebook::yoga::FloatOptional minContentHeight) noexcept; + public void setMinContentMeasureFunc(YGMinContentMeasureFunc minContentMeasureFunc); + public void setMinContentWidth(facebook::yoga::FloatOptional minContentWidth) noexcept; + public void setNodeType(facebook::yoga::NodeType nodeType); + public void setOwner(facebook::yoga::Node* owner); + public void setPosition(facebook::yoga::Direction direction, float ownerWidth, float ownerHeight); + public void setStyle(const facebook::yoga::Style& style); + public void* getContext() const; +} + +class facebook::yoga::Style { + public bool flexEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool flexStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool horizontalInsetsDefined() const; + public bool inlineEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool inlineStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool operator==(const facebook::yoga::Style& other) const; + public bool verticalInsetsDefined() const; + public const facebook::yoga::GridLine& gridColumnEnd() const; + public const facebook::yoga::GridLine& gridColumnStart() const; + public const facebook::yoga::GridLine& gridRowEnd() const; + public const facebook::yoga::GridLine& gridRowStart() const; + public const facebook::yoga::GridTrackList& gridAutoColumns() const; + public const facebook::yoga::GridTrackList& gridAutoRows() const; + public const facebook::yoga::GridTrackList& gridTemplateColumns() const; + public const facebook::yoga::GridTrackList& gridTemplateRows() const; + public facebook::yoga::Align alignContent() const; + public facebook::yoga::Align alignItems() const; + public facebook::yoga::Align alignSelf() const; + public facebook::yoga::BoxSizing boxSizing() const; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Display display() const; + public facebook::yoga::FlexDirection flexDirection() const; + public facebook::yoga::FloatOptional aspectRatio() const; + public facebook::yoga::FloatOptional flex() const; + public facebook::yoga::FloatOptional flexGrow() const; + public facebook::yoga::FloatOptional flexShrink() const; + public facebook::yoga::FloatOptional resolvedMaxDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolvedMinDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::Justify justifyContent() const; + public facebook::yoga::Justify justifyItems() const; + public facebook::yoga::Justify justifySelf() const; + public facebook::yoga::Overflow overflow() const; + public facebook::yoga::PositionType positionType() const; + public facebook::yoga::Style::Length border(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length gap(facebook::yoga::Gutter gutter) const; + public facebook::yoga::Style::Length margin(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length padding(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length position(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::SizeLength dimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength flexBasis() const; + public facebook::yoga::Style::SizeLength maxDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength minDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Wrap flexWrap() const; + public float computeBorderForAxis(facebook::yoga::FlexDirection axis) const; + public float computeFlexEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeFlexStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeGapForAxis(facebook::yoga::FlexDirection axis, float ownerSize) const; + public float computeGapForDimension(facebook::yoga::Dimension dimension, float ownerSize) const; + public float computeInlineEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeInlineStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeMarginForAxis(facebook::yoga::FlexDirection axis, float widthSize) const; + public float computePaddingAndBorderForDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float widthSize) const; + public static constexpr float DefaultFlexGrow; + public static constexpr float DefaultFlexShrink; + public static constexpr float WebDefaultFlexShrink; + public using Length = facebook::yoga::StyleLength; + public using SizeLength = facebook::yoga::StyleSizeLength; + public void resizeGridAutoColumns(size_t count); + public void resizeGridAutoRows(size_t count); + public void resizeGridTemplateColumns(size_t count); + public void resizeGridTemplateRows(size_t count); + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBorder(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setGap(facebook::yoga::Gutter gutter, facebook::yoga::Style::Length value); + public void setGridAutoColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoColumns(facebook::yoga::GridTrackList value); + public void setGridAutoRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoRows(facebook::yoga::GridTrackList value); + public void setGridColumnEnd(facebook::yoga::GridLine value); + public void setGridColumnStart(facebook::yoga::GridLine value); + public void setGridRowEnd(facebook::yoga::GridLine value); + public void setGridRowStart(facebook::yoga::GridLine value); + public void setGridTemplateColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateColumns(facebook::yoga::GridTrackList value); + public void setGridTemplateRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateRows(facebook::yoga::GridTrackList value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setJustifyItems(facebook::yoga::Justify value); + public void setJustifySelf(facebook::yoga::Justify value); + public void setMargin(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setMaxDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setMinDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPosition(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPositionType(facebook::yoga::PositionType value); +} + +class facebook::yoga::StyleLength { + public constexpr StyleLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength); + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleLength ofAuto(); + public static constexpr facebook::yoga::StyleLength percent(float value); + public static constexpr facebook::yoga::StyleLength points(float value); + public static constexpr facebook::yoga::StyleLength undefined(); +} + +class facebook::yoga::StyleSizeLength { + public constexpr StyleSizeLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleSizeLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isFitContent() const; + public constexpr bool isMaxContent() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isStretch() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleSizeLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength) const; + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleSizeLength ofAuto(); + public static constexpr facebook::yoga::StyleSizeLength ofFitContent(); + public static constexpr facebook::yoga::StyleSizeLength ofMaxContent(); + public static constexpr facebook::yoga::StyleSizeLength ofStretch(); + public static constexpr facebook::yoga::StyleSizeLength percent(float value); + public static constexpr facebook::yoga::StyleSizeLength points(float value); + public static constexpr facebook::yoga::StyleSizeLength stretch(float fraction); + public static constexpr facebook::yoga::StyleSizeLength undefined(); +} + +class facebook::yoga::StyleValueHandle { + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isPercent() const; + public constexpr bool isPoint() const; + public constexpr bool isUndefined() const; + public static constexpr facebook::yoga::StyleValueHandle ofAuto(); +} + +class facebook::yoga::StyleValuePool { + public facebook::yoga::FloatOptional getNumber(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleLength getLength(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleSizeLength getSize(facebook::yoga::StyleValueHandle handle) const; + public float getStoredValue(facebook::yoga::StyleValueHandle handle) const; + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::FloatOptional number); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleLength length); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleSizeLength sizeValue); +} + +enum facebook::yoga::Align : uint8_t { + Auto, + Baseline, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::BoxSizing : uint8_t { + BorderBox, + ContentBox, +} + +enum facebook::yoga::Dimension : uint8_t { + Height, + Width, +} + +enum facebook::yoga::Direction : uint8_t { + Inherit, + LTR, + RTL, +} + +enum facebook::yoga::Display : uint8_t { + Contents, + Flex, + Grid, + None, +} + +enum facebook::yoga::Edge : uint8_t { + All, + Bottom, + End, + Horizontal, + Left, + Right, + Start, + Top, + Vertical, +} + +enum facebook::yoga::Errata : uint32_t { + AbsolutePercentAgainstInnerSize, + AbsolutePositionWithoutInsetsExcludesPadding, + All, + Classic, + FlexFirstPassUsesRunningTotals, + MinSizeUndefinedInsteadOfAuto, + None, + StretchFlexBasis, +} + +enum facebook::yoga::FlexDirection : uint8_t { + Column, + ColumnReverse, + Row, + RowReverse, +} + +enum facebook::yoga::GridLineType : uint8_t { + Auto, + Integer, + Span, +} + +enum facebook::yoga::GridTrackType : uint8_t { + Auto, + Fr, + Minmax, + Percent, + Points, +} + +enum facebook::yoga::Gutter : uint8_t { + All, + Column, + Row, +} + +enum facebook::yoga::Justify : uint8_t { + Auto, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::LayoutPassReason : int { + COUNT, + kAbsLayout, + kAbsMeasureChild, + kFlexLayout, + kFlexMeasure, + kGridLayout, + kInitial, + kMeasureChild, + kMultilineStretch, + kStretch, +} + +enum facebook::yoga::LayoutType : int { + kCachedLayout, + kCachedMeasure, + kLayout, + kMeasure, +} + +enum facebook::yoga::LogLevel : uint8_t { + Debug, + Error, + Fatal, + Info, + Verbose, + Warn, +} + +enum facebook::yoga::MeasureMode : uint8_t { + AtMost, + Exactly, + Undefined, +} + +enum facebook::yoga::NodeType : uint8_t { + Default, + Text, +} + +enum facebook::yoga::Overflow : uint8_t { + Hidden, + Scroll, + Visible, +} + +enum facebook::yoga::PhysicalEdge : uint32_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::yoga::PositionType : uint8_t { + Absolute, + Relative, + Static, +} + +enum facebook::yoga::SizingMode { + FitContent, + MaxContent, + StretchFit, +} + +enum facebook::yoga::Unit : uint8_t { + Auto, + FitContent, + MaxContent, + Percent, + Point, + Stretch, + Undefined, +} + +enum facebook::yoga::Wrap : uint8_t { + NoWrap, + Wrap, + WrapReverse, +} + +struct facebook::yoga::CachedMeasurement { + public bool operator==(facebook::yoga::CachedMeasurement measurement) const; + public facebook::yoga::SizingMode heightSizingMode; + public facebook::yoga::SizingMode widthSizingMode; + public float availableHeight; + public float availableWidth; + public float computedHeight; + public float computedWidth; +} + +struct facebook::yoga::Event { + public static void reset(); + public static void subscribe(std::function&& subscriber); + public using Subscriber = void(YGNodeConstRef, facebook::yoga::Event::Type, facebook::yoga::Event::Data); + public using Subscribers = std::vector>; + template + public static void publish(YGNodeConstRef node, const facebook::yoga::Event::TypedData& eventData = {}); +} + +class facebook::yoga::Event::Data { + template + public Data(const facebook::yoga::Event::TypedData& data); + template + public const facebook::yoga::Event::TypedData& get() const; +} + +enum facebook::yoga::Event::Type { + LayoutPassEnd, + LayoutPassStart, + MeasureCallbackEnd, + MeasureCallbackStart, + NodeAllocation, + NodeBaselineEnd, + NodeBaselineStart, + NodeDeallocation, + NodeLayout, +} + +template +struct facebook::yoga::Event::TypedData { +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutData* layoutData; +} + +struct facebook::yoga::Event::TypedData { + public YGMeasureMode heightMeasureMode; + public YGMeasureMode widthMeasureMode; + public const facebook::yoga::LayoutPassReason reason; + public float height; + public float measuredHeight; + public float measuredWidth; + public float width; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutType layoutType; +} + +struct facebook::yoga::FlexLine { + public const float sizeConsumed; + public const size_t numberOfAutoMargins; + public const std::vector itemsInFlow; + public facebook::yoga::FlexLineRunningLayout layout; +} + +struct facebook::yoga::FlexLineRunningLayout { + public float crossDim; + public float mainDim; + public float remainingFreeSpace; + public float totalFlexGrowFactors; + public float totalFlexShrinkScaledFactors; +} + +struct facebook::yoga::FloatOptional { + public constexpr FloatOptional() = default; + public constexpr FloatOptional(float value); + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public constexpr float unwrap() const; + public constexpr float unwrapOrDefault(float defaultValue) const; +} + +struct facebook::yoga::GridLine { + public bool operator==(const facebook::yoga::GridLine& other) const = default; + public constexpr bool isAuto() const; + public constexpr bool isInteger() const; + public constexpr bool isSpan() const; + public facebook::yoga::GridLineType type; + public int32_t integer; + public static constexpr facebook::yoga::GridLine auto_(); + public static constexpr facebook::yoga::GridLine fromInteger(int32_t value); + public static constexpr facebook::yoga::GridLine span(int32_t value); +} + +struct facebook::yoga::GridStyle { + public bool operator==(const facebook::yoga::GridStyle& other) const = default; + public facebook::yoga::GridLine columnEnd; + public facebook::yoga::GridLine columnStart; + public facebook::yoga::GridLine rowEnd; + public facebook::yoga::GridLine rowStart; + public facebook::yoga::GridTrackList autoColumns; + public facebook::yoga::GridTrackList autoRows; + public facebook::yoga::GridTrackList templateColumns; + public facebook::yoga::GridTrackList templateRows; +} + +struct facebook::yoga::GridTrackSize { + public bool infinitelyGrowable; + public bool operator==(const facebook::yoga::GridTrackSize& other) const = default; + public facebook::yoga::StyleSizeLength maxSizingFunction; + public facebook::yoga::StyleSizeLength minSizingFunction; + public float baseSize; + public float growthLimit; + public static constexpr facebook::yoga::GridTrackSize auto_(); + public static constexpr facebook::yoga::GridTrackSize fr(float fraction); + public static constexpr facebook::yoga::GridTrackSize length(float points); + public static constexpr facebook::yoga::GridTrackSize minmax(facebook::yoga::StyleSizeLength min, facebook::yoga::StyleSizeLength max); + public static constexpr facebook::yoga::GridTrackSize percent(float percentage); +} + +struct facebook::yoga::LayoutData { + public int cachedLayouts; + public int cachedMeasures; + public int layouts; + public int measureCallbacks; + public int measures; + public std::array(facebook::yoga::LayoutPassReason::COUNT)> measureCallbackReasonsCount; + public uint32_t maxMeasureCache; +} + +struct facebook::yoga::LayoutResults { + public bool hadOverflow() const; + public bool operator==(facebook::yoga::LayoutResults layout) const; + public facebook::yoga::CachedMeasurement cachedLayout; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Direction lastOwnerDirection; + public facebook::yoga::FloatOptional computedAutoMinMainSize; + public facebook::yoga::FloatOptional computedFlexBasis; + public float border(facebook::yoga::PhysicalEdge physicalEdge) const; + public float dimension(facebook::yoga::Dimension axis) const; + public float margin(facebook::yoga::PhysicalEdge physicalEdge) const; + public float measuredDimension(facebook::yoga::Dimension axis) const; + public float padding(facebook::yoga::PhysicalEdge physicalEdge) const; + public float position(facebook::yoga::PhysicalEdge physicalEdge) const; + public float rawDimension(facebook::yoga::Dimension axis) const; + public static constexpr int32_t MaxCachedMeasurements; + public std::array cachedMeasurements; + public uint32_t computedFlexBasisGeneration; + public uint32_t configVersion; + public uint32_t generationCount; + public uint32_t nextCachedMeasurementsIndex; + public void setBorder(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setDimension(facebook::yoga::Dimension axis, float dimension); + public void setDirection(facebook::yoga::Direction direction); + public void setHadOverflow(bool hadOverflow); + public void setMargin(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setMeasuredDimension(facebook::yoga::Dimension axis, float dimension); + public void setPadding(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setPosition(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setRawDimension(facebook::yoga::Dimension axis, float dimension); +} + +template +class facebook::yoga::SmallValueBuffer { + public SmallValueBuffer() = default; + public SmallValueBuffer(const facebook::yoga::SmallValueBuffer& other); + public SmallValueBuffer(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public facebook::yoga::SmallValueBuffer& operator=(const facebook::yoga::SmallValueBuffer& other); + public facebook::yoga::SmallValueBuffer& operator=(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public uint16_t push(uint32_t value); + public uint16_t push(uint64_t value); + public uint16_t replace(uint16_t index, uint32_t value); + public uint16_t replace(uint16_t index, uint64_t value); + public uint32_t get32(uint16_t index) const; + public uint64_t get64(uint16_t index) const; +} + +template +class facebook::yoga::LayoutableChildren { + public LayoutableChildren(const T* node); + public facebook::yoga::LayoutableChildren::Iterator begin() const; + public facebook::yoga::LayoutableChildren::Iterator end() const; +} + +struct facebook::yoga::LayoutableChildren::Iterator { + public Iterator() = default; + public Iterator(const T* node, size_t childIndex); + public T* operator*() const; + public facebook::yoga::LayoutableChildren::Iterator operator++(int); + public facebook::yoga::LayoutableChildren::Iterator& operator++(); + public using difference_type = std::ptrdiff_t; + public using iterator_category = std::input_iterator_tag; + public using pointer = T*; + public using reference = T*; + public using value_type = T*; +} + + +JNIEnv* facebook::yoga::vanillajni::getCurrentEnv(); +facebook::yoga::vanillajni::ScopedGlobalRef facebook::yoga::vanillajni::newGlobalRef(JNIEnv* env, jobject obj); +facebook::yoga::vanillajni::ScopedLocalRef facebook::yoga::vanillajni::callStaticObjectMethod(JNIEnv* env, jclass clazz, jmethodID methodId, ...); +jfieldID facebook::yoga::vanillajni::getFieldId(JNIEnv* env, jclass clazz, const char* fieldName, const char* fieldSignature); +jfloat facebook::yoga::vanillajni::callFloatMethod(JNIEnv* env, jobject obj, jmethodID methodId, ...); +jint facebook::yoga::vanillajni::ensureInitialized(JNIEnv** env, JavaVM* vm); +jlong facebook::yoga::vanillajni::callLongMethod(JNIEnv* env, jobject obj, jmethodID methodId, ...); +jmethodID facebook::yoga::vanillajni::getMethodId(JNIEnv* env, jclass clazz, const char* methodName, const char* methodDescriptor); +jmethodID facebook::yoga::vanillajni::getStaticMethodId(JNIEnv* env, jclass clazz, const char* methodName, const char* methodDescriptor); +template +facebook::yoga::vanillajni::ScopedGlobalRef facebook::yoga::vanillajni::make_global_ref(T globalRef); +template +facebook::yoga::vanillajni::ScopedLocalRef facebook::yoga::vanillajni::make_local_ref(JNIEnv* env, T localRef); +void facebook::yoga::vanillajni::assertNoPendingJniException(JNIEnv* env); +void facebook::yoga::vanillajni::assertNoPendingJniExceptionIf(JNIEnv* env, bool condition); +void facebook::yoga::vanillajni::callVoidMethod(JNIEnv* env, jobject obj, jmethodID methodId, ...); +void facebook::yoga::vanillajni::logErrorMessageAndDie(const char* message); +void facebook::yoga::vanillajni::registerNatives(JNIEnv* env, const char* className, const JNINativeMethod methods[], size_t numMethods); + +class facebook::yoga::vanillajni::LayoutContext { + public static PtrJNodeMapVanilla* getNodeMap(); +} + +struct facebook::yoga::vanillajni::LayoutContext::Provider { + public Provider(PtrJNodeMapVanilla* data); + public ~Provider(); +} + +class facebook::yoga::vanillajni::YogaJniException : public std::exception { + public YogaJniException(); + public YogaJniException(const facebook::yoga::vanillajni::YogaJniException& rhs); + public YogaJniException(facebook::yoga::vanillajni::YogaJniException&& rhs) noexcept; + public YogaJniException(jthrowable throwable); + public facebook::yoga::vanillajni::ScopedLocalRef getThrowable() const noexcept; + public ~YogaJniException() override; +} + +template +class facebook::yoga::vanillajni::ScopedGlobalRef { + public ScopedGlobalRef(); + public ScopedGlobalRef(T globalRef); + public ScopedGlobalRef(const facebook::yoga::vanillajni::ScopedGlobalRef& ref) = delete; + public ScopedGlobalRef(facebook::yoga::vanillajni::ScopedGlobalRef&& s) noexcept; + public T get() const; + public T release(); + public facebook::yoga::vanillajni::ScopedGlobalRef& operator=(const facebook::yoga::vanillajni::ScopedGlobalRef& other) = delete; + public facebook::yoga::vanillajni::ScopedGlobalRef& operator=(facebook::yoga::vanillajni::ScopedGlobalRef&& s) noexcept; + public operator bool() const; + public void reset(T ptr = NULL); + public ~ScopedGlobalRef(); +} + +template +class facebook::yoga::vanillajni::ScopedLocalRef { + public ScopedLocalRef(JNIEnv* env); + public ScopedLocalRef(JNIEnv* env, T localRef); + public ScopedLocalRef(const facebook::yoga::vanillajni::ScopedLocalRef& ref) = delete; + public ScopedLocalRef(facebook::yoga::vanillajni::ScopedLocalRef&& s) noexcept; + public T get() const; + public T release(); + public facebook::yoga::vanillajni::ScopedLocalRef& operator=(const facebook::yoga::vanillajni::ScopedLocalRef& other) = delete; + public facebook::yoga::vanillajni::ScopedLocalRef& operator=(facebook::yoga::vanillajni::ScopedLocalRef&& s) noexcept; + public operator bool() const; + public void reset(T ptr = NULL); + public ~ScopedLocalRef(); +} + + +void facebook::gloginit::initialize(const char* tag = "ReactNativeJNI"); + + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString& attributedString) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Color& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Point& point) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Rect& rect) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::ShadowView& shadowView) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::SharedColor& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Size& size) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextEffectInfo& info) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Transform& transform) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleCorners& corners) const noexcept; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + + +void YGJNIVanilla::registerNatives(JNIEnv* env); \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api index b53bb3d44cf7..e61666350cc0 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api @@ -319,86 +319,6 @@ union jvalue { } -bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); -double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); -int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); -std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); - -class facebook::xplat::JsArgumentException : public std::logic_error { - public JsArgumentException(const std::string& msg); -} - - -class facebook::xplat::module::CxxModule { - public static constexpr AsyncTagType AsyncTag; - public static constexpr SyncTagType SyncTag; - public std::weak_ptr getInstance(); - public using Callback = std::function)>; - public using Provider = std::function()>; - public virtual std::map getConstants(); - public virtual std::string getName() = 0; - public virtual std::vector getMethods() = 0; - public virtual ~CxxModule() = default; - public void setInstance(std::weak_ptr instance); -} - -struct facebook::xplat::module::CxxModule::Method { - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc, AsyncTagType); - public bool isPromise; - public const char* getType(); - public size_t callbacks; - public std::function syncFunc; - public std::function func; - public std::string name; - template - public Method(std::string aname, T* t, void(T::*method)()); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); -} - - -std::string facebook::xplat::detail::toStringHelper(); -template -R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); -template -std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); -template -std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); - -template -struct facebook::xplat::detail::is_dynamic { - public using type = typename std::enable_if::value, T>::type; -} - - class facebook::hermes::IHermes : public facebook::jsi::ICast { protected ~IHermes() = default; public static constexpr facebook::jsi::UUID uuid; @@ -453,136 +373,26 @@ struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { } -const char facebook::react::AndroidHorizontalScrollContentViewShadowNodeComponentName[]; -const char facebook::react::AndroidProgressBarComponentName[]; -const char facebook::react::AndroidSwitchComponentName[]; -const char facebook::react::AndroidTextInputComponentName[]; -const char facebook::react::ImageComponentName[]; -const char facebook::react::ImageFetcherKey[]; -const char facebook::react::ImageManagerKey[]; -const char facebook::react::LegacyViewManagerAndroidInteropComponentName[]; -const char facebook::react::LegacyViewManagerInteropComponentName[]; -const char facebook::react::ModalHostViewComponentName[]; -const char facebook::react::ParagraphComponentName[]; -const char facebook::react::RawTextComponentName[]; -const char facebook::react::RootComponentName[]; -const char facebook::react::RuntimeSchedulerKey[]; -const char facebook::react::SafeAreaViewComponentName[]; -const char facebook::react::ScrollViewComponentName[]; -const char facebook::react::TextComponentName[]; -const char facebook::react::TextEffectComponentName[]; -const char facebook::react::UnimplementedViewComponentName[]; const char facebook::react::ViewComponentName[]; const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; -constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; constexpr auto facebook::react::rncore_ModuleProvider; constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; -constexpr char facebook::react::VirtualViewComponentName[]; -constexpr char* const facebook::react::TextLayoutManagerKey; -constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; -constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; constexpr facebook::react::Tag facebook::react::kNoTag; -constexpr float facebook::react::kDefaultEpsilon; -constexpr size_t facebook::react::EVENT_BUFFER_SIZE; -constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; -constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; static constexpr auto facebook::react::kPropNameLengthHardCap; -static constexpr double facebook::react::SingleFrameIntervalMs; -static constexpr double facebook::react::TicksPerMs; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_BASE_ATTRIBUTES; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_CACHE_ID; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_FRAGMENTS; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_HASH; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_STRING; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_HEIGHT; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_IS_ATTACHMENT; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_REACT_TAG; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_STRING; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_TEXT_ATTRIBUTES; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_WIDTH; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_ADJUST_FONT_SIZE_TO_FIT; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_ELLIPSIZE_MODE; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_HYPHENATION_FREQUENCY; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_INCLUDE_FONT_PADDING; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MAX_NUMBER_OF_LINES; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MINIMUM_FONT_SCALE; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MINIMUM_FONT_SIZE; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_ALIGN_VERTICAL; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_BREAK_STRATEGY; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_WIDTH_MODE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ACCESSIBILITY_ROLE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALIGNMENT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALIGNMENT_VERTICAL; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALLOW_FONT_SCALING; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_BACKGROUND_COLOR; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_BEST_WRITING_DIRECTION; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_FAMILY; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_SIZE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_SIZE_MULTIPLIER; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_STYLE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_VARIANT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_VARIATION_SETTINGS; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_WEIGHT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FOREGROUND_COLOR; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_IS_HIGHLIGHTED; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LAYOUT_DIRECTION; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LETTER_SPACING; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LINE_BREAK_STRATEGY; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LINE_HEIGHT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_MAX_FONT_SIZE_MULTIPLIER; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_OPACITY; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ROLE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_COLOR; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_LINE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_STYLE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_EFFECTS; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_COLOR; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_OFFSET_DX; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_OFFSET_DY; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_RADIUS; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_TRANSFORM; -static constexpr facebook::react::MapBuffer::Key facebook::react::TE_KEY_NAME; -static constexpr facebook::react::MapBuffer::Key facebook::react::TE_KEY_PROPS; -static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_ATTRIBUTED_STRING; -static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_HASH; -static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_MOST_RECENT_EVENT_COUNT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_PARAGRAPH_ATTRIBUTES; static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; -static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; -static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; -static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; -template -using facebook::react::CSSCompoundDataType = std::variant; -template -using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; -template -using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; -template -using facebook::react::EventListenerT = std::function; -typedef std::function facebook::react::ValueListenerCallback; -typedef std::tuple facebook::react::RectAsTuple; -using facebook::react::ActivePointerRegistry = std::unordered_map; using facebook::react::ActivityIndicatorViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::ActivityIndicatorViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::ActivityIndicatorViewState = facebook::react::StateData; using facebook::react::AndroidDrawerLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::AndroidDrawerLayoutShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::AndroidDrawerLayoutState = facebook::react::StateData; -using facebook::react::AndroidHorizontalScrollContentViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::AndroidSwipeRefreshLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::AndroidSwipeRefreshLayoutShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::AndroidSwipeRefreshLayoutState = facebook::react::StateData; -using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; -using facebook::react::AnimationTimestamp = std::chrono::duration; -using facebook::react::BackgroundExecutor = std::function&& callback)>; using facebook::react::BackgroundImage = std::variant; using facebook::react::BackgroundSize = std::variant; using facebook::react::BorderColors = facebook::react::RectangleEdges; @@ -590,22 +400,7 @@ using facebook::react::BorderCurves = facebook::react::RectangleCorners; using facebook::react::BorderStyles = facebook::react::RectangleEdges; using facebook::react::BorderWidths = facebook::react::RectangleEdges; -using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSPreservedToken = facebook::react::CSSToken; -using facebook::react::CSSRadialGradientSize = std::variant; -using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; using facebook::react::CallFunc = std::function; -using facebook::react::Callback = std::function; -using facebook::react::CallbackHandle = facebook::jsi::Object; -using facebook::react::CallbackId = uint64_t; -using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; @@ -615,139 +410,58 @@ using facebook::react::ComponentDescriptorConstructor = facebook::react::Compone using facebook::react::ComponentDescriptorProviderRequest = std::function; using facebook::react::ComponentHandle = int64_t; using facebook::react::ComponentName = const char*; -using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; using facebook::react::CornerInsets = facebook::react::RectangleCorners; using facebook::react::DebuggingOverlayComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::DebuggingOverlayShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::DebuggingOverlayState = facebook::react::StateData; -using facebook::react::DispatchEvent = std::function; using facebook::react::EdgeInsets = facebook::react::RectangleEdges; -using facebook::react::EndResult = facebook::react::NativeAnimatedTurboModuleEndResult, std::optional>; -using facebook::react::EventEmitterListener = facebook::react::EventListenerT; -using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; using facebook::react::EventListener = std::function; using facebook::react::EventPipe = std::function; using facebook::react::EventPipeConclusion = std::function; using facebook::react::EventTag = unsigned int; using facebook::react::Float = float; -using facebook::react::GarbageCollectionTrigger = std::function; using facebook::react::GradientDirection = std::variant; -using facebook::react::HasComponentProviderFunctionType = std::function; -using facebook::react::Headers = std::map; using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; using facebook::react::ImageSources = std::vector; -using facebook::react::InteractionTypesMap = std::unordered_map; -using facebook::react::IntersectionObserverObserverId = int32_t; -using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::LegacyViewManagerAndroidInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::LinesMeasurements = std::vector; -using facebook::react::Logger = std::function; -using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MethodCallResult = std::optional; using facebook::react::ModalHostViewSupportedOrientationsMask = uint32_t; -using facebook::react::MountingTransactionCallback = std::function; -using facebook::react::MutationObserverId = int32_t; -using facebook::react::NativeIntersectionObserverEntry = facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry; -using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; -using facebook::react::NativeIntersectionObserverObserveOptions = facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; using facebook::react::NativeMethodCallFunc = std::function; -using facebook::react::NativeMutationObserverObserveOptions = facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions, bool>; -using facebook::react::NativeMutationRecord = facebook::react::NativeMutationObserverNativeMutationRecord, std::vector>; -using facebook::react::NativePartialReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; -using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; -using facebook::react::NativePerformancePerformanceObserverObserveOptions = facebook::react::NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; -using facebook::react::NativeReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; -using facebook::react::NativeRequestIdleCallbackOptions = facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions>; -using facebook::react::NativeResizeObserverEntry = facebook::react::NativeResizeObserverNativeResizeObserverEntry; -using facebook::react::NativeResizeObserverNotifyCallback = facebook::react::SyncCallback; -using facebook::react::NativeResizeObserverObserveOptions = facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions, std::optional>; -using facebook::react::OnMutations = std::function&)>; -using facebook::react::ParagraphProps = facebook::react::HostPlatformParagraphProps; -using facebook::react::PerformanceEntry = std::variant; -using facebook::react::PerformanceEntryInteractionId = uint32_t; -using facebook::react::PerformanceObserverCallback = std::function; -using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; -using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; -using facebook::react::PointerIdentifier = int32_t; using facebook::react::PromiseSetupFunctionType = std::function)>; using facebook::react::PullToRefreshViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::PullToRefreshViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::PullToRefreshViewState = facebook::react::StateData; -using facebook::react::RawCallback = std::function; using facebook::react::RawPropsPropNameHash = uint32_t; using facebook::react::RawPropsPropNameLength = uint16_t; using facebook::react::RawPropsValueIndex = uint16_t; -using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ResizeObserverObserverId = int32_t; -using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::RuntimeExecutor = std::function&& callback)>; -using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; -using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; -using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ScrollViewProps = facebook::react::HostPlatformScrollViewProps; -using facebook::react::ShadowTreeCommitTransaction = std::function; -using facebook::react::ShadowViewMutationList = std::vector; using facebook::react::SharedComponentDescriptor = std::shared_ptr; using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; using facebook::react::SharedEventEmitter = std::shared_ptr; using facebook::react::SharedEventPayload = std::shared_ptr; using facebook::react::SharedEventTarget = std::shared_ptr; -using facebook::react::SharedParagraphAttributes = std::shared_ptr; -using facebook::react::SharedRawTextProps = std::shared_ptr; -using facebook::react::SharedScrollViewProps = std::shared_ptr; using facebook::react::SharedShadowNodeFamily = std::shared_ptr; -using facebook::react::SharedTextAttributes = std::shared_ptr; using facebook::react::SharedTouchEventEmitter = std::shared_ptr; using facebook::react::SharedViewEventEmitter = std::shared_ptr; using facebook::react::SharedViewProps = std::shared_ptr; -using facebook::react::SizeAsTuple = std::tuple; -using facebook::react::SnapshotMap = std::unordered_map>; using facebook::react::StatePipe = std::function; using facebook::react::SurfaceId = int32_t; using facebook::react::Tag = int32_t; using facebook::react::TelemetryClock = std::chrono::steady_clock; using facebook::react::TelemetryDuration = std::chrono::nanoseconds; using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; -using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; -using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); -using facebook::react::TimerHandle = int; -using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; using facebook::react::Touch = facebook::react::HostPlatformTouch; using facebook::react::Touches = std::unordered_set; -using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; using facebook::react::TracingStateListener = std::function; using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; -using facebook::react::UiTask = std::function; using facebook::react::UnimplementedNativeViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::UnimplementedNativeViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::UnimplementedNativeViewState = facebook::react::StateData; -using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::UserTimingDetailProvider = std::function; using facebook::react::ValueFactory = std::function; using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; -using facebook::react::ViewNodePairScope = std::deque; using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; using facebook::react::ViewShadowNodeProps = facebook::react::ViewProps; -using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); -template -concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; -template -concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && - ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; template concept facebook::react::StateDataWithJNIReference = requires(StateDataT stateData) { { stateData.getJNIReference() } -> std::same_as>; @@ -756,51 +470,6 @@ template concept facebook::react::StateDataWithMapBuffer = requires(StateDataT stateData) { { stateData.getMapBuffer() } -> std::same_as; }; -template -concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { - { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { - { T::consume(parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { - { T::consumePreservedToken(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { - { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && - !CSSParserSink) || -CSSParserSink; -template -concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& - (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); -template -concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(func, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { - { visitor(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(block, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; -template -concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; -template -concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; -template -concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; -template -concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; template concept facebook::react::DeclaresOwnSetProp = std::is_same_v; template @@ -818,51 +487,18 @@ template concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { { T::filterRawProps(rawProps) } -> std::same_as; }; -template -concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( - TextLayoutManagerT textLayoutManager, - facebook::react::AttributedString attributedString, - facebook::react::ParagraphAttributes paragraphAttributes, - facebook::react::TextLayoutContext layoutContext, - facebook::react::LayoutConstraints layoutConstraints, - typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { - sizeof(typename TextLayoutManagerT::PreparedTextLayout); - { - textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) - } -> std::same_as; - { - textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) - } -> std::same_as; -}; AAssetManager* facebook::react::extractAssetManager(jni::alias_ref assetManager); JSI_EXPORT std::shared_ptr facebook::react::FBReactNativeSpec_ModuleProvider(const std::string& moduleName, const facebook::react::JavaTurboModule::InitParams& params); YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); -bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); -bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); bool facebook::react::areBorderRadiiCircular(const facebook::react::BorderRadii& borderRadii); -bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); -bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); bool facebook::react::hostPlatformColorIsColorMeaningful(facebook::react::Color color) noexcept; bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); bool facebook::react::isZero(facebook::react::Float n); const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); -const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); -const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); constexpr auto facebook::react::to_underlying(auto e) noexcept; -constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); constexpr char facebook::react::toLower(char c); -constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); -constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); -constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); -double facebook::react::ceil(double value) noexcept; -double facebook::react::floor(double value) noexcept; -double facebook::react::getCPUTimeNanos(); -double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); -double facebook::react::round(double value) noexcept; facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); facebook::react::AnimatedPropsBuffer facebook::react::encodeAnimatedProps(const std::unordered_map& updates); facebook::react::Color facebook::react::hostPlatformColorFromComponents(facebook::react::ColorComponents components); @@ -870,33 +506,19 @@ facebook::react::Color facebook::react::hostPlatformColorFromRGBA(uint8_t r, uin facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); facebook::react::ColorComponents facebook::react::colorComponentsFromHostPlatformColor(facebook::react::Color color); facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); -facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); -facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); facebook::react::Float facebook::react::floatFromYogaFloat(float value); facebook::react::Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); -facebook::react::MapBuffer facebook::react::serializeImageRequests(const std::vector& items); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::AttributedString& attributedString); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::AttributedString::Fragment& fragment); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::FontVariant& fontVariant); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::ParagraphAttributes& paragraphAttributes); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::ParagraphState& paragraphState); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::TextAttributes& textAttributes); -facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); -facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); -facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); facebook::react::SharedColor facebook::react::blackColor(); facebook::react::SharedColor facebook::react::clearColor(); -facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); facebook::react::SharedColor facebook::react::parsePlatformColor(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value); facebook::react::SharedColor facebook::react::whiteColor(); -facebook::react::Size facebook::react::ModalHostViewScreenSize(void); facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); @@ -905,17 +527,12 @@ facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(facebook::react::Float value); float facebook::react::alphaFromHostPlatformColor(facebook::react::Color color); float facebook::react::blueFromHostPlatformColor(facebook::react::Color color); -float facebook::react::ceil(float value) noexcept; -float facebook::react::floor(float value) noexcept; float facebook::react::greenFromHostPlatformColor(facebook::react::Color color); float facebook::react::redFromHostPlatformColor(facebook::react::Color color); -float facebook::react::round(float value) noexcept; float facebook::react::yogaFloatFromFloat(facebook::react::Float value); folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); folly::dynamic facebook::react::toDynamic(const YGValue& dimension); -folly::dynamic facebook::react::toDynamic(const facebook::react::AndroidProgressBarProps& props); -folly::dynamic facebook::react::toDynamic(const facebook::react::AndroidTextInputTextShadowOffsetStruct& value); folly::dynamic facebook::react::toDynamic(const facebook::react::BackgroundImage& backgroundImage); folly::dynamic facebook::react::toDynamic(const facebook::react::BoxShadow& boxShadow); folly::dynamic facebook::react::toDynamic(const facebook::react::EdgeInsets& edgeInsets); @@ -923,7 +540,6 @@ folly::dynamic facebook::react::toDynamic(const facebook::react::FilterFunction& folly::dynamic facebook::react::toDynamic(const facebook::react::ImageSource& imageSource); folly::dynamic facebook::react::toDynamic(const facebook::react::Point& point); folly::dynamic facebook::react::toDynamic(const facebook::react::SharedColor& sharedColor); -folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); @@ -934,88 +550,32 @@ folly::dynamic facebook::react::toDynamic(uint32_t value); int facebook::react::toAndroidRepr(const facebook::react::SharedColor& color); int facebook::react::toInt(const facebook::react::DisplayType& displayType); int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); -long double facebook::react::ceil(long double value) noexcept; -long double facebook::react::floor(long double value) noexcept; -long double facebook::react::round(long double value) noexcept; -size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); std::optional facebook::react::blendModeFromString(std::string_view blendModeName); std::optional facebook::react::filterTypeFromString(std::string_view filterName); -std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); -std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); std::optional facebook::react::isolationFromString(std::string_view isolationSetting); -std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); -std::string facebook::react::base64Encode(const std::string_view s); -std::string facebook::react::componentNameByReactViewName(std::string viewName); -std::string facebook::react::generateRandomUuidString(); std::string facebook::react::toString(const double& value); std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); -std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); -std::string facebook::react::toString(const facebook::react::DataDetectorType& value); std::string facebook::react::toString(const facebook::react::DisplayType& displayType); -std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); -std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); std::string facebook::react::toString(const facebook::react::FilterType& filterType); -std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); -std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); -std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); -std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); std::string facebook::react::toString(const facebook::react::ImageSource& value); std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); -std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); -std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); std::string facebook::react::toString(const facebook::react::Role& role); -std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); std::string facebook::react::toString(const facebook::react::SharedColor& value); -std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); -std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); -std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); -std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); -std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); -std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); -std::string facebook::react::toString(const facebook::react::TextWidthMode& textWidthMode); -std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); std::string facebook::react::toString(double doubleValue, char suffix); std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); std::string facebook::react::toString(facebook::react::PointerEventsMode value); -std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); std::unique_ptr facebook::react::loadScriptFromAssets(AAssetManager* assetManager, const std::string& assetName); std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); -std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); -std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); -template -constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); -template -constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); -template -facebook::react::Float facebook::react::roundToPixel(facebook::react::Float value, facebook::react::Float scaleFactor); -template -facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, facebook::react::Float scaleFactor); -template -facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, facebook::react::Float scaleFactor); -template -facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, facebook::react::Float scaleFactor); template std::size_t facebook::react::hash_combine(const T& v, const Args &... args); template void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); template void facebook::react::hash_combine_optionals(std::size_t& seed, const std::optional &... optionals); -template ::type> -facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); -template -constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); -template -constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); template constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; template @@ -1027,12 +587,6 @@ DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); template T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue); template -T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); -template -T facebook::react::get(const std::unique_ptr& animatedProp); -template -bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); -template folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); template jni::local_ref> facebook::react::makeJWeakReference(jni::alias_ref ref); @@ -1054,11 +608,6 @@ uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noex uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; void facebook::react::FBReactNativeSpec_registerComponentDescriptorsFromCodegen(std::shared_ptr registry); void facebook::react::addDynamicToJArray(jni::alias_ref> jarray, jint index, const folly::dynamic& dyn); -void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); -void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); -void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); -void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); -void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); void facebook::react::ensureThreadDurationJNIEnvAttached(); void facebook::react::fromRawValue(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); @@ -1068,36 +617,17 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); @@ -1108,24 +638,16 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::DataDetectorType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::EdgeInsets& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageResizeMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageSource& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); @@ -1134,15 +656,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); -void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); -void facebook::react::handleJSError(facebook::jsi::Runtime& runtime, const facebook::jsi::JSError& error, bool isFatal); -void facebook::react::mergeAnimatedRawProps(folly::dynamic& target, const folly::dynamic& source); -void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); -void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); -void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); void facebook::react::reactAndroidLoggingHook(const std::string& message, unsigned int logLevel); void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); @@ -1150,17 +663,10 @@ void facebook::react::serializeTransformAxis(const facebook::react::TransformOpe void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); -void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); -void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); -bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); -bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); -bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); -bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; -bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); constexpr bool facebook::react::operator&(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); @@ -1232,11 +738,6 @@ class facebook::react::ActivityIndicatorViewProps : public facebook::react::Host public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - class facebook::react::AndroidAnimationChoreographer : public facebook::react::AnimationChoreographer { public virtual void pause() override; public virtual void resume() override; @@ -1295,25 +796,9 @@ class facebook::react::AndroidHorizontalScrollContentViewProps : public facebook public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidHorizontalScrollContentViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidHorizontalScrollContentViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidHorizontalScrollContentViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public virtual void layout(facebook::react::LayoutContext layoutContext) override; -} - -class facebook::react::AndroidProgressBarComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public AndroidProgressBarComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::AndroidProgressBarEventEmitter : public facebook::react::BaseViewEventEmitter { } -class facebook::react::AndroidProgressBarMeasurementsManager { - public AndroidProgressBarMeasurementsManager(const std::shared_ptr& contextContainer); - public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, const facebook::react::AndroidProgressBarProps& props, facebook::react::LayoutConstraints layoutConstraints) const; -} - class facebook::react::AndroidProgressBarProps : public facebook::react::HostPlatformViewProps { public AndroidProgressBarProps() = default; public AndroidProgressBarProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidProgressBarProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -1328,14 +813,6 @@ class facebook::react::AndroidProgressBarProps : public facebook::react::HostPla public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidProgressBarShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidProgressBarShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidProgressBarShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public void setAndroidProgressBarMeasurementsManager(const std::shared_ptr& measurementsManager); -} - class facebook::react::AndroidSwipeRefreshLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { public void onRefresh(facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh value) const; } @@ -1356,11 +833,6 @@ class facebook::react::AndroidSwipeRefreshLayoutProps : public facebook::react:: public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidSwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public AndroidSwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::AndroidSwitchEventEmitter : public facebook::react::BaseViewEventEmitter { public void onChange(facebook::react::AndroidSwitchEventEmitter::OnChange value) const; } @@ -1370,11 +842,6 @@ struct facebook::react::AndroidSwitchEventEmitter::OnChange { public int target; } -class facebook::react::AndroidSwitchMeasurementsManager { - public AndroidSwitchMeasurementsManager(const std::shared_ptr& contextContainer); - public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, facebook::react::LayoutConstraints layoutConstraints) const; -} - class facebook::react::AndroidSwitchProps : public facebook::react::HostPlatformViewProps { public AndroidSwitchProps() = default; public AndroidSwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwitchProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -1391,235 +858,6 @@ class facebook::react::AndroidSwitchProps : public facebook::react::HostPlatform public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidSwitchShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidSwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidSwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public void setAndroidSwitchMeasurementsManager(const std::shared_ptr& measurementsManager); -} - -class facebook::react::AndroidTextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public AndroidTextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; -} - -class facebook::react::AndroidTextInputEventEmitter : public facebook::react::BaseViewEventEmitter { -} - -class facebook::react::AndroidTextInputProps : public facebook::react::BaseTextInputProps { - public AndroidTextInputProps() = default; - public AndroidTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool allowFontScaling; - public bool autoCorrect; - public bool caretHidden; - public bool contextMenuHidden; - public bool disableFullscreenUI; - public bool hasPadding; - public bool hasPaddingBottom; - public bool hasPaddingEnd; - public bool hasPaddingHorizontal; - public bool hasPaddingLeft; - public bool hasPaddingRight; - public bool hasPaddingStart; - public bool hasPaddingTop; - public bool hasPaddingVertical; - public bool includeFontPadding; - public bool secureTextEntry; - public bool selectTextOnFocus; - public bool showSoftInputOnFocus; - public facebook::react::AndroidTextInputTextShadowOffsetStruct textShadowOffset; - public facebook::react::Float fontSize; - public facebook::react::Float letterSpacing; - public facebook::react::Float lineHeight; - public facebook::react::Float maxFontSizeMultiplier; - public facebook::react::Float textShadowRadius; - public facebook::react::SharedColor color; - public facebook::react::SharedColor textShadowColor; - public folly::dynamic getDynamic() const; - public int inlineImagePadding; - public int numberOfLines; - public std::string autoComplete; - public std::string fontFamily; - public std::string fontStyle; - public std::string fontWeight; - public std::string importantForAutofill; - public std::string inlineImageLeft; - public std::string keyboardType; - public std::string returnKeyLabel; - public std::string returnKeyType; - public std::string textAlign; - public std::string textBreakStrategy; - public std::string textDecorationLine; - public std::string textTransform; - public std::string value; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::AndroidTextInputShadowNode : public facebook::react::ConcreteViewShadowNode { - protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; - protected std::shared_ptr textLayoutManager_; - protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - protected virtual void layout(facebook::react::LayoutContext layoutContext) override; - public AndroidTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - -class facebook::react::AndroidTextInputState { - public AndroidTextInputState() = default; - public AndroidTextInputState(const facebook::react::AndroidTextInputState& previousState, const folly::dynamic& data); - public AndroidTextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); - public facebook::react::AttributedString reactTreeAttributedString; - public facebook::react::AttributedStringBox attributedStringBox; - public facebook::react::MapBuffer getMapBuffer() const; - public facebook::react::ParagraphAttributes paragraphAttributes; - public folly::dynamic getDynamic() const; - public int64_t cachedAttributedStringId; - public int64_t mostRecentEventCount; -} - -class facebook::react::AnimatedModule : public facebook::react::NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { - public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); - public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); - public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); - public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); - public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); - public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void finishOperationBatch(facebook::jsi::Runtime& rt); - public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); - public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); - public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); - public void removeListeners(facebook::jsi::Runtime& rt, int count); - public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); - public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); - public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); - public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void startOperationBatch(facebook::jsi::Runtime& rt); - public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); - public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); -} - -class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { - public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; -} - -class facebook::react::AnimatedNode { - protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); - protected facebook::react::AnimatedNodeType type_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag tag_; - protected std::unordered_set children_; - public AnimatedNode(const facebook::react::AnimatedNode&) = default; - public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; - public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); - public const folly::dynamic& getConfig() const noexcept; - public const std::unordered_set& getChildren() const noexcept; - public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; - public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; - public facebook::react::AnimatedNodeType type() const noexcept; - public facebook::react::Tag tag() const noexcept; - public int activeIncomingNodes; - public int bfsColor; - public static constexpr int INITIAL_BFS_COLOR; - public static std::optional getNodeTypeByName(const std::string& nodeTypeName); - public virtual void onAttachToNode(facebook::react::Tag); - public virtual void onDetachedFromNode(facebook::react::Tag); - public virtual void update(); - public virtual ~AnimatedNode() = default; - public void addChild(facebook::react::Tag tag); - public void removeChild(facebook::react::Tag tag); -} - -class facebook::react::AnimatedPropsRegistry { - public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); - public void clear(facebook::react::SurfaceId surfaceId); - public void clearOnSurfaceStop(facebook::react::SurfaceId surfaceId); - public void initializeSurface(facebook::react::SurfaceId surfaceId); - public void update(const std::vector& batches); -} - -class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { - public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); - public using PauseCallback = std::function; - public using ResumeCallback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) override; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; - public virtual void stop(facebook::react::CallbackId callbackId) override; - public virtual void trigger() override; - public void requestAsyncFlushForSurfaces(const std::set& surfaces); - public void synchronouslyUpdateProps(const std::unordered_map& updates); - public ~AnimationBackend() override; -} - -class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { - public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; -} - -class facebook::react::AnimationChoreographer { - public virtual facebook::react::AnimationTimestamp now() const; - public virtual void pause() = 0; - public virtual void resume() = 0; - public virtual ~AnimationChoreographer() = default; - public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; - public void setAnimationBackend(std::weak_ptr animationBackend); -} - -class facebook::react::AnimationDriver { - protected bool ignoreCompletedHandlers_; - protected bool isComplete_; - protected bool isStarted_; - protected double startFrameTimeMs_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag animatedValueTag_; - protected folly::dynamic config_; - protected int currentIteration_; - protected int id_; - protected int iterations_; - protected std::optional endCallback_; - protected virtual bool update(double, bool); - protected void markNodeUpdated(facebook::react::Tag tag); - public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); - public bool getIsComplete() const noexcept; - public facebook::react::Tag getAnimatedValueTag() const noexcept; - public int getId() const noexcept; - public static std::optional getDriverTypeByName(const std::string& driverTypeName); - public virtual void updateConfig(folly::dynamic config); - public virtual ~AnimationDriver() = default; - public void runAnimationStep(double renderingTime); - public void startAnimation(); - public void stopAnimation(bool ignoreCompletedHandlers = false); -} - -class facebook::react::AppRegistryBinding { - public AppRegistryBinding() = delete; - public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); -} - class facebook::react::AsyncArrayBuffer { public AsyncArrayBuffer(const facebook::react::AsyncArrayBuffer&) = delete; public AsyncArrayBuffer(facebook::react::AsyncArrayBuffer&&) noexcept = default; @@ -1638,153 +876,6 @@ class facebook::react::AsyncArrayBuffer { public ~AsyncArrayBuffer() = default; } -class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { - public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; - public bool isContentEqual(const facebook::react::AttributedString& rhs) const; - public bool isEmpty() const; - public bool operator==(const facebook::react::AttributedString& rhs) const; - public const facebook::react::AttributedString::Fragments& getFragments() const; - public const facebook::react::TextAttributes& getBaseTextAttributes() const; - public facebook::react::AttributedString::Fragments& getFragments(); - public std::string getString() const; - public using Fragments = std::vector; - public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); - public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); - public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); -} - -class facebook::react::AttributedString::Fragment { - public bool isAttachment() const; - public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; - public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; - public facebook::react::ShadowView parentShadowView; - public facebook::react::TextAttributes textAttributes; - public static std::string AttachmentCharacter(); - public std::string string; -} - -class facebook::react::AttributedString::Range { - public int length; - public int location; -} - -class facebook::react::AttributedStringBox { - public AttributedStringBox(); - public AttributedStringBox(const facebook::react::AttributedString& value); - public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; - public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; - public AttributedStringBox(std::shared_ptr opaquePointer); - public const facebook::react::AttributedString& getValue() const; - public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; - public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; - public facebook::react::AttributedStringBox::Mode getMode() const; - public std::shared_ptr getOpaquePointer() const; -} - -enum facebook::react::AttributedStringBox::Mode { - OpaquePointer, - Value, -} - -class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseParagraphProps() = default; - public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool isSelectable; - public bool onTextLayout; - public facebook::react::ParagraphAttributes paragraphAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { - public BaseScrollViewProps() = default; - public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool alwaysBounceHorizontal; - public bool alwaysBounceVertical; - public bool automaticallyAdjustContentInsets; - public bool automaticallyAdjustKeyboardInsets; - public bool automaticallyAdjustsScrollIndicatorInsets; - public bool bounces; - public bool bouncesZoom; - public bool canCancelContentTouches; - public bool centerContent; - public bool directionalLockEnabled; - public bool disableIntervalMomentum; - public bool horizontal; - public bool isInvertedVirtualizedList; - public bool pagingEnabled; - public bool persistentScrollbar; - public bool pinchGestureEnabled; - public bool scrollEnabled; - public bool scrollToOverflowEnabled; - public bool scrollsToTop; - public bool showsHorizontalScrollIndicator; - public bool showsVerticalScrollIndicator; - public bool snapToEnd; - public bool snapToStart; - public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; - public facebook::react::EdgeInsets contentInset; - public facebook::react::EdgeInsets scrollIndicatorInsets; - public facebook::react::Float decelerationRate; - public facebook::react::Float endDraggingSensitivityMultiplier; - public facebook::react::Float maximumZoomScale; - public facebook::react::Float minimumZoomScale; - public facebook::react::Float scrollEventThrottle; - public facebook::react::Float snapToInterval; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::ScrollViewIndicatorStyle indicatorStyle; - public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; - public facebook::react::ScrollViewSnapToAlignment snapToAlignment; - public std::optional maintainVisibleContentPosition; - public std::vector snapToOffsets; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseTextInputProps() = default; - public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool autoFocus; - public bool disableKeyboardShortcuts; - public bool editable; - public bool multiline; - public bool readOnly; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::SharedColor cursorColor; - public facebook::react::SharedColor placeholderTextColor; - public facebook::react::SharedColor selectionColor; - public facebook::react::SharedColor selectionHandleColor; - public facebook::react::SharedColor underlineColorAndroid; - public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; - public facebook::react::SubmitBehavior submitBehavior; - public facebook::react::TextAttributes getEffectiveTextAttributes(facebook::react::Float fontSizeMultiplier) const; - public int maxLength; - public int mostRecentEventCount; - public std::optional> acceptDragAndDropTypes; - public std::string autoCapitalize; - public std::string defaultValue; - public std::string placeholder; - public std::string text; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextProps { - public BaseTextProps() = default; - public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::TextAttributes textAttributes; - public void appendTextAttributesProps(folly::dynamic& result, const facebook::react::BaseTextProps* prevProps) const; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextShadowNode { - public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); - public using Attachments = std::vector; -} - -class facebook::react::BaseTextShadowNode::Attachment { - public const facebook::react::ShadowNode* shadowNode; - public size_t fragmentIndex; -} - class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { public void onAccessibilityAction(const std::string& name) const; public void onAccessibilityEscape() const; @@ -1841,16 +932,6 @@ class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { - public BigStringBuffer(std::unique_ptr script); - public virtual const uint8_t* data() const override; - public virtual size_t size() const override; -} - -class facebook::react::BindingsInstaller { - public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); -} - class facebook::react::BindingsInstallerHolder : public jni::HybridClass { public static constexpr auto kJavaDescriptor; public using BindingsInstallFunc = std::function& callInvoker)>; @@ -1868,72 +949,6 @@ class facebook::react::BlobModuleJSIBindings : public jni::JavaClass messageQueueThread); - public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; - public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; -} - -class facebook::react::BufferedRuntimeExecutor : public std::enable_shared_from_this { - public BufferedRuntimeExecutor(facebook::react::BufferedRuntimeExecutor::Executor executor); - public facebook::react::RuntimeExecutor asRuntimeExecutor(); - public facebook::react::RuntimeExecutor asWeakRuntimeExecutor(); - public using Executor = std::function; - public using Work = std::function; - public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void execute(facebook::react::SchedulerPriority priority, facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void flush(); -} - -class facebook::react::CSSSyntaxParser { - public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; - public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; - public constexpr CSSSyntaxParser(std::string_view css); - public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); - public constexpr bool isFinished() const; - public constexpr const facebook::react::CSSToken& peek() const; - public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; - public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; - public constexpr void consumeWhitespace(); - template - public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); - template - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); -} - -class facebook::react::CSSToken { - public constexpr CSSToken(const facebook::react::CSSToken& other) = default; - public constexpr CSSToken(facebook::react::CSSToken&& other) = default; - public constexpr CSSToken(facebook::react::CSSTokenType type); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); - public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); - public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; - public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; - public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; - public constexpr facebook::react::CSSTokenType type() const; - public constexpr float numericValue() const; - public constexpr std::string_view stringValue() const; - public constexpr std::string_view unit() const; -} - -class facebook::react::CSSTokenizer { - public constexpr CSSTokenizer(std::string_view characters); - public constexpr facebook::react::CSSToken next(); -} - -class facebook::react::CSSValueParser { - public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; - public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); - public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; - public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); - public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); -} - class facebook::react::CallInvoker { public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; @@ -1948,13 +963,6 @@ class facebook::react::CallInvokerHolder : public jni::HybridClass getCallInvoker(); } -class facebook::react::CallInvokerImpl : public facebook::react::CallInvoker { - public CallInvokerImpl(std::shared_ptr bufferedRuntimeExecutor, std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { public facebook::jsi::Function& callback() noexcept; public facebook::jsi::Runtime& runtime() noexcept; @@ -1964,32 +972,6 @@ class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject public void destroy(); } -class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; -} - -class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; -} - -class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { - public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::Color getColor(); - public virtual void update() override; -} - -class facebook::react::ComponentBuilder { - public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; - public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; - public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); - public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; - public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; - template - public std::shared_ptr build(facebook::react::Element element) const; -} - class facebook::react::ComponentDescriptor { protected facebook::react::ComponentDescriptor::Flavor flavor_; protected facebook::react::EventDispatcher::Weak eventDispatcher_; @@ -2095,11 +1077,6 @@ class facebook::react::DebuggingOverlayProps : public facebook::react::HostPlatf public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - class facebook::react::DefaultComponentsRegistry : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; public static std::function)> registerCodegenComponentDescriptorsFromEntryPoint; @@ -2122,66 +1099,12 @@ class facebook::react::DefaultTurboModuleManagerDelegate : public jni::HybridCla public std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker) override; } -class facebook::react::DevToolsRuntimeSettings { - public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; - public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; - public static facebook::react::DevToolsRuntimeSettings& getInstance(); - public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; - public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; - public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); - public ~DevToolsRuntimeSettings() = default; -} - -class facebook::react::DevToolsRuntimeSettingsModule : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec { - public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); - public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); -} - -class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { - public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::ElementFragment { - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; - public facebook::react::ElementFragment::List children; - public facebook::react::ElementFragment::ReferenceCallback referenceCallback; - public facebook::react::ElementFragment::StateCallback stateCallback; - public facebook::react::Props::Shared props; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public using FinalizeCallback = std::function; - public using List = std::vector; - public using ListOfShared = std::vector; - public using ReferenceCallback = std::function& shadowNode)>; - public using Shared = std::shared_ptr; - public using StateCallback = std::function; -} - class facebook::react::Error { public Error(const char* message); public Error(std::string message); public const std::string& message() const; } -class facebook::react::EventAnimationDriver { - protected const facebook::react::Tag animatedValueTag_; - protected std::vector eventPath_; - public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); - public facebook::react::Tag getAnimatedNodeTag() const; - public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); - public ~EventAnimationDriver() = default; -} - class facebook::react::EventBeat { protected facebook::react::EventBeat::BeatCallback beatCallback_; protected mutable std::atomic isEventBeatRequested_; @@ -2274,15 +1197,6 @@ class facebook::react::EventLogger { public virtual ~EventLogger() = default; } -class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { - public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); - public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; - public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; -} - class facebook::react::EventQueue { protected const std::unique_ptr eventBeat_; protected facebook::react::EventQueueProcessor eventProcessor_; @@ -2331,13 +1245,6 @@ class facebook::react::EventTarget { public void setEnabled(bool enabled); } -class facebook::react::ExecutorDelegate { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; - public virtual std::shared_ptr getModuleRegistry() = 0; - public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; - public virtual ~ExecutorDelegate() = default; -} - class facebook::react::FabricMountingManager { public FabricMountingManager(const facebook::react::FabricMountingManager&) = delete; public FabricMountingManager(jni::global_ref& javaUIManager); @@ -2376,38 +1283,6 @@ class facebook::react::FocusOrderingHelper { public static void traverseAndUpdateNextFocusableElement(const std::shared_ptr& parentShadowNode, const std::shared_ptr& focusedShadowNode, const std::shared_ptr& currNode, facebook::react::FocusDirection focusDirection, const facebook::react::UIManager& uimanager, facebook::react::Rect sourceRect, std::optional& nextRect, std::shared_ptr& nextNode); } -class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - protected virtual void updateConfig(folly::dynamic config) override; - public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::FuseboxTracer { - public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; - public bool isTracing(); - public bool startTracing(); - public bool stopTracing(const std::function& resultCallback); - public bool stopTracingAndWriteToFile(const std::string& path); - public static facebook::react::FuseboxTracer& getFuseboxTracer(); - public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); -} - -class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { - public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; -} - -class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { - public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; - public void setDebuggerName(const std::string& debuggerName); - public void setEnableDebugger(bool enableDebugger); -} - -class facebook::react::HermesInstance { - public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; -} - class facebook::react::HighResDuration { public constexpr HighResDuration(); public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; @@ -2460,30 +1335,6 @@ class facebook::react::HighResTimeStamp { public static facebook::react::HighResTimeStamp now() noexcept; } -class facebook::react::HostPlatformParagraphProps : public facebook::react::BaseParagraphProps { - public HostPlatformParagraphProps() = default; - public HostPlatformParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool disabled; - public std::optional dataDetectorType; - public std::optional selectionColor; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::HostPlatformScrollViewProps : public facebook::react::BaseScrollViewProps { - public HostPlatformScrollViewProps() = default; - public HostPlatformScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool nestedScrollEnabled; - public bool sendMomentumEvents; - public facebook::react::SharedColor endFillColor; - public folly::dynamic fadingEdgeLength; - public std::string overScrollMode; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - class facebook::react::HostPlatformViewProps : public facebook::react::BaseViewProps { public HostPlatformViewProps() = default; public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -2515,36 +1366,12 @@ class facebook::react::IAsyncEventEmitter { public virtual ~IAsyncEventEmitter() noexcept = default; } -class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ImageErrorInfo { public int responseCode; public std::string error; public std::vector> httpResponseHeaders; } -class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onError(const facebook::react::ImageErrorInfo& error) const; - public void onLoad(const facebook::react::ImageSource& source) const; - public void onLoadEnd() const; - public void onLoadStart() const; - public void onPartialLoad() const; - public void onProgress(double progress, int64_t loaded, int64_t total) const; -} - -class facebook::react::ImageFetcher { - public ImageFetcher(const facebook::react::ImageFetcher&) = delete; - public ImageFetcher(facebook::react::ImageFetcher&&) = delete; - public ImageFetcher(std::shared_ptr contextContainer); - public facebook::react::ImageFetcher& operator=(const facebook::react::ImageFetcher&) = delete; - public facebook::react::ImageFetcher& operator=(facebook::react::ImageFetcher&&) = delete; - public void flushImageRequests(); - public ~ImageFetcher() = default; -} - class facebook::react::ImageLoadError { public ImageLoadError(std::shared_ptr error); public std::shared_ptr getError() const; @@ -2556,27 +1383,6 @@ class facebook::react::ImageManager { public virtual ~ImageManager(); } -class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { - public ImageProps() = default; - public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool shouldNotifyLoadEvents; - public facebook::react::EdgeInsets capInsets; - public facebook::react::Float blurRadius; - public facebook::react::Float resizeMultiplier; - public facebook::react::ImageResizeMode resizeMode; - public facebook::react::ImageSource defaultSource; - public facebook::react::ImageSource loadingIndicatorSource; - public facebook::react::ImageSources sources; - public facebook::react::SharedColor overlayColor; - public std::optional progressiveRenderingEnabled; - public std::optional fadeDuration; - public std::optional tintColor; - public std::string resizeMethod; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - class facebook::react::ImageRequest { public ImageRequest(const facebook::react::ImageRequest& other) = delete; public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; @@ -2639,15 +1445,6 @@ class facebook::react::ImageResponseObserverCoordinator { public void removeObserver(const std::shared_ptr& observer) const; } -class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { - public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setImageManager(const std::shared_ptr& imageManager); -} - class facebook::react::ImageSource { public bool operator==(const facebook::react::ImageSource& rhs) const; public facebook::react::Float scale; @@ -2675,15 +1472,6 @@ enum facebook::react::ImageSource::Type { Remote, } -class facebook::react::ImageState { - public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const facebook::react::ImageRequestParams& imageRequestParams); - public ImageState(const facebook::react::ImageState& previousState, folly::dynamic data); - public const facebook::react::ImageRequest& getImageRequest() const; - public const facebook::react::ImageRequestParams& getImageRequestParams() const; - public facebook::react::ImageSource getImageSource() const; - public folly::dynamic getDynamic() const; -} - class facebook::react::ImageTelemetry { public ImageTelemetry(const facebook::react::SurfaceId surfaceId); public facebook::react::SurfaceId getSurfaceId() const; @@ -2706,43 +1494,6 @@ class facebook::react::InstanceHandle { public using Shared = std::shared_ptr; } -class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { - public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; - public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; - public virtual void update() override; -} - -class facebook::react::IntersectionObserver { - public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); - public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); - public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); - public std::vector getThresholds() const; -} - -class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public IntersectionObserverManager(); - public std::vector takeRecords(); - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); - public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); -} - -class facebook::react::IntersectionObserverState { - public bool isIntersecting() const; - public bool operator==(const facebook::react::IntersectionObserverState& other) const; - public static facebook::react::IntersectionObserverState Initial(); - public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold); - public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold, facebook::react::Float rootThreshold); - public static facebook::react::IntersectionObserverState NotIntersecting(); -} - class facebook::react::JArrayBuffer : public jni::HybridClass { public JArrayBuffer(std::shared_ptr buffer, bool owningBytes) noexcept; public bool hasBytes() const noexcept; @@ -2822,10 +1573,6 @@ class facebook::react::JNativeModulePerfLogger : public jni::HybridClass get() = 0; } -class facebook::react::JPreparedLayout : public facebook::jni::JavaClass { - public static constexpr auto kJavaDescriptor; -} - class facebook::react::JReactExceptionManager : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; public void reportJsException(facebook::jsi::Runtime& runtime, const facebook::react::JsErrorHandler::ProcessedError& error); @@ -2936,46 +1683,6 @@ class facebook::react::JSBigString : public facebook::jsi::Buffer { public ~JSBigString() override = default; } -class facebook::react::JSExecutor { - public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); - public virtual bool isInspectable(); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); - public virtual std::string getDescription() = 0; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; - public virtual void destroy(); - public virtual void flush(); - public virtual void handleMemoryPressure(int pressureLevel); - public virtual void initializeRuntime() = 0; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; - public virtual void* getJavaScriptContext(); - public virtual ~JSExecutor() = default; -} - -class facebook::react::JSExecutorFactory { - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; - public virtual ~JSExecutorFactory() = default; -} - -class facebook::react::JSIExecutor : public facebook::react::JSExecutor { - public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); - public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); - public using RuntimeInstaller = std::function; - public virtual bool isInspectable() override; - public virtual std::string getDescription() override; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; - public virtual void flush() override; - public virtual void handleMemoryPressure(int pressureLevel) override; - public virtual void initializeRuntime() override; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; - public virtual void* getJavaScriptContext() override; -} - class facebook::react::JWritableMapBuffer : public facebook::jni::JavaClass { public facebook::react::MapBuffer getMapBuffer(); public static constexpr auto kJavaDescriptor; @@ -3020,86 +1727,9 @@ struct facebook::react::JavaTurboModule::InitParams { public std::string moduleName; } -class facebook::react::JsErrorHandler { - public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); - public bool hasHandledFatalError(); - public bool inErrorHandler(); - public bool isRuntimeReady(); - public using OnJsError = std::function; - public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); - public void notifyOfFatalError(); - public void registerErrorListener(const std::function& listener); - public void setRuntimeReady(); - public ~JsErrorHandler(); -} - -struct facebook::react::JsErrorHandler::ProcessedError { - public bool isFatal; - public facebook::jsi::Object extraData; - public int id; - public std::optional componentStack; - public std::optional name; - public std::optional originalMessage; - public std::string message; - public std::vector stack; -} - -struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { - public std::optional column; - public std::optional lineNumber; - public std::optional file; - public std::string methodName; -} - -class facebook::react::LayoutAnimationCallbackWrapper { - public LayoutAnimationCallbackWrapper(); - public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); - public void call(facebook::jsi::Runtime& runtime) const; -} - -class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; - public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); -} - -class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { - protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected facebook::react::ShadowView createInterpolatedShadowView(facebook::react::Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; - protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; - protected mutable std::mutex currentAnimationMutex_; - protected mutable std::optional currentAnimation_; - protected mutable std::vector inflightAnimations_; - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; - protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; - protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; - public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); - public virtual bool shouldAnimateFrame() const override; - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; - public void setClockNow(std::function now); - public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; - public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; -} - -class facebook::react::LayoutAnimationStatusDelegate { - public virtual void onAllAnimationsComplete() = 0; - public virtual void onAnimationStarted() = 0; - public virtual ~LayoutAnimationStatusDelegate() = default; -} - class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { } -class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; -} - class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); @@ -3132,36 +1762,6 @@ struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { public bool includeViewportOffset; } -class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { - public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); - public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); - public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; - public virtual void lockRevisions() override; - public virtual void unlockRevisions() override; -} - -class facebook::react::LeakChecker { - public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); - public void stopSurface(facebook::react::SurfaceId surfaceId); - public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; -} - -class facebook::react::LegacyViewManagerInteropState { - public std::shared_ptr coordinator; -} - -class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { - public LegacyViewManagerInteropViewProps() = default; - public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public const folly::dynamic otherProps; -} - -class facebook::react::LineMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::Size size; -} - class facebook::react::LongLivedObject { protected LongLivedObject(facebook::jsi::Runtime& runtime); protected facebook::jsi::Runtime& runtime_; @@ -3239,26 +1839,6 @@ class facebook::react::MapBufferBuilder { public void putString(facebook::react::MapBuffer::Key key, const std::string& value); } -class facebook::react::MergedValueDispatcher { - public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); - public using DispatchFunction = std::function&&)>; - public using MergedValueFunction = std::function&& tagToProps)>; - public void dispatch(const std::unordered_map& value); -} - -class facebook::react::MessageQueueThread { - public virtual void quitSynchronous() = 0; - public virtual void runOnQueue(std::function&&) = 0; - public virtual void runOnQueueSync(std::function&&) = 0; - public virtual ~MessageQueueThread() = default; -} - -class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ModalHostViewEventEmitter : public facebook::react::BaseViewEventEmitter { public static char const* toString(const facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation value); public void onDismiss(facebook::react::ModalHostViewEventEmitter::OnDismiss value) const; @@ -3302,85 +1882,6 @@ class facebook::react::ModalHostViewProps : public facebook::react::HostPlatform public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::ModalHostViewState { - public ModalHostViewState(); - public ModalHostViewState(const facebook::react::ModalHostViewState& previousState, folly::dynamic data); - public ModalHostViewState(facebook::react::Size screenSize_); - public const facebook::react::Size screenSize; - public folly::dynamic getDynamic() const; - public using Shared = std::shared_ptr; -} - -class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { - public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MountingCoordinator { - public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); - public bool hasPendingTransactions() const; - public bool waitForTransaction(std::chrono::duration timeout) const; - public const facebook::react::TelemetryController& getTelemetryController() const; - public facebook::react::ShadowTreeRevision getBaseRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional pullTransaction(bool willPerformAsynchronously = false) const; - public void didPerformAsyncTransactions() const; - public void setMountingOverrideDelegate(std::weak_ptr delegate) const; -} - -class facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const = 0; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; - public virtual ~MountingOverrideDelegate() = default; -} - -class facebook::react::MountingTransaction { - public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; - public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; - public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); - public const facebook::react::ShadowViewMutationList& getMutations() const; - public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; - public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; - public facebook::react::MountingTransaction::Number getNumber() const; - public facebook::react::ShadowViewMutationList getMutations(); - public facebook::react::SurfaceId getSurfaceId() const; - public facebook::react::TransactionTelemetry& getTelemetry() const; - public using Number = int64_t; - public void mergeWith(facebook::react::MountingTransaction&& transaction); -} - -class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { - public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MutationObserver { - public MutationObserver(const facebook::react::MutationObserver&) = delete; - public MutationObserver(facebook::react::MutationObserver&&) = default; - public MutationObserver(facebook::react::MutationObserverId mutationObserverId); - public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; - public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; - public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); - public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; -} - -class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { - public MutationObserverManager(); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); - public void disconnect(facebook::react::UIManager& uiManager); - public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); - public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); -} - class facebook::react::NativeAccessibilityInfoSpecJSI : public facebook::react::JavaTurboModule { public NativeAccessibilityInfoSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3401,68 +1902,6 @@ class facebook::react::NativeAnimatedModuleSpecJSI : public facebook::react::Jav public NativeAnimatedModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { - public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; - public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; - public bool commitProps(); - public bool hasManagedProps() const noexcept; - public bool isOnRenderThread() const noexcept; - public bool useSharedAnimatedBackend() const noexcept; - public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); - public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); - public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; - public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; - public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; - public std::optional getValue(facebook::react::Tag tag) noexcept; - public std::shared_ptr getEventEmitterListener() noexcept; - public using DirectManipulationCallback = std::function; - public using FabricCommitCallback = std::function&)>; - public using FrameRateListenerCallback = std::function; - public using ResolvePlatformColor = std::function; - public using StartOnRenderCallback = std::function&&, bool isAsync)>; - public using StopOnRenderCallback = std::function; - public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; - public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; - public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void dropAnimatedNode(facebook::react::Tag tag) noexcept; - public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); - public void flattenAnimatedNodeOffset(facebook::react::Tag tag); - public void flushAnimatedNodesCreatedAsync() noexcept; - public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); - public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; - public void onRender(); - public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; - public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; - public void restoreDefaultValues(facebook::react::Tag tag) noexcept; - public void scheduleOnUI(facebook::react::UiTask&& task); - public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; - public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); - public void setAnimatedNodeValue(facebook::react::Tag tag, double value); - public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; - public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; - public void startRenderCallbackIfNeeded(bool isAsync); - public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; - public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; - public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; - public ~NativeAnimatedNodesManager() noexcept; - template >> - public T* getAnimatedNode(facebook::react::Tag tag) const; -} - -class facebook::react::NativeAnimatedNodesManagerProvider { - public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); - public std::shared_ptr getEventEmitterListener(); - public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); - public void addEventEmitterListener(const std::shared_ptr& listener); -} - class facebook::react::NativeAnimatedTurboModuleSpecJSI : public facebook::react::JavaTurboModule { public NativeAnimatedTurboModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3496,41 +1935,10 @@ class facebook::react::NativeBlobModuleSpecJSI : public facebook::react::JavaTur public NativeBlobModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeCPUTime : public facebook::react::NativeCPUTimeCxxSpec { - public NativeCPUTime(std::shared_ptr jsInvoker); - public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); - public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); -} - class facebook::react::NativeClipboardSpecJSI : public facebook::react::JavaTurboModule { public NativeClipboardSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeDOM : public facebook::react::NativeDOMCxxSpec { - public NativeDOM(std::shared_ptr jsInvoker); - public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); - public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); - public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); - public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); - public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); - public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); - public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); - public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); - public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); -} - class facebook::react::NativeDevLoadingViewSpecJSI : public facebook::react::JavaTurboModule { public NativeDevLoadingViewSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3575,12 +1983,6 @@ class facebook::react::NativeI18nManagerSpecJSI : public facebook::react::JavaTu public NativeI18nManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeIdleCallbacks : public facebook::react::NativeIdleCallbacksCxxSpec { - public NativeIdleCallbacks(std::shared_ptr jsInvoker); - public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); - public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); -} - class facebook::react::NativeImageEditorSpecJSI : public facebook::react::JavaTurboModule { public NativeImageEditorSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3597,15 +1999,6 @@ class facebook::react::NativeIntentAndroidSpecJSI : public facebook::react::Java public NativeIntentAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeIntersectionObserver : public facebook::react::NativeIntersectionObserverCxxSpec { - public NativeIntersectionObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeJSCHeapCaptureSpecJSI : public facebook::react::JavaTurboModule { public NativeJSCHeapCaptureSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3648,91 +2041,10 @@ class facebook::react::NativeMethodCallInvokerHolder : public jni::HybridClass getNativeMethodCallInvoker(); } -class facebook::react::NativeMicrotasks : public facebook::react::NativeMicrotasksCxxSpec { - public NativeMicrotasks(std::shared_ptr jsInvoker); - public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); -} - -class facebook::react::NativeModulePerfLogger { - public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; - public virtual void asyncMethodCallBatchPreprocessStart() = 0; - public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; - public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual ~NativeModulePerfLogger() = default; -} - -class facebook::react::NativeMutationObserver : public facebook::react::NativeMutationObserverCxxSpec { - public NativeMutationObserver(std::shared_ptr jsInvoker); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); - public void disconnect(facebook::jsi::Runtime& runtime); - public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); - public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); -} - class facebook::react::NativeNetworkingAndroidSpecJSI : public facebook::react::JavaTurboModule { public NativeNetworkingAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativePerformance : public facebook::react::NativePerformanceCxxSpec { - public NativePerformance(std::shared_ptr jsInvoker); - public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); - public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); - public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); - public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); - public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); - public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); - public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); - public std::vector getEntries(facebook::jsi::Runtime& rt); - public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); - public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); - public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); - public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); - public std::vector> getEventCounts(facebook::jsi::Runtime& rt); - public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); - public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); - public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); - public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); - public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); -} - class facebook::react::NativePermissionsAndroidSpecJSI : public facebook::react::JavaTurboModule { public NativePermissionsAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3753,15 +2065,6 @@ class facebook::react::NativeRedBoxSpecJSI : public facebook::react::JavaTurboMo public NativeRedBoxSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeResizeObserver : public facebook::react::NativeResizeObserverCxxSpec { - public NativeResizeObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeResizeObserverObserveOptions& options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::NativeResizeObserverNotifyCallback notifyResizeObserversFunction); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserve(facebook::jsi::Runtime& runtime, facebook::react::ResizeObserverObserverId resizeObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::JavaTurboModule { public NativeSegmentFetcherSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3810,216 +2113,15 @@ class facebook::react::NativeWebSocketModuleSpecJSI : public facebook::react::Ja public NativeWebSocketModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NetworkReporter { - public bool isDebuggingEnabled() const; - public static facebook::react::NetworkReporter& getInstance(); - public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); - public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); - public void reportRequestFailed(const std::string& requestId, bool cancelled) const; - public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); - public void reportResponseEnd(const std::string& requestId, int encodedDataLength); - public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); - public void reportWebSocketClosed(const std::string& requestId) const; - public void reportWebSocketCreated(const std::string& requestId, const std::string& url) const; - public void reportWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t statusCode, const facebook::react::Headers& headers) const; - public void reportWebSocketMessageReceived(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketMessageSent(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::Headers& headers) const; - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { - public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(std::string propKey, folly::dynamic& props); -} - -class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { - protected std::vector inputNodes_; - public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); -} - -class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { - public bool adjustsFontSizeToFit; - public bool includeFontPadding; - public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; - public facebook::react::EllipsizeMode ellipsizeMode; - public facebook::react::Float minimumFontScale; - public facebook::react::Float minimumFontSize; - public facebook::react::HyphenationFrequency android_hyphenationFrequency; - public facebook::react::TextBreakStrategy textBreakStrategy; - public facebook::react::TextWidthMode textWidthMode; - public int maximumNumberOfLines; - public std::optional textAlignVertical; -} - -class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; -} - -class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; - public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - -class facebook::react::ParagraphShadowNode::Content { - public facebook::react::AttributedString attributedString; - public facebook::react::BaseTextShadowNode::Attachments attachments; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::ParagraphState { - public ParagraphState() = default; - public ParagraphState(const facebook::react::ParagraphState&, const folly::dynamic&); - public ParagraphState(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, std::weak_ptr layoutManager); - public ParagraphState(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, std::weak_ptr layoutManager, facebook::react::MeasuredPreparedTextLayout measuredLayout); - public facebook::react::AttributedString attributedString; - public facebook::react::MapBuffer getMapBuffer() const; - public facebook::react::MeasuredPreparedTextLayout measuredLayout; - public facebook::react::ParagraphAttributes paragraphAttributes; - public folly::dynamic getDynamic() const; - public jni::local_ref getJNIReference() const; - public std::weak_ptr layoutManager; -} - -class facebook::react::PerformanceEntryBuffer { - public PerformanceEntryBuffer() = default; - public facebook::react::HighResDuration durationThreshold; - public size_t droppedEntriesCount; - public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; - public virtual void clear() = 0; - public virtual void clear(const std::string& name) = 0; - public virtual void getEntries(std::vector& target) const = 0; - public virtual void getEntries(std::vector& target, const std::string& name) const = 0; - public virtual ~PerformanceEntryBuffer() = default; -} - -class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryCircularBuffer(size_t size); - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; - public ~PerformanceEntryCircularBuffer() override = default; -} - -class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryKeyedBuffer() = default; - public std::optional find(const std::string& name) const; - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; -} - -class facebook::react::PerformanceEntryReporter { - public PerformanceEntryReporter(); - public const std::unordered_map& getEventCounts() const; - public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); - public static std::shared_ptr& getInstance(); - public static std::vector getSupportedEntryTypes(); - public std::optional getMarkTime(const std::string& markName) const; - public std::vector getEntries() const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; - public using UserTimingDetailProvider = std::function; - public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void clearEntries(); - public void clearEntries(facebook::react::PerformanceEntryType entryType); - public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); - public void clearEventCounts(); - public void getEntries(std::vector& dest) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); - public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); - public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); -} - -class facebook::react::PerformanceEntryReporterEventListener { - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); - public virtual ~PerformanceEntryReporterEventListener() = default; -} - -class facebook::react::PerformanceObserver : public std::enable_shared_from_this { - public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public std::vector takeRecords(); - public uint32_t getDroppedEntriesCount() noexcept; - public void disconnect() noexcept; - public void handleEntry(const facebook::react::PerformanceEntry& entry); - public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); - public void observe(std::unordered_set types); - public ~PerformanceObserver() = default; -} - -class facebook::react::PerformanceObserverRegistry { - public PerformanceObserverRegistry() = default; - public void addObserver(std::shared_ptr observer); - public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); - public void removeObserver(std::shared_ptr observer); -} - -class facebook::react::PerformanceTracerCxxInterop : public facebook::jni::JavaClass { - public static constexpr auto kJavaDescriptor; - public static jboolean isTracing(facebook::jni::alias_ref jthis); - public static jint subscribeToTracingStateChanges(facebook::jni::alias_ref jthis, facebook::jni::alias_ref callback); - public static void registerNatives(); - public static void reportMark(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong timestampNanos, facebook::jni::alias_ref detail); - public static void reportMeasure(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong startTimestampNanos, jlong durationNanos, facebook::jni::alias_ref detail); - public static void reportTimeStamp(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong startTimeNanos, jlong endTimeNanos, facebook::jni::alias_ref trackName, facebook::jni::alias_ref trackGroup, facebook::jni::alias_ref color); - public static void unsubscribeFromTracingStateChanges(facebook::jni::alias_ref jthis, jint subscriptionId); -} - -class facebook::react::PlatformTimerRegistry { - public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; - public virtual void createTimer(uint32_t timerID, double delayMS) = 0; - public virtual void deleteTimer(uint32_t timerID) = 0; - public virtual void quit(); - public virtual void setTimerManager(std::weak_ptr); - public virtual ~PlatformTimerRegistry() noexcept = default; -} - -class facebook::react::PointerEventsProcessor { - public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); - public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); - public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); -} - -class facebook::react::PointerHoverTracker { - public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); - public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; - public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; - public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; - public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; - public using EventPath = std::vector>; - public using Unique = std::unique_ptr; - public void markAsOld(); -} - -class facebook::react::PreparedTextCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::Float pointScaleFactor; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; +class facebook::react::PerformanceTracerCxxInterop : public facebook::jni::JavaClass { + public static constexpr auto kJavaDescriptor; + public static jboolean isTracing(facebook::jni::alias_ref jthis); + public static jint subscribeToTracingStateChanges(facebook::jni::alias_ref jthis, facebook::jni::alias_ref callback); + public static void registerNatives(); + public static void reportMark(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong timestampNanos, facebook::jni::alias_ref detail); + public static void reportMeasure(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong startTimestampNanos, jlong durationNanos, facebook::jni::alias_ref detail); + public static void reportTimeStamp(facebook::jni::alias_ref jthis, facebook::jni::alias_ref name, jlong startTimeNanos, jlong endTimeNanos, facebook::jni::alias_ref trackName, facebook::jni::alias_ref trackGroup, facebook::jni::alias_ref color); + public static void unsubscribeFromTracingStateChanges(facebook::jni::alias_ref jthis, jint subscriptionId); } class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { @@ -4037,21 +2139,6 @@ class facebook::react::Props : public virtual facebook::react::Sealable, public public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { - public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::SurfaceId connectedRootTag() const; - public facebook::react::Tag connectedViewTag() const; - public folly::dynamic props(); - public virtual void update() override; - public void collectProps(); - public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); - public void connectToView(facebook::react::Tag viewTag); - public void disconnectFromShadowNodeFamily(); - public void disconnectFromView(facebook::react::Tag viewTag); - public void restoreDefaultValues(); - public void update(bool forceFabricCommit); -} - class facebook::react::PullToRefreshViewEventEmitter : public facebook::react::BaseViewEventEmitter { public void onRefresh(facebook::react::PullToRefreshViewEventEmitter::OnRefresh value) const; } @@ -4109,17 +2196,6 @@ class facebook::react::RawPropsParser { public void prepare() noexcept; } -class facebook::react::RawTextProps : public facebook::react::Props { - public RawTextProps() = default; - public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public std::string text; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; -} - -class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { -} - class facebook::react::RawValue { public RawValue() noexcept; public RawValue(const folly::dynamic& dynamic) noexcept; @@ -4136,38 +2212,6 @@ class facebook::react::RawValue { public operator T() const; } -class facebook::react::ReactInstance { - public ReactInstance(const facebook::react::ReactInstance&) = delete; - public ReactInstance(facebook::react::ReactInstance&&) = delete; - public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); - public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; - public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; - public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; - public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; - public std::shared_ptr createJSCallInvoker() noexcept; - public std::shared_ptr getRuntimeScheduler() noexcept; - public using BindingsInstallFunc = std::function; - public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); - public void handleMemoryPressureJs(int pressureLevel); - public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; - public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); - public void registerSegment(uint32_t segmentId, const std::string& segmentPath); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~ReactInstance() noexcept override; -} - -struct facebook::react::ReactInstance::JSRuntimeFlags { - public bool isProfiling; - public const std::string runtimeDiagnosticFlags; -} - -class facebook::react::ReactPerfettoLogger { - public static bool isTracing(); - public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); - public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); -} - class facebook::react::ReadableNativeArray : public jni::HybridClass { protected friend HybridBase; public bool equals(jni::alias_ref other); @@ -4180,198 +2224,6 @@ class facebook::react::ReadableNativeArray : public jni::HybridClass takeRecords(); - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyResizeObserversFunction); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions); - public void unobserve(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily); -} - -class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { - public RootProps() = default; - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; -} - -class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { - public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public bool layoutIfNeeded(std::vector* affectedNodes = {}); - public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using Shared = std::shared_ptr; - public using Unshared = std::shared_ptr; - public virtual facebook::react::Transform getTransform() const override; - public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; -} - -class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { - public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::RunLoopObserver { - protected const facebook::react::RunLoopObserver::Activity activities_; - protected const facebook::react::RunLoopObserver::WeakOwner owner_; - protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; - protected mutable std::atomic enabled_; - protected virtual void startObserving() const noexcept = 0; - protected virtual void stopObserving() const noexcept = 0; - protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; - public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; - public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; - public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; - public using Owner = std::shared_ptr; - public using WeakOwner = std::weak_ptr; - public virtual bool isOnRunLoopThread() const noexcept = 0; - public virtual ~RunLoopObserver() noexcept = default; - public void disable() const noexcept; - public void enable() const noexcept; - public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; -} - -class facebook::react::RunLoopObserver::Delegate { - public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; - public virtual ~Delegate() noexcept = default; -} - -enum facebook::react::RunLoopObserver::Activity : int32_t { - AfterWaiting, - BeforeWaiting, - None, -} - -class facebook::react::RuntimeScheduler : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; - public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); - public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; - public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; - public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeSchedulerBase : public facebook::hermes::IEventLoopControl { - public virtual bool getShouldYield() noexcept = 0; - public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; - public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; - public virtual void scheduleTask(const std::function& task) = 0; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) = 0; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; - public virtual ~RuntimeSchedulerBase() = default; -} - -class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { - public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); - public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public std::shared_ptr getRuntimeScheduler() noexcept; - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; -} - -class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { - public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - -class facebook::react::RuntimeSchedulerEventTimingDelegate { - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerEventTimingDelegate() = default; -} - -class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; -} - -class facebook::react::RuntimeSchedulerResizeObserverDelegate { - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) = 0; - public virtual ~RuntimeSchedulerResizeObserverDelegate() = default; -} - -class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; - public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { -} - class facebook::react::SafeAreaViewEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -4382,127 +2234,12 @@ class facebook::react::SafeAreaViewProps : public facebook::react::HostPlatformV public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { -} - -class facebook::react::SafeAreaViewState { - public SafeAreaViewState() = default; - public SafeAreaViewState(const facebook::react::SafeAreaViewState&, folly::dynamic data); - public facebook::react::EdgeInsets padding; - public folly::dynamic getDynamic() const; -} - -class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { - public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); - public facebook::react::SchedulerDelegate* getDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr getUIManager() const; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidClearPendingSnapshots() override; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) override; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; - public void addEventListener(std::shared_ptr listener); - public void animationTick() const; - public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void setDelegate(facebook::react::SchedulerDelegate* delegate); - public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public ~Scheduler() override; -} - -class facebook::react::SchedulerDelegate { - public virtual void schedulerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidClearPendingSnapshots() = 0; - public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; - public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void schedulerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~SchedulerDelegate() noexcept = default; -} - -class facebook::react::ScopedShadowTreeRevisionLock { - public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ~ScopedShadowTreeRevisionLock() noexcept; -} - -class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { - public using EndDragMetrics = facebook::react::ScrollEndDragEvent; - public using Metrics = facebook::react::ScrollEvent; - public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; - public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; - public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; -} - -class facebook::react::ScrollViewMaintainVisibleContentPosition { - public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; - public int minIndexForVisible; - public std::optional autoscrollToTopThreshold; -} - -class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); - public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; -} - -class facebook::react::ScrollViewState { - public ScrollViewState() = default; - public ScrollViewState(const facebook::react::ScrollViewState& previousState, folly::dynamic data); - public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); - public bool disableViewCulling; - public facebook::react::Point contentOffset; - public facebook::react::Rect contentBoundingRect; - public facebook::react::Size getContentSize() const; - public folly::dynamic getDynamic() const; - public int scrollAwayPaddingTop; -} - class facebook::react::Sealable { public bool getSealed() const; public void ensureUnsealed() const; public void seal() const; } -class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { - public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static constexpr facebook::react::ComponentName Name(); - public static facebook::react::ComponentHandle Handle(); -} - class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { protected facebook::react::Props::Shared props_; protected facebook::react::ShadowNodeTraits traits_; @@ -4602,63 +2339,6 @@ enum facebook::react::ShadowNodeTraits::Trait : int32_t { ViewKind, } -class facebook::react::ShadowTree { - public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); - public bool promoteReactRevision() const; - public facebook::react::CommitMode getCommitMode() const; - public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::ShadowTreeRevision getCurrentRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional getCurrentReactRevision() const; - public std::shared_ptr getMountingCoordinator() const; - public using CommitMode = facebook::react::ShadowTreeCommitMode; - public using CommitOptions = facebook::react::ShadowTreeCommitOptions; - public using CommitSource = facebook::react::ShadowTreeCommitSource; - public using CommitStatus = facebook::react::ShadowTreeCommitStatus; - public using Unique = std::unique_ptr; - public void commitEmptyTree() const; - public void mergeReactRevision() const; - public void notifyDelegatesOfUpdates() const; - public void setCommitMode(facebook::react::CommitMode commitMode) const; - public ~ShadowTree(); -} - -class facebook::react::ShadowTreeDelegate { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) const; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; - public virtual ~ShadowTreeDelegate() noexcept = default; -} - -class facebook::react::ShadowTreeRegistry { - public ShadowTreeRegistry() = default; - public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; - public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; - public void add(std::unique_ptr&& shadowTree) const; - public void enumerate(const std::function& callback) const; - public ~ShadowTreeRegistry(); -} - -class facebook::react::ShadowTreeRevision { - public facebook::react::RootShadowNode::Shared rootShadowNode; - public facebook::react::ShadowTreeRevision::Number number; - public facebook::react::TransactionTelemetry telemetry; - public using Number = int64_t; -} - -class facebook::react::ShadowTreeRevisionConsistencyManager { - public virtual void lockRevisions() = 0; - public virtual void unlockRevisions() = 0; - public virtual ~ShadowTreeRevisionConsistencyManager() = default; -} - -class facebook::react::ShadowTreeRevisionProvider { - public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual ~ShadowTreeRevisionProvider() = default; -} - class facebook::react::SharedColor { public SharedColor(); public SharedColor(facebook::react::Color color); @@ -4670,15 +2350,6 @@ class facebook::react::SharedColor { public std::string toString() const noexcept; } -class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::StackTraceParser { - public static std::vector parse(bool isHermes, const std::string& stackString); -} - class facebook::react::State { protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); @@ -4722,48 +2393,6 @@ class facebook::react::StateWrapperImpl : public jni::HybridClass getMountingCoordinator() const noexcept; - public std::string getModuleName() const noexcept; - public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; - public virtual ~SurfaceHandler() noexcept; - public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public void setContextContainer(std::shared_ptr contextContainer) const noexcept; - public void setProps(const folly::dynamic& props) const noexcept; - public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; - public void start() const noexcept; - public void stop() const noexcept; -} - -enum facebook::react::SurfaceHandler::Status { - Registered, - Running, - Unregistered, -} - class facebook::react::SurfaceHandlerBinding : public jni::HybridClass { public SurfaceHandlerBinding(facebook::react::SurfaceId surfaceId, const std::string& moduleName); public const facebook::react::SurfaceHandler& getSurfaceHandler(); @@ -4777,43 +2406,6 @@ class facebook::react::SurfaceHandlerBinding : public jni::HybridClass getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; - public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; - public std::unordered_set getRunningSurfaces() const noexcept; - public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; - public void stopAllSurfaces() noexcept; - public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; - public ~SurfaceManager() noexcept; -} - -struct facebook::react::SurfaceManager::SurfaceProps { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; - public facebook::react::SurfaceId surfaceId; - public folly::dynamic props; - public std::string moduleName; -} - -class facebook::react::SurfaceTelemetry { - public facebook::react::TelemetryDuration getCommitTime() const; - public facebook::react::TelemetryDuration getDiffTime() const; - public facebook::react::TelemetryDuration getLayoutTime() const; - public facebook::react::TelemetryDuration getMountTime() const; - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public int getLastRevisionNumber() const; - public int getNumberOfMutations() const; - public int getNumberOfTextMeasurements() const; - public int getNumberOfTransactions() const; - public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; - public std::vector getRecentTransactionTelemetries() const; - public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); -} - class facebook::react::SwitchEventEmitter : public facebook::react::BaseViewEventEmitter { public void onChange(facebook::react::SwitchEventEmitter::OnChange value) const; } @@ -4838,163 +2430,6 @@ class facebook::react::SwitchProps : public facebook::react::HostPlatformViewPro public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::TaskPriorityComparer { - public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); -} - -class facebook::react::TelemetryController { - public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; -} - -class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { - public bool operator==(const facebook::react::TextAttributes& rhs) const; - public facebook::react::Float fontSize; - public facebook::react::Float fontSizeMultiplier; - public facebook::react::Float letterSpacing; - public facebook::react::Float lineHeight; - public facebook::react::Float maxFontSizeMultiplier; - public facebook::react::Float opacity; - public facebook::react::Float textShadowRadius; - public facebook::react::SharedColor backgroundColor; - public facebook::react::SharedColor foregroundColor; - public facebook::react::SharedColor textDecorationColor; - public facebook::react::SharedColor textShadowColor; - public static facebook::react::TextAttributes defaultTextAttributes(); - public std::optional allowFontScaling; - public std::optional isHighlighted; - public std::optional isPressable; - public std::optional accessibilityRole; - public std::optional dynamicTypeRamp; - public std::optional fontStyle; - public std::optional fontVariant; - public std::optional fontWeight; - public std::optional layoutDirection; - public std::optional lineBreakMode; - public std::optional lineBreakStrategy; - public std::optional role; - public std::optional textShadowOffset; - public std::optional alignment; - public std::optional textDecorationLineType; - public std::optional textDecorationStyle; - public std::optional textTransform; - public std::optional baseWritingDirection; - public std::optional fontVariationSettings; - public std::string fontFamily; - public std::vector textEffects; - public void apply(facebook::react::TextAttributes textAttributes); -} - -class facebook::react::TextEffectProps : public facebook::react::Props { - public TextEffectProps() = default; - public TextEffectProps(const facebook::react::PropsParserContext& context, const facebook::react::TextEffectProps& sourceProps, const facebook::react::RawProps& rawProps); - public folly::dynamic effectProps; - public std::string effectName; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; -} - -class facebook::react::TextEffectShadowNode : public facebook::react::ConcreteShadowNode { -} - -class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; - public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; -} - -struct facebook::react::TextInputEventEmitter::KeyPressMetrics { - public int eventCount; - public std::string text; -} - -struct facebook::react::TextInputEventEmitter::Metrics { - public bool responderIgnoreScroll; - public facebook::react::AttributedString::Range selectionRange; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public facebook::react::Size layoutMeasurement; - public facebook::react::Tag target; - public int eventCount; - public std::string text; -} - -class facebook::react::TextInputState { - public TextInputState() = default; - public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); - public facebook::react::AttributedString reactTreeAttributedString; - public facebook::react::AttributedStringBox attributedStringBox; - public facebook::react::ParagraphAttributes paragraphAttributes; - public int64_t mostRecentEventCount; -} - -class facebook::react::TextLayoutManager { - public TextLayoutManager(const facebook::react::TextLayoutManager&) = delete; - public TextLayoutManager(const std::shared_ptr& contextContainer); - public TextLayoutManager(facebook::react::TextLayoutManager&&) = delete; - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size) const; - public facebook::react::TextLayoutManager& operator=(const facebook::react::TextLayoutManager&) = delete; - public facebook::react::TextLayoutManager& operator=(facebook::react::TextLayoutManager&&) = delete; - public facebook::react::TextLayoutManager::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::TextMeasurement measure(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::TextMeasurement measureCachedSpannableById(int64_t cacheId, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::TextLayoutManager::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public using PreparedTextLayout = facebook::react::SafeReleaseJniRef>; -} - -class facebook::react::TextMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::Float pointScaleFactor; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::TextMeasurement { - public facebook::react::Size size; - public facebook::react::TextMeasurement::Attachments attachments; - public using Attachments = std::vector; -} - -class facebook::react::TextMeasurement::Attachment { - public bool isClipped; - public facebook::react::Rect frame; -} - -class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { - public TextProps() = default; - public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { - public TextShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using BaseShadowNode = facebook::react::ConcreteShadowNode; -} - -class facebook::react::TimerManager { - public TimerManager(const facebook::react::TimerManager&) = delete; - public TimerManager(facebook::react::TimerManager&&) = delete; - public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; - public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; - public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; - public void attachGlobals(facebook::jsi::Runtime& runtime); - public void callTimer(facebook::react::TimerHandle handle); - public void quit(); - public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; - public ~TimerManager() noexcept; -} - class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); public void onClick(facebook::react::PointerEvent event) const; @@ -5027,48 +2462,6 @@ class facebook::react::TracingStateCallback : public facebook::jni::JavaClass now); - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public facebook::react::TelemetryTimePoint getCommitEndTime() const; - public facebook::react::TelemetryTimePoint getCommitStartTime() const; - public facebook::react::TelemetryTimePoint getDiffEndTime() const; - public facebook::react::TelemetryTimePoint getDiffStartTime() const; - public facebook::react::TelemetryTimePoint getLayoutEndTime() const; - public facebook::react::TelemetryTimePoint getLayoutStartTime() const; - public facebook::react::TelemetryTimePoint getMountEndTime() const; - public facebook::react::TelemetryTimePoint getMountStartTime() const; - public int getAffectedLayoutNodesCount() const; - public int getNumberOfTextMeasurements() const; - public int getRevisionNumber() const; - public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); - public void didCommit(); - public void didDiff(); - public void didLayout(); - public void didLayout(int affectedLayoutNodesCount); - public void didMeasureText(); - public void didMount(); - public void setAsThreadLocal(); - public void setRevisionNumber(int revisionNumber); - public void unsetAsThreadLocal(); - public void willCommit(); - public void willDiff(); - public void willLayout(); - public void willMeasureText(); - public void willMount(); -} - -class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { - public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(folly::dynamic& props); -} - class facebook::react::TransformHelper : public facebook::jni::JavaClass { public static constexpr auto * kJavaDescriptor; public static void registerNatives(); @@ -5122,158 +2515,6 @@ class facebook::react::UIConstantsProviderBinding : public facebook::jni::JavaCl public static void registerNatives(); } -class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { - public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); - public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; - public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; - public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; - public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); - public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); - public facebook::react::UIManagerDelegate* getDelegate(); - public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; - public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; - public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; - public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) const noexcept override; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; - public void addEventListener(std::shared_ptr listener); - public void addOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); - public void animationTick() const; - public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; - public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); - public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; - public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); - public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); - public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); - public void setDelegate(facebook::react::UIManagerDelegate* delegate); - public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; - public void setNativeAnimatedDelegate(std::weak_ptr delegate); - public void setSurfaceProps(facebook::react::SurfaceId surfaceId, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); - public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; - public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; - public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); - public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); - public void updateShadowTree(std::unordered_map&& tagToProps); - public void updateState(const facebook::react::StateUpdate& stateUpdate) const; - public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; - public ~UIManager() override; -} - -class facebook::react::UIManagerAnimationBackend { - public using Callback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) = 0; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; - public virtual void stop(facebook::react::CallbackId callbackId) = 0; - public virtual void trigger() = 0; - public virtual ~UIManagerAnimationBackend() = default; -} - -class facebook::react::UIManagerAnimationDelegate { - public virtual bool shouldAnimateFrame() const = 0; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; - public virtual ~UIManagerAnimationDelegate() = default; -} - -class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { - public UIManagerBinding(std::shared_ptr uiManager); - public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); - public facebook::react::UIManager& getUIManager(); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; - public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; - public void invalidate() const; - public ~UIManagerBinding() override; -} - -class facebook::react::UIManagerCommitHook { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) noexcept; - public virtual ~UIManagerCommitHook() noexcept = default; -} - -class facebook::react::UIManagerDelegate { - public using OnSurfaceStartCallback = std::function; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidClearPendingSnapshots() = 0; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~UIManagerDelegate() noexcept = default; -} - -class facebook::react::UIManagerMountHook { - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; - public virtual ~UIManagerMountHook() noexcept = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegate { - public virtual void runAnimationFrame() = 0; - public virtual ~UIManagerNativeAnimatedDelegate() = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { - public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); - public virtual void runAnimationFrame() override; -} - -class facebook::react::UIManagerViewTransitionDelegate { - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag) const; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); - public virtual void createViewTransitionInstance(const std::string&, facebook::react::Tag); - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); - public virtual void startViewTransitionEnd(); - public virtual void startViewTransitionReadyFinished(); - public virtual void suspendOnActiveViewTransition(); - public virtual void transitionAnimationFinished(int animationId); - public virtual void waitForTransitionAnimation(int animationId); - public virtual ~UIManagerViewTransitionDelegate() = default; -} - -struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { - public facebook::react::Float height; - public facebook::react::Float width; - public facebook::react::Float x; - public facebook::react::Float y; - public facebook::react::Tag nativeTag; -} - class facebook::react::UnimplementedNativeViewEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -5285,33 +2526,6 @@ class facebook::react::UnimplementedNativeViewProps : public facebook::react::Ho public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::ComponentHandle getComponentHandle() const override; - public virtual facebook::react::ComponentName getComponentName() const override; - public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; -} - -class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { - public facebook::react::ComponentName getComponentName() const; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setComponentName(facebook::react::ComponentName componentName); -} - -class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { - protected bool isColorValue_; - public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool getIsColorValue() const noexcept; - public bool setOffset(double offset) noexcept; - public bool setRawValue(double value) noexcept; - public double getOffset() const noexcept; - public double getRawValue() const noexcept; - public double getValue() const noexcept; - public void extractOffset() noexcept; - public void flattenOffset() noexcept; - public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; -} - class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { public ValueFactoryEventPayload(facebook::react::ValueFactory factory); public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; @@ -5327,41 +2541,6 @@ class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShad public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); } -class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate, public facebook::react::UIManagerCommitHook, public facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const override; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag tag) const override; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void createViewTransitionInstance(const std::string& name, facebook::react::Tag pseudoElementTag) override; - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; - public virtual void startViewTransitionEnd() override; - public virtual void startViewTransitionReadyFinished() override; - public virtual void suspendOnActiveViewTransition() override; - public virtual void transitionAnimationFinished(int animationId) override; - public virtual void waitForTransitionAnimation(int animationId) override; - public void initialize(facebook::react::UIManager* uiManager, std::weak_ptr weakThis); - public ~ViewTransitionModule() override; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; - public uint32_t transitionId; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { - public facebook::react::Float pointScaleFactor; - public facebook::react::Point originFromRoot; - public facebook::react::Size size; -} - class facebook::react::VirtualViewEventEmitter : public facebook::react::BaseViewEventEmitter { public void onModeChange(facebook::react::VirtualViewEventEmitter::OnModeChange value) const; } @@ -5396,19 +2575,6 @@ class facebook::react::VirtualViewProps : public facebook::react::HostPlatformVi public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::WeakFamilyRegistry { - public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; - public using WeakFamilies = std::vector; - public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; - public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; -} - class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { protected facebook::yoga::Config yogaConfig_; protected mutable facebook::yoga::Node yogaNode_; @@ -5553,54 +2719,6 @@ enum facebook::react::AndroidSwipeRefreshLayoutSize { Large, } -enum facebook::react::AnimatedNodeType { - Addition, - Color, - Diffclamp, - Division, - Interpolation, - Modulus, - Multiplication, - Object, - Props, - Round, - Style, - Subtraction, - Tracking, - Transform, - Value, -} - -enum facebook::react::AnimationConfigurationType { - Create, - Delete, - Update, -} - -enum facebook::react::AnimationDriverType { - Decay, - Frames, - Spring, -} - -enum facebook::react::AnimationProperty { - NotApplicable, - Opacity, - ScaleX, - ScaleXY, - ScaleY, -} - -enum facebook::react::AnimationType { - EaseIn, - EaseInEaseOut, - EaseOut, - Keyboard, - Linear, - None, - Spring, -} - enum facebook::react::BackfaceVisibility : uint8_t { Auto, Hidden, @@ -5650,379 +2768,67 @@ enum facebook::react::BorderStyle : uint8_t { Solid, } -enum facebook::react::CSSAngleUnit : uint8_t { - Deg, - Grad, - Rad, - Turn, +enum facebook::react::ColorSpace { + DisplayP3, + sRGB, } -enum facebook::react::CSSDelimiter { - Comma, - CommaOrWhitespace, +enum facebook::react::Cursor : uint8_t { + Alias, + AllScroll, + Auto, + Cell, + ColResize, + ContextMenu, + Copy, + Crosshair, + Default, + EResize, + EWResize, + Grab, + Grabbing, + Help, + Move, + NEResize, + NESWResize, + NResize, + NSResize, + NWResize, + NWSEResize, + NoDrop, None, - OptionalWhitespace, - Solidus, - SolidusOrWhitespace, - Whitespace, -} - -enum facebook::react::CSSFontVariant : std::underlying_type_t { - CommonLigatures, - Contextual, - DiscretionaryLigatures, - HistoricalLigatures, - LiningNums, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { - At, -} - -enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { - Bottom, - Left, - Right, - Top, + NotAllowed, + Pointer, + Progress, + RowResize, + SEResize, + SResize, + SWResize, + Text, + Url, + WResize, + Wait, + ZoomIn, + ZoomOut, } -enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, +enum facebook::react::DisplayMode { + Hidden, + Suspended, + Visible, } -enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { - To, +enum facebook::react::DisplayType { + Contents, + Flex, + Grid, + None, } -enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { - Inset, -} - -enum facebook::react::CSSKeyword : uint8_t { - Absolute, - At, - Auto, - Baseline, - Block, - Bottom, - Center, - Clip, - Column, - ColumnReverse, - CommonLigatures, - Content, - Contents, - Contextual, - Dashed, - DiscretionaryLigatures, - Dotted, - Double, - End, - Fixed, - Flex, - FlexEnd, - FlexStart, - Grid, - Groove, - Hidden, - HistoricalLigatures, - Inherit, - Initial, - Inline, - InlineBlock, - InlineFlex, - InlineGrid, - Inset, - Left, - LiningNums, - Ltr, - MaxContent, - Medium, - MinContent, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - NoWrap, - None, - Normal, - OldstyleNums, - Outset, - ProportionalNums, - Relative, - Ridge, - Right, - Row, - RowReverse, - Rtl, - Scroll, - SmallCaps, - Solid, - SpaceAround, - SpaceBetween, - SpaceEvenly, - Start, - Static, - Sticky, - Stretch, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, - Thick, - Thin, - To, - Top, - Unset, - Visible, - Wrap, - WrapReverse, -} - -enum facebook::react::CSSLengthUnit : uint8_t { - Cap, - Ch, - Cm, - Dvb, - Dvh, - Dvi, - Dvmax, - Dvmin, - Dvw, - Em, - Ex, - Ic, - In, - Lh, - Lvb, - Lvh, - Lvi, - Lvmax, - Lvmin, - Lvw, - Mm, - Pc, - Pt, - Px, - Q, - Rcap, - Rch, - Rem, - Rex, - Ric, - Rlh, - Svb, - Svh, - Svi, - Svmax, - Svmin, - Svw, - Vb, - Vh, - Vi, - Vmax, - Vmin, - Vw, -} - -enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { - ToBottomLeft, - ToBottomRight, - ToTopLeft, - ToTopRight, -} - -enum facebook::react::CSSRadialGradientShape : uint8_t { - Circle, - Ellipse, -} - -enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { - ClosestCorner, - ClosestSide, - FarthestCorner, - FarthestSide, -} - -enum facebook::react::CSSTokenType { - CloseCurly, - CloseParen, - CloseSquare, - Comma, - Delim, - Dimension, - EndOfFile, - Function, - Hash, - Ident, - Number, - OpenCurly, - OpenParen, - OpenSquare, - Percentage, - WhiteSpace, -} - -enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSWideKeyword : std::underlying_type_t { - Inherit, - Initial, - Unset, -} - -enum facebook::react::ColorSpace { - DisplayP3, - sRGB, -} - -enum facebook::react::ContentInsetAdjustmentBehavior { - Always, - Automatic, - Never, - ScrollableAxes, -} - -enum facebook::react::Cursor : uint8_t { - Alias, - AllScroll, - Auto, - Cell, - ColResize, - ContextMenu, - Copy, - Crosshair, - Default, - EResize, - EWResize, - Grab, - Grabbing, - Help, - Move, - NEResize, - NESWResize, - NResize, - NSResize, - NWResize, - NWSEResize, - NoDrop, - None, - NotAllowed, - Pointer, - Progress, - RowResize, - SEResize, - SResize, - SWResize, - Text, - Url, - WResize, - Wait, - ZoomIn, - ZoomOut, -} - -enum facebook::react::DataDetectorType { - All, - Email, - Link, - None, - PhoneNumber, -} - -enum facebook::react::DisplayMode { - Hidden, - Suspended, - Visible, -} - -enum facebook::react::DisplayType { - Contents, - Flex, - Grid, - None, -} - -enum facebook::react::DynamicTypeRamp : uint8_t { - Body, - Callout, - Caption1, - Caption2, - Footnote, - Headline, - LargeTitle, - Subheadline, - Title1, - Title2, - Title3, -} - -enum facebook::react::EllipsizeMode { - Clip, - Head, - Middle, - Tail, -} - -enum facebook::react::EventPayloadType { - PointerEvent, - ScrollEvent, - ValueFactory, +enum facebook::react::EventPayloadType { + PointerEvent, + ScrollEvent, + ValueFactory, } enum facebook::react::FilterType { @@ -6047,63 +2853,6 @@ enum facebook::react::FocusDirection { FocusUp, } -enum facebook::react::FontStyle : uint8_t { - Italic, - Normal, - Oblique, -} - -enum facebook::react::FontVariant : int { - Default, - LiningNums, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::FontWeight : uint16_t { - Black, - Bold, - Demibold, - Heavy, - Light, - Medium, - Regular, - Semibold, - Thin, - UltraLight, - Weight100, - Weight200, - Weight300, - Weight400, - Weight500, - Weight600, - Weight700, - Weight800, - Weight900, -} - enum facebook::react::GradientDirectionType { Angle, Keyword, @@ -6116,12 +2865,6 @@ enum facebook::react::GradientKeyword : uint8_t { ToTopRight, } -enum facebook::react::HyphenationFrequency { - Full, - None, - Normal, -} - enum facebook::react::ImageResizeMode : int8_t { Center, Contain, @@ -6154,22 +2897,6 @@ enum facebook::react::LayoutDirection { Undefined, } -enum facebook::react::LineBreakMode : uint8_t { - Char, - Clip, - Head, - Middle, - Tail, - Word, -} - -enum facebook::react::LineBreakStrategy : uint8_t { - HangulWordPriority, - None, - PushOut, - Standard, -} - enum facebook::react::ModalHostViewAnimationType { Fade, None, @@ -6202,15 +2929,6 @@ enum facebook::react::OutlineStyle : uint8_t { Solid, } -enum facebook::react::PerformanceEntryType { - EVENT, - LONGTASK, - MARK, - MEASURE, - RESOURCE, - _NEXT, -} - enum facebook::react::PointerEventsMode : uint8_t { Auto, BoxNone, @@ -6224,61 +2942,6 @@ enum facebook::react::PositionType { Static, } -enum facebook::react::PropName { - ALIGN_CONTENT, - ALIGN_ITEMS, - ALIGN_SELF, - ASPECT_RATIO, - BACKFACE_VISIBILITY, - BACKGROUND_COLOR, - BORDER_COLOR, - BORDER_CURVES, - BORDER_RADII, - BORDER_STYLES, - BORDER_WIDTH, - BOX_SHADOW, - BOX_SIZING, - COLUMN_GAP, - CURSOR, - DIRECTION, - DISPLAY, - FILTER, - FLEX, - FLEX_BASIS, - FLEX_DIRECTION, - FLEX_GROW, - FLEX_SHRINK, - FLEX_WRAP, - HEIGHT, - ISOLATION, - JUSTIFY_CONTENT, - MARGIN, - MAX_HEIGHT, - MAX_WIDTH, - MIN_HEIGHT, - MIN_WIDTH, - MIX_BLEND_MODE, - OPACITY, - OUTLINE_COLOR, - OUTLINE_OFFSET, - OUTLINE_STYLE, - OUTLINE_WIDTH, - PADDING, - POINTER_EVENTS, - POSITION, - POSITION_TYPE, - ROW_GAP, - SHADOW_COLOR, - SHADOW_OFFSET, - SHADOW_OPACITY, - SHADOW_RADIUS, - STYLE_OVERFLOW, - TRANSFORM, - TRANSFORM_ORIGIN, - WIDTH, - Z_INDEX, -} - enum facebook::react::RadialGradientShape { Circle, Ellipse, @@ -6291,12 +2954,6 @@ enum facebook::react::ReactEventPriority { Idle, } -enum facebook::react::ResizeObserverBoxOptions { - BorderBox, - ContentBox, - DevicePixelContentBox, -} - enum facebook::react::Role : uint8_t { Alert, Alertdialog, @@ -6378,107 +3035,6 @@ enum facebook::react::ScriptTag { String, } -enum facebook::react::ScrollViewIndicatorStyle { - Black, - Default, - White, -} - -enum facebook::react::ScrollViewKeyboardDismissMode { - Interactive, - None, - OnDrag, -} - -enum facebook::react::ScrollViewSnapToAlignment { - Center, - End, - Start, -} - -enum facebook::react::ShadowTreeCommitMode { - Normal, - Suspended, -} - -enum facebook::react::ShadowTreeCommitSource { - AnimationEndSync, - React, - ReactRevisionMerge, - Unknown, -} - -enum facebook::react::ShadowTreeCommitStatus { - Cancelled, - Failed, - Succeeded, -} - -enum facebook::react::SubmitBehavior { - BlurAndSubmit, - Default, - Newline, - Submit, -} - -enum facebook::react::TextAlignment : uint8_t { - Center, - End, - Justified, - Left, - Natural, - Right, - Start, -} - -enum facebook::react::TextAlignmentVertical { - Auto, - Bottom, - Center, - Top, -} - -enum facebook::react::TextBreakStrategy { - Balanced, - HighQuality, - Simple, -} - -enum facebook::react::TextDecorationLineType : uint8_t { - None, - Strikethrough, - Underline, - UnderlineStrikethrough, -} - -enum facebook::react::TextDecorationStyle : uint8_t { - Dashed, - Dotted, - Double, - Solid, - Wavy, -} - -enum facebook::react::TextTransform : uint8_t { - Capitalize, - Lowercase, - None, - Unset, - Uppercase, -} - -enum facebook::react::TextWidthMode { - Auto, - LongestLine, -} - -enum facebook::react::TimerSource { - RequestAnimationFrame, - SetInterval, - SetTimeout, - Unknown, -} - enum facebook::react::TransformOperationType : uint8_t { Arbitrary, Identity, @@ -6507,18 +3063,6 @@ enum facebook::react::UnitType { Undefined, } -enum facebook::react::WritingDirection : uint8_t { - LeftToRight, - Natural, - RightToLeft, -} - -struct facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public std::string name; -} - struct facebook::react::AccessibilityAction { public std::optional label; public std::string name; @@ -6550,150 +3094,35 @@ struct facebook::react::AccessibilityValue { public std::optional text; } -struct facebook::react::ActivePointer { - public bool shouldLeaveWhenReleased; - public facebook::react::PointerEvent event; -} - -struct facebook::react::AndroidTextInputTextShadowOffsetStruct { - public double height; - public double width; +struct facebook::react::AnimatedPropsBuffer { + public std::vector doubles; + public std::vector rawProps; + public std::vector ints; } -struct facebook::react::AnimatedPropBase { - public AnimatedPropBase(facebook::react::PropName propName); - public facebook::react::PropName propName; - public virtual ~AnimatedPropBase() = default; +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; } -struct facebook::react::AnimatedProps { - public std::unique_ptr rawProps; - public std::vector> props; +struct facebook::react::BackgroundRepeat { + public BackgroundRepeat(); + public bool operator==(const facebook::react::BackgroundRepeat& other) const = default; + public facebook::react::BackgroundRepeatStyle x; + public facebook::react::BackgroundRepeatStyle y; } -struct facebook::react::AnimatedPropsBuffer { - public std::vector doubles; - public std::vector rawProps; - public std::vector ints; -} - -struct facebook::react::AnimatedPropsBuilder { - public facebook::react::AnimatedProps get(); - public std::unique_ptr rawProps; - public std::vector> props; - public void setAlignContent(facebook::yoga::Align value); - public void setAlignItems(facebook::yoga::Align value); - public void setAlignSelf(facebook::yoga::Align value); - public void setAspectRatio(facebook::yoga::FloatOptional value); - public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); - public void setBackgroundColor(facebook::react::SharedColor value); - public void setBorderColor(facebook::react::CascadedBorderColors& value); - public void setBorderCurves(facebook::react::CascadedBorderCurves& value); - public void setBorderRadii(facebook::react::CascadedBorderRadii& value); - public void setBorderStyles(facebook::react::CascadedBorderStyles& value); - public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); - public void setBoxShadow(const std::vector& value); - public void setBoxSizing(facebook::yoga::BoxSizing value); - public void setColumnGap(facebook::yoga::Style::Length value); - public void setCursor(facebook::react::Cursor value); - public void setDirection(facebook::yoga::Direction value); - public void setDisplay(facebook::yoga::Display value); - public void setFilter(const std::vector& value); - public void setFlex(facebook::yoga::FloatOptional value); - public void setFlexBasis(facebook::yoga::Style::SizeLength value); - public void setFlexDirection(facebook::yoga::FlexDirection value); - public void setFlexGrow(facebook::yoga::FloatOptional value); - public void setFlexShrink(facebook::yoga::FloatOptional value); - public void setFlexWrap(facebook::yoga::Wrap value); - public void setHeight(facebook::yoga::Style::SizeLength value); - public void setIsolation(facebook::react::Isolation value); - public void setJustifyContent(facebook::yoga::Justify value); - public void setMargin(facebook::react::CascadedRectangleEdges& value); - public void setMaxHeight(facebook::yoga::Style::SizeLength value); - public void setMaxWidth(facebook::yoga::Style::SizeLength value); - public void setMinHeight(facebook::yoga::Style::SizeLength value); - public void setMinWidth(facebook::yoga::Style::SizeLength value); - public void setMixBlendMode(facebook::react::BlendMode value); - public void setOpacity(facebook::react::Float value); - public void setOutlineColor(facebook::react::SharedColor value); - public void setOutlineOffset(facebook::react::Float value); - public void setOutlineStyle(facebook::react::OutlineStyle value); - public void setOutlineWidth(facebook::react::Float value); - public void setOverflow(facebook::yoga::Overflow value); - public void setPadding(facebook::react::CascadedRectangleEdges& value); - public void setPointerEvents(facebook::react::PointerEventsMode value); - public void setPosition(facebook::react::CascadedRectangleEdges& value); - public void setPositionType(facebook::yoga::PositionType value); - public void setRowGap(facebook::yoga::Style::Length value); - public void setShadowColor(facebook::react::SharedColor value); - public void setShadowOffset(facebook::react::Size value); - public void setShadowOpacity(facebook::react::Float value); - public void setShadowRadius(facebook::react::Float value); - public void setTransform(const facebook::react::Transform& t); - public void setTransformOrigin(const facebook::react::TransformOrigin& value); - public void setWidth(facebook::yoga::Style::SizeLength value); - public void setZIndex(std::optional value); - public void storeDynamic(folly::dynamic& d); - public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); -} - -struct facebook::react::AnimationConfig { - public double delay; - public double duration; - public facebook::react::AnimationProperty animationProperty; - public facebook::react::AnimationType animationType; - public facebook::react::Float initialVelocity; - public facebook::react::Float springDamping; -} - -struct facebook::react::AnimationKeyFrame { - public bool generateFinalSyntheticMutations; - public bool invalidated; - public double initialProgress; - public facebook::react::AnimationConfigurationType type; - public facebook::react::ShadowView viewEnd; - public facebook::react::ShadowView viewPrev; - public facebook::react::ShadowView viewStart; - public facebook::react::Tag parentTag; - public facebook::react::Tag tag; - public std::vector finalMutationsForKeyFrame; -} - -struct facebook::react::AnimationMutation { - public bool hasLayoutUpdates; - public facebook::react::AnimatedProps props; - public facebook::react::Tag tag; - public std::shared_ptr family; -} - -struct facebook::react::AnimationMutations { - public std::set asyncFlushSurfaces; - public std::vector batch; -} - -struct facebook::react::BackgroundPosition { - public BackgroundPosition(); - public bool operator==(const facebook::react::BackgroundPosition& other) const = default; - public std::optional bottom; - public std::optional left; - public std::optional right; - public std::optional top; -} - -struct facebook::react::BackgroundRepeat { - public BackgroundRepeat(); - public bool operator==(const facebook::react::BackgroundRepeat& other) const = default; - public facebook::react::BackgroundRepeatStyle x; - public facebook::react::BackgroundRepeatStyle y; -} - -struct facebook::react::BackgroundSizeLengthPercentage { - public BackgroundSizeLengthPercentage(); - public bool isXAuto() const; - public bool isYAuto() const; - public bool operator==(const facebook::react::BackgroundSizeLengthPercentage& other) const = default; - public std::variant x; - public std::variant y; +struct facebook::react::BackgroundSizeLengthPercentage { + public BackgroundSizeLengthPercentage(); + public bool isXAuto() const; + public bool isYAuto() const; + public bool operator==(const facebook::react::BackgroundSizeLengthPercentage& other) const = default; + public std::variant x; + public std::variant y; } struct facebook::react::BaseTouch { @@ -6767,13 +3196,6 @@ struct facebook::react::Bridging { public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); } -struct facebook::react::BufferEvent { - public std::string name; - public std::string track; - public uint64_t end; - public uint64_t start; -} - struct facebook::react::BundleHeader { public BundleHeader(); public facebook::react::Magic32 magic32; @@ -6781,286 +3203,6 @@ struct facebook::react::BundleHeader { public uint64_t magic64; } -struct facebook::react::CSSAngle { - public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSBlurFilter { - public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; - public facebook::react::CSSLength amount; -} - -struct facebook::react::CSSBrightnessFilter { - public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSColor { - public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; - public static constexpr facebook::react::CSSColor black(); - public uint8_t a; - public uint8_t b; - public uint8_t g; - public uint8_t r; -} - -struct facebook::react::CSSColorHint { - public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; - public std::variant position; -} - -struct facebook::react::CSSColorStop { - public bool operator==(const facebook::react::CSSColorStop& rhs) const; - public facebook::react::CSSColor color; - public std::optional> endPosition; - public std::optional> startPosition; -} - -struct facebook::react::CSSContrastFilter { - public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSDropShadowFilter { - public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength standardDeviation; -} - -struct facebook::react::CSSFunctionBlock { - public std::string_view name; -} - -struct facebook::react::CSSGrayscaleFilter { - public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSHueRotateFilter { - public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSInvertFilter { - public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSLength { - public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; - public facebook::react::CSSLengthUnit unit; - public float value; -} - -struct facebook::react::CSSLinearGradientDirection { - public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSLinearGradientFunction { - public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; - public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); - public std::optional direction; - public std::vector> items; -} - -struct facebook::react::CSSMatrix { - public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; - public std::array values; -} - -struct facebook::react::CSSNumber { - public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; - public float value; -} - -struct facebook::react::CSSOpacityFilter { - public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSPercentage { - public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; - public float value; -} - -struct facebook::react::CSSPerspective { - public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; - public facebook::react::CSSLength length; -} - -struct facebook::react::CSSRadialGradientExplicitSize { - public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; - public std::variant sizeX; - public std::variant sizeY; -} - -struct facebook::react::CSSRadialGradientFunction { - public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; - public std::optional position; - public std::optional shape; - public std::optional size; - public std::vector> items; -} - -struct facebook::react::CSSRadialGradientPosition { - public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; - public std::optional> bottom; - public std::optional> left; - public std::optional> right; - public std::optional> top; -} - -struct facebook::react::CSSRatio { - public constexpr bool isDegenerate() const; - public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; - public float denominator; - public float numerator; -} - -struct facebook::react::CSSRotate { - public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateX { - public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateY { - public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateZ { - public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSaturateFilter { - public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSScale { - public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; - public float x; - public float y; -} - -struct facebook::react::CSSScaleX { - public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; - public float value; -} - -struct facebook::react::CSSScaleY { - public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; - public float value; -} - -struct facebook::react::CSSSepiaFilter { - public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSShadow { - public bool inset; - public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength blurRadius; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength spreadDistance; -} - -struct facebook::react::CSSSimpleBlock { - public facebook::react::CSSTokenType openBracketType; -} - -struct facebook::react::CSSSkewX { - public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSkewY { - public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSTransformOrigin { - public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate3D { - public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate { - public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslateX { - public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSTranslateY { - public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSZero { - public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; -} - -struct facebook::react::CallbackWithId { - public facebook::react::Callback callback; - public facebook::react::CallbackId callbackId; -} - -struct facebook::react::CascadedRectangleCornersNames { - public const char* all; - public const char* bottomEnd; - public const char* bottomLeft; - public const char* bottomRight; - public const char* bottomStart; - public const char* endEnd; - public const char* endStart; - public const char* startEnd; - public const char* startStart; - public const char* topEnd; - public const char* topLeft; - public const char* topRight; - public const char* topStart; -} - -struct facebook::react::CascadedRectangleEdgesNames { - public const char* all; - public const char* block; - public const char* blockEnd; - public const char* blockStart; - public const char* bottom; - public const char* end; - public const char* horizontal; - public const char* left; - public const char* right; - public const char* start; - public const char* top; - public const char* vertical; -} - struct facebook::react::Color { public bool isDefined; public constexpr Color() = default; @@ -7126,21 +3268,9 @@ enum facebook::react::CppMountItem::Type { UpdateState, } -struct facebook::react::CullingContext { - public bool operator==(const facebook::react::CullingContext& rhs) const = default; - public bool shouldConsiderCulling() const; - public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; - public facebook::react::Rect frame; - public facebook::react::Transform transform; -} - struct facebook::react::DebugStringConvertibleOptions { } -struct facebook::react::DefaultTurboModules { - public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); -} - struct facebook::react::DropShadowParams { public bool operator==(const facebook::react::DropShadowParams& other) const = default; public facebook::react::Float offsetX; @@ -7150,11 +3280,6 @@ struct facebook::react::DropShadowParams { public folly::dynamic toDynamic() const; } -struct facebook::react::DummyTraceSection { - template - public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); -} - struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { protected folly::dynamic payload_; public DynamicEventPayload(folly::dynamic&& payload); @@ -7169,12 +3294,6 @@ struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEve public const std::optional>& getHitPathForEventListener() const; } -struct facebook::react::EventAnimationDriverKey { - public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; - public facebook::react::Tag viewTag; - public std::string eventName; -} - struct facebook::react::EventPayload { public EventPayload() = default; public EventPayload(const facebook::react::EventPayload&) = default; @@ -7200,26 +3319,6 @@ struct facebook::react::ImageRequestItem { public facebook::react::Tag tag; } -struct facebook::react::InspectorData { - public folly::dynamic props; - public int columnNumber; - public int lineNumber; - public int selectedIndex; - public std::string fileName; - public std::vector hierarchy; -} - -struct facebook::react::IntersectionObserverEntry { - public bool isIntersectingAboveThresholds; - public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; - public facebook::react::HighResTimeStamp time; - public facebook::react::IntersectionObserverObserverId intersectionObserverId; - public facebook::react::Rect intersectionRect; - public facebook::react::Rect rootRect; - public facebook::react::Rect targetRect; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; -} - struct facebook::react::JAssetManager : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; } @@ -7292,23 +3391,6 @@ struct facebook::react::JTurboModuleWithJSIBindings : public facebook::jni::Java public static constexpr auto kJavaDescriptor; } -struct facebook::react::LayoutAnimation { - public bool completed; - public facebook::react::LayoutAnimationCallbackWrapper failureCallback; - public facebook::react::LayoutAnimationCallbackWrapper successCallback; - public facebook::react::LayoutAnimationConfig layoutAnimationConfig; - public facebook::react::SurfaceId surfaceId; - public std::vector keyFrames; - public uint64_t startTime; -} - -struct facebook::react::LayoutAnimationConfig { - public double duration; - public facebook::react::AnimationConfig createConfig; - public facebook::react::AnimationConfig deleteConfig; - public facebook::react::AnimationConfig updateConfig; -} - struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { public LayoutConformanceProps() = default; public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -7348,19 +3430,6 @@ struct facebook::react::LayoutMetrics { public facebook::react::Rect getPaddingFrame() const; } -struct facebook::react::LineMeasurement { - public LineMeasurement(const folly::dynamic& data); - public LineMeasurement(std::string text, facebook::react::Rect frame, facebook::react::Float descender, facebook::react::Float capHeight, facebook::react::Float ascender, facebook::react::Float xHeight); - public bool operator==(const facebook::react::LineMeasurement& rhs) const; - public facebook::react::Float ascender; - public facebook::react::Float capHeight; - public facebook::react::Float descender; - public facebook::react::Float xHeight; - public facebook::react::Rect frame; - public static facebook::react::Float baseline(const std::vector& lines); - public std::string text; -} - struct facebook::react::LinearGradient { public bool operator==(const facebook::react::LinearGradient& other) const = default; public facebook::react::GradientDirection direction; @@ -7373,28 +3442,10 @@ struct facebook::react::Magic32 { public uint32_t value; } -struct facebook::react::MarginValue { - public bool isPercentage; - public facebook::react::Float value; -} - -struct facebook::react::MeasuredPreparedTextLayout { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::TextMeasurement measurement; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; -} - struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { public facebook::react::ModalHostViewSupportedOrientationsMask value; } -struct facebook::react::MutationRecord { - public facebook::react::MutationObserverId mutationObserverId; - public std::shared_ptr targetShadowNode; - public std::vector> addedShadowNodes; - public std::vector> removedShadowNodes; -} - struct facebook::react::NativeDrawable { public bool operator!=(const facebook::react::NativeDrawable& rhs) const; public bool operator==(const facebook::react::NativeDrawable& rhs) const; @@ -7419,73 +3470,6 @@ struct facebook::react::NativeDrawable::Ripple { public std::optional> colorResourcePaths; } -struct facebook::react::NativePerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional fetchStart; - public std::optional processingEnd; - public std::optional processingStart; - public std::optional requestStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::optional interactionId; - public std::optional decodedBodySize; - public std::optional encodedBodySize; - public std::optional responseStatus; - public std::optional contentType; - public std::string name; -} - -struct facebook::react::PerformanceEntrySorter { - public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs) const; -} - -struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp processingEnd; - public facebook::react::HighResTimeStamp processingStart; - public facebook::react::HighResTimeStamp taskEndTime; - public facebook::react::PerformanceEntryInteractionId interactionId; - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceObserverObserveMultipleOptions { - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceObserverObserveSingleOptions { - public bool buffered; - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public static constexpr facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::string contentType; -} - struct facebook::react::Point { public bool operator==(const facebook::react::Point& rhs) const = default; public facebook::react::Float x; @@ -7524,11 +3508,6 @@ struct facebook::react::PointerEvent : public facebook::react::EventPayload { public virtual facebook::react::EventPayloadType getType() const override; } -struct facebook::react::PointerEventTarget { - public facebook::react::PointerEvent event; - public std::shared_ptr target; -} - struct facebook::react::ProcessedColorStop { public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; public facebook::react::SharedColor color; @@ -7551,12 +3530,6 @@ struct facebook::react::PropsParserContext { public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; } -struct facebook::react::PropsSnapshot { - public std::unique_ptr props; - public std::unique_ptr rawProps; - public std::unordered_set propNames; -} - struct facebook::react::RadialGradient { public bool operator==(const facebook::react::RadialGradient& other) const = default; public facebook::react::RadialGradientPosition position; @@ -7647,13 +3620,6 @@ struct facebook::react::ReadableType : public facebook::jni::JavaClass getType(folly::dynamic::Type type); } -struct facebook::react::RecoverableError : public std::exception { - public RecoverableError(const std::string& what_); - public virtual const char* what() const noexcept override; - template - public static void runRethrowingAsRecoverable(std::function act); -} - struct facebook::react::Rect { public bool containsPoint(facebook::react::Point point) noexcept; public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; @@ -7671,82 +3637,6 @@ struct facebook::react::Rect { public void unionInPlace(const facebook::react::Rect& rect) noexcept; } -struct facebook::react::RequestInfo { - public std::optional headers; - public std::optional httpBody; - public std::string httpMethod; - public std::string url; -} - -struct facebook::react::ResizeObservationResult { - public bool detached; - public facebook::react::Size observedSize; - public size_t targetDepth; - public std::optional entry; -} - -struct facebook::react::ResizeObserverEntry { - public facebook::react::Rect contentRect; - public facebook::react::ResizeObserverObserverId resizeObserverId; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; - public facebook::react::Size borderBoxSize; - public facebook::react::Size contentBoxSize; - public facebook::react::Size devicePixelContentBoxSize; -} - -struct facebook::react::ResourceTimingData { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseStart; - public std::string contentType; - public std::string url; -} - -struct facebook::react::ResponseInfo { - public std::optional headers; - public std::string url; - public uint16_t statusCode; -} - -struct facebook::react::SchedulerToolbox { - public facebook::react::ComponentRegistryFactory componentRegistryFactory; - public facebook::react::EventBeat::Factory eventBeatFactory; - public facebook::react::RuntimeExecutor runtimeExecutor; - public std::optional bridgelessBindingsExecutor; - public std::shared_ptr contextContainer; - public std::shared_ptr animationChoreographer; - public std::vector> commitHooks; -} - -struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { - public ScrollEndDragEvent() = default; - public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); - public facebook::react::Point targetContentOffset; - public facebook::react::Point velocity; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; -} - -struct facebook::react::ScrollEvent : public facebook::react::EventPayload { - public ScrollEvent() = default; - public bool responderIgnoreScroll; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Float timestamp; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; - public virtual facebook::react::EventPayloadType getType() const override; - public virtual std::optional extractValue(const std::vector&) const override; -} - struct facebook::react::ShadowNodeFamilyFragment { public const facebook::react::SurfaceId surfaceId; public const facebook::react::Tag tag; @@ -7763,82 +3653,12 @@ struct facebook::react::ShadowNodeFragment { public static const std::shared_ptr>>& childrenPlaceholder(); } -struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { - public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); - public std::shared_ptr>> shadowNodeList; - public ~ShadowNodeListWrapper() override; -} - struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { public ShadowNodeWrapper(std::shared_ptr shadowNode); public std::shared_ptr shadowNode; public ~ShadowNodeWrapper() override; } -struct facebook::react::ShadowTreeCommitOptions { - public bool enableStateReconciliation; - public bool mountSynchronously; - public facebook::react::ShadowTreeCommitSource source; -} - -struct facebook::react::ShadowView { - public ShadowView() = default; - public ShadowView(const facebook::react::ShadowNode& shadowNode); - public ShadowView(const facebook::react::ShadowView& shadowView) = default; - public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; - public bool operator==(const facebook::react::ShadowView& rhs) const; - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::EventEmitter::Shared eventEmitter; - public facebook::react::LayoutMetrics layoutMetrics; - public facebook::react::Props::Shared props; - public facebook::react::ShadowNodeTraits traits; - public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; - public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; - public facebook::react::State::Shared state; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; -} - -struct facebook::react::ShadowViewMutation { - public ShadowViewMutation() = delete; - public bool mutatedViewIsVirtual() const; - public facebook::react::ShadowView newChildShadowView; - public facebook::react::ShadowView oldChildShadowView; - public facebook::react::ShadowViewMutation::Type type; - public facebook::react::Tag parentTag; - public int index; - public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); - public using List = std::vector; -} - -enum facebook::react::ShadowViewMutation::Type : std::uint8_t { - Create, - Delete, - Insert, - Remove, - Update, -} - -struct facebook::react::ShadowViewNodePair { - public bool flattened; - public bool inOtherTree() const; - public bool isConcreteView; - public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; - public const facebook::react::ShadowNode* shadowNode; - public facebook::react::Point contextOrigin; - public facebook::react::ShadowView shadowView; - public mutable const facebook::react::ShadowViewNodePair* otherTreePair; - public size_t mountIndex; -} - struct facebook::react::Size { public facebook::react::Float height; public facebook::react::Float width; @@ -7853,44 +3673,6 @@ struct facebook::react::StateData { public using Shared = std::shared_ptr; } -struct facebook::react::SurfaceContext { - public std::unordered_map> map; - public std::unordered_map> pendingMap; - public std::unordered_set> families; - public std::unordered_set> pendingFamilies; -} - -struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { - template - public SystraceSection(const char* name, ConvertsToStringPiece &&... args); -} - -struct facebook::react::Task : public facebook::jsi::NativeState { - public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); - public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); -} - -struct facebook::react::TextEffectInfo { - public bool operator==(const facebook::react::TextEffectInfo&) const = default; - public folly::dynamic props; - public std::string name; -} - -struct facebook::react::TextLayoutContext { - public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; - public facebook::react::Float pointScaleFactor; - public facebook::react::SurfaceId surfaceId; -} - -struct facebook::react::TimerCallback { - public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); - public bool repeat; - public const std::vector args_; - public facebook::jsi::Function callback_; - public facebook::react::TimerSource source; - public void invoke(facebook::jsi::Runtime& runtime); -} - struct facebook::react::TouchEvent { public facebook::react::Touches changedTouches; public facebook::react::Touches targetTouches; @@ -7924,12 +3706,6 @@ struct facebook::react::Transform { public std::vector operations; } -struct facebook::react::TransformConfig { - public double value; - public facebook::react::Tag nodeTag; - public std::string property; -} - struct facebook::react::TransformOperation { public bool operator==(const facebook::react::TransformOperation& other) const = default; public facebook::react::TransformOperationType type; @@ -8050,64 +3826,6 @@ struct facebook::react::WritableNativeMap : public jni::HybridClass val); } -template -struct facebook::react::CSSList : public std::vector { -} - -template -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSList { -} - -template ... VisitorsT> -struct facebook::react::CSSComponentValueVisitorDispatcher { - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); - public constexpr std::optional visitFunction(); - public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitPreservedToken(); - public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public facebook::react::CSSSyntaxParser& parser; -} - -template -struct facebook::react::CSSList : public std::vector { -} - -template -class facebook::react::CircularBuffer { - public CircularBuffer(size_t maxSize); - public T& operator[](size_t idx); - public bool add(const T& el); - public size_t size() const; - public std::vector getEntries() const; - public std::vector getEntries(std::function predicate) const; - public void clear(); - public void clear(std::function predicate); - public void getEntries(std::vector& res) const; - public void getEntries(std::vector& res, std::function predicate) const; -} - -template -class facebook::react::MoveWrapper { - public MoveWrapper() = default; - public MoveWrapper(T&& t); - public MoveWrapper(const facebook::react::MoveWrapper& other); - public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; - public T& operator*(); - public T&& move(); - public T* operator->(); - public const T& operator*() const; - public const T* operator->() const; - public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; - public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; -} - template class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); @@ -8120,20 +3838,6 @@ class facebook::react::ConcreteViewShadowNode : public facebook::react::Concrete public virtual facebook::react::Transform getTransform() const override; } -template -class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; - protected std::shared_ptr textLayoutManager_; - protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - protected virtual void layout(facebook::react::LayoutContext layoutContext) override; - public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - template class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { protected facebook::react::Props::Shared props_; @@ -8165,17 +3869,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging { } -template -struct facebook::react::TemplateStringLiteral { - public constexpr TemplateStringLiteral(const char(&str)[N]); - public constexpr operator std::string_view() const; - public std::array value; -} - -template -struct facebook::react::CSSDataTypeParser { -} - template class facebook::react::ConcreteState : public facebook::react::State { public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); @@ -8197,25 +3890,6 @@ template class facebook::react::SyncCallback { } -template -class facebook::react::SimpleThreadSafeCache { - public SimpleThreadSafeCache(); - public SimpleThreadSafeCache(unsigned long size); - public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; - public std::optional get(const KeyT& key) const; - public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; -} - -template -class facebook::react::OnScopeExit { - public OnScopeExit(const Lambda&& lambda) noexcept; - public OnScopeExit(const facebook::react::OnScopeExit&) = delete; - public OnScopeExit(facebook::react::OnScopeExit&&) = delete; - public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; - public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; - public ~OnScopeExit() noexcept; -} - template struct facebook::react::NativePerformanceRawPerformanceEntry { public P0 name; @@ -8563,13 +4237,6 @@ class facebook::react::SafeReleaseJniRef { public ~SafeReleaseJniRef(); } -template -class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::ComponentName getComponentName() const override; -} - template class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; @@ -8593,29 +4260,6 @@ class facebook::react::ConcreteComponentDescriptor : public facebook::react::Com public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; } -template -class facebook::react::Element { - public Element(); - public facebook::react::Element& children(std::vector children); - public facebook::react::Element& finalize(std::function finalizeCallback); - public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); - public facebook::react::Element& props(std::function callback); - public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); - public facebook::react::Element& reference(std::function callback); - public facebook::react::Element& stateData(std::function callback); - public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); - public facebook::react::Element& tag(facebook::react::Tag tag); - public operator facebook::react::ElementFragment(); - public using ConcreteProps = typename ShadowNodeT::ConcreteProps; - public using ConcreteReferenceCallback = std::function& shadowNode)>; - public using ConcreteShadowNode = ShadowNodeT; - public using ConcreteState = typename ShadowNodeT::ConcreteState; - public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; - public using ConcreteUnsharedShadowNode = std::shared_ptr; - public using SharedConcreteProps = std::shared_ptr; - public using SharedConcreteState = std::shared_ptr; -} - template struct facebook::react::Bridging { } @@ -8944,13 +4588,6 @@ class facebook::react::NativeWebSocketModuleCxxSpec : public facebook::react::Tu public static constexpr std::string_view kModuleName; } -template -struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { - public AnimatedProp() = default; - public AnimatedProp(facebook::react::PropName propName, const T& value); - public T value; -} - template struct facebook::react::CascadedRectangleCorners { public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; @@ -9286,13 +4923,6 @@ class facebook::react::AsyncPromise { public void resolve(T... value); } -template -class facebook::react::EventListenerContainerT { - public bool willDispatchEvent(TArgs... args); - public void addListener(std::shared_ptr> listener); - public void removeListener(const std::shared_ptr>& listener); -} - struct facebook::react::Bridging { public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); @@ -9367,1114 +4997,102 @@ struct facebook::react::Bridging> : public facebook::react::array template struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { -} - -struct facebook::react::Bridging { - public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); -} - -struct facebook::react::Bridging { - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); - public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); -} - -struct facebook::react::Bridging : public facebook::react::NativeAnimatedTurboModuleEndResultBridging { -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); - public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); - public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); - public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationRecordBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativePerformanceRawPerformanceEntryBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativePerformancePerformanceObserverInitBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { -} - -struct facebook::react::Bridging { - public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); - public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSDataTypeParser> { - public static std::optional> consume(facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); - public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); - public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); -} - -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); -} - -template -struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - - -bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& viewProps); -bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& viewProps); -bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps& viewProps); - - -const char* facebook::react::exceptions::gUnexpectedNativeTypeExceptionClass; -template -void facebook::react::exceptions::throwIfObjectAlreadyConsumed(const T& t, const char* msg); - - -constexpr bool facebook::react::detail::isHexDigit(char c); -constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); -constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); -constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); -constexpr uint8_t facebook::react::detail::clamp255Component(float f); -constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); -constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); -float facebook::react::detail::normalizeHue(float hue); -std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); -std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); -std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); -template -constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); -template -C facebook::react::detail::memberFunctionClass(T C::*); -template -constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); - -class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { - public OwnedBytesBuffer(std::vector bytes) noexcept; - public virtual size_t size() const override; - public virtual uint8_t* data() override; -} - -enum facebook::react::detail::HexColorType { - Long, - Short, -} - -template -struct facebook::react::detail::merge_data_types { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types { -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = typename T::PreparedTextLayout; -} - -template -struct facebook::react::detail::CSSVariantComponentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSAngleTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSFilterSimpleAmountParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSNumberPercentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = std::nullptr_t; -} - -template -struct facebook::react::detail::is_variant_of_data_types : public std::false_type { -} - -template -class facebook::react::detail::TextLayoutManagerExtended { - public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); - public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public static constexpr bool supportsLineMeasurement(); - public static constexpr bool supportsPreparedTextLayout(); - public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; -} - -template -struct facebook::react::detail::merge_variant { -} - -template -struct facebook::react::detail::merge_data_types, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_variant, RestT...> { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types> { - public using type = std::variant; -} - -template -struct facebook::react::detail::is_variant_of_data_types> : public std::true_type { -} - -template -struct facebook::react::detail::merge_data_types, std::variant, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - - -constexpr std::string_view facebook::react::detail::css::keywords::Absolute; -constexpr std::string_view facebook::react::detail::css::keywords::At; -constexpr std::string_view facebook::react::detail::css::keywords::Auto; -constexpr std::string_view facebook::react::detail::css::keywords::Baseline; -constexpr std::string_view facebook::react::detail::css::keywords::Block; -constexpr std::string_view facebook::react::detail::css::keywords::Bottom; -constexpr std::string_view facebook::react::detail::css::keywords::Center; -constexpr std::string_view facebook::react::detail::css::keywords::Clip; -constexpr std::string_view facebook::react::detail::css::keywords::Column; -constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; -constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Content; -constexpr std::string_view facebook::react::detail::css::keywords::Contents; -constexpr std::string_view facebook::react::detail::css::keywords::Contextual; -constexpr std::string_view facebook::react::detail::css::keywords::Dashed; -constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Dotted; -constexpr std::string_view facebook::react::detail::css::keywords::Double; -constexpr std::string_view facebook::react::detail::css::keywords::End; -constexpr std::string_view facebook::react::detail::css::keywords::Fixed; -constexpr std::string_view facebook::react::detail::css::keywords::Flex; -constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; -constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; -constexpr std::string_view facebook::react::detail::css::keywords::Grid; -constexpr std::string_view facebook::react::detail::css::keywords::Groove; -constexpr std::string_view facebook::react::detail::css::keywords::Hidden; -constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Inherit; -constexpr std::string_view facebook::react::detail::css::keywords::Initial; -constexpr std::string_view facebook::react::detail::css::keywords::Inline; -constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; -constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; -constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; -constexpr std::string_view facebook::react::detail::css::keywords::Inset; -constexpr std::string_view facebook::react::detail::css::keywords::Left; -constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; -constexpr std::string_view facebook::react::detail::css::keywords::Ltr; -constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; -constexpr std::string_view facebook::react::detail::css::keywords::Medium; -constexpr std::string_view facebook::react::detail::css::keywords::MinContent; -constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; -constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; -constexpr std::string_view facebook::react::detail::css::keywords::None; -constexpr std::string_view facebook::react::detail::css::keywords::Normal; -constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; -constexpr std::string_view facebook::react::detail::css::keywords::Outset; -constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; -constexpr std::string_view facebook::react::detail::css::keywords::Relative; -constexpr std::string_view facebook::react::detail::css::keywords::Ridge; -constexpr std::string_view facebook::react::detail::css::keywords::Right; -constexpr std::string_view facebook::react::detail::css::keywords::Row; -constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; -constexpr std::string_view facebook::react::detail::css::keywords::Rtl; -constexpr std::string_view facebook::react::detail::css::keywords::Scroll; -constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; -constexpr std::string_view facebook::react::detail::css::keywords::Solid; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; -constexpr std::string_view facebook::react::detail::css::keywords::Start; -constexpr std::string_view facebook::react::detail::css::keywords::Static; -constexpr std::string_view facebook::react::detail::css::keywords::Sticky; -constexpr std::string_view facebook::react::detail::css::keywords::Stretch; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; -constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; -constexpr std::string_view facebook::react::detail::css::keywords::Thick; -constexpr std::string_view facebook::react::detail::css::keywords::Thin; -constexpr std::string_view facebook::react::detail::css::keywords::To; -constexpr std::string_view facebook::react::detail::css::keywords::Top; -constexpr std::string_view facebook::react::detail::css::keywords::Unset; -constexpr std::string_view facebook::react::detail::css::keywords::Visible; -constexpr std::string_view facebook::react::detail::css::keywords::Wrap; -constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; -template -concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); -template -concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); -template -concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); -template -concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); -template -concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); -template -concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); -template -concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); -template -concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); -template -concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); -template -concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); -template -concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); -template -concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); -template -concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); -template -concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); -template -concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); -template -concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); -template -concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); -template -concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); -template -concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); -template -concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); -template -concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); -template -concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); -template -concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); -template -concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); -template -concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); -template -concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); -template -concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); -template -concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); -template -concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); -template -concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); -template -concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); -template -concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); -template -concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); -template -concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); -template -concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); -template -concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); -template -concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); -template -concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); -template -concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); -template -concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); -template -concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); -template -concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); -template -concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); -template -concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); -template -concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); -template -concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); -template -concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); -template -concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); -template -concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); -template -concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); -template -concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); -template -concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); -template -concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); -template -concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); -template -concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); -template -concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); -template -concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); -template -concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); -template -concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); -template -concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); -template -concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); -template -concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); -template -concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); -template -concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); -template -concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); -template -concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); -template -concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); -template -concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); -template -concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); - - -constexpr facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; - - -constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; -template -using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; -typedef std::function facebook::react::jsinspector_modern::FrontendChannel; -typedef std::map facebook::react::jsinspector_modern::Headers; -using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; -using facebook::react::jsinspector_modern::IOReadError = const std::string; -using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; -using facebook::react::jsinspector_modern::StreamID = const std::string; -using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; -bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); -facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); -folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); -folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); -std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); -std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); -std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); -template -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); -template -facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); -void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); -void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); -void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); -void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); - -class facebook::react::jsinspector_modern::BoundedRequestBuffer { - public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; - public std::shared_ptr get(const std::string& requestId) const; - public void clear(); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { - public bool base64Encoded; - public std::string data; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { } -class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { - public CallbackLocalConnection(std::function handler); - public virtual void disconnect() override; - public virtual void sendMessage(std::string message) override; +struct facebook::react::Bridging { + public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); } -class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public CallbackRemoteConnection(std::function handler); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); } -class facebook::react::jsinspector_modern::ConsoleTask { - public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; - public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; - public ConsoleTask(std::shared_ptr taskContext); - public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; - public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; - public ~ConsoleTask(); +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { - public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); - public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskId id() const; - public std::optional getSerializedStackTrace() const; - public void schedule(); - public ~ConsoleTaskContext(); +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); } -class facebook::react::jsinspector_modern::ConsoleTaskId { - public ConsoleTaskId() = default; - public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public operator bool() const; - public operator void *() const; - public ~ConsoleTaskId() = default; -} - -class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { - public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); - public std::shared_ptr top() const; - public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); - public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public ~ConsoleTaskOrchestrator() = default; -} - -class facebook::react::jsinspector_modern::EmulationAgent { - public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); -} - -class facebook::react::jsinspector_modern::ExecutionContextManager { - public int32_t allocateExecutionContextId(); -} - -class facebook::react::jsinspector_modern::ExecutionContextSelector { - public ExecutionContextSelector() = delete; - public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; - public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); - public ~ExecutionContextSelector() = default; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public FallbackRuntimeTargetDelegate(std::string engineDescription); - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; -} - -class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); - public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; - public ~HermesRuntimeTargetDelegate() override; -} - -class facebook::react::jsinspector_modern::HostAgent { - public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); - public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public bool isEligibleForBackgroundTrace() const; - public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public void emitSystemStateChanged(bool isSingleHost); - public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void setCurrentInstanceAgent(std::shared_ptr agent); - public ~HostAgent(); -} - -class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public bool stopAndMaybeEmitBackgroundTrace(); - public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public std::unique_ptr connect(std::unique_ptr connectionToFrontend); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); - public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); - public ~HostTarget(); -} - -class facebook::react::jsinspector_modern::HostTargetController { - public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); - public bool decrementPauseOverlayCounter(); - public bool hasInstance() const; - public bool maybeEmitStashedBackgroundTrace(); - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public void incrementPauseOverlayCounter(); -} - -class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public HostTargetDelegate() = default; - public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&); - public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; - public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); - public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&); - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; - public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; - public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; - public virtual ~HostTargetDelegate() override; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; - public std::optional message; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest { - public std::optional quality; - public std::optional format; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; - public std::optional ignoreCache; - public std::optional scriptToEvaluateOnLoad; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest& rhs) const; - public std::string colorScheme; -} - -class facebook::react::jsinspector_modern::HostTargetTraceRecording { - public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public bool isBackgroundInitiated() const; - public bool isUserInitiated() const; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); - public void start(); -} - -class facebook::react::jsinspector_modern::HostTargetTracingDelegate { - public HostTargetTracingDelegate() = default; - public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); - public virtual void onTracingStopped(); - public virtual ~HostTargetTracingDelegate() = default; -} - -class facebook::react::jsinspector_modern::HostTracingAgent { - public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); -} - -class facebook::react::jsinspector_modern::IDestructible { - public virtual ~IDestructible() = 0; -} - -class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { - public using ConnectFunc = std::function(std::unique_ptr)>; - public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; - public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; - public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; - public virtual std::vector getPages() const = 0; - public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; - public virtual void removePage(int pageId) = 0; - public virtual ~IInspector() = 0; -} - -class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void disconnect() = 0; - public virtual void sendMessage(std::string message) = 0; - public virtual ~ILocalConnection() = 0; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); } -class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onPageRemoved(int); - public virtual ~IPageStatusListener() = 0; +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onDisconnect() = 0; - public virtual void onMessage(std::string message) = 0; - public virtual ~IRemoteConnection() = 0; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -class facebook::react::jsinspector_modern::IWebSocket { - public virtual void send(std::string_view message) = 0; - public virtual ~IWebSocket() = default; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -class facebook::react::jsinspector_modern::IWebSocketDelegate { - public virtual void didClose() = 0; - public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; - public virtual void didOpen() = 0; - public virtual void didReceiveMessage(std::string_view message) = 0; - public virtual ~IWebSocketDelegate() = default; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::InspectorFlags { - public InspectorFlags(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public bool getAssertSingleHostState() const; - public bool getFrameRecordingEnabled() const; - public bool getFuseboxEnabled() const; - public bool getIsProfilingBuild() const; - public bool getPerfIssuesEnabled() const; - public bool getScreenshotCaptureEnabled() const; - public facebook::react::jsinspector_modern::InspectorFlags& operator=(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); - public void dangerouslyDisableFuseboxForTest(); - public void dangerouslyResetFlags(); +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::InspectorPackagerConnection { - public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public bool isConnected() const; - public void closeQuietly(); - public void connect(); - public void sendEventToAllConnections(std::string event); +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { - public bool isConnected() const; - public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public using SessionId = uint32_t; - public void closeQuietly(); - public void connect(); - public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); - public void sendEventToAllConnections(const std::string& event); +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { - public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; - public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; - public virtual ~InspectorPackagerConnectionDelegate() = default; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); } -class facebook::react::jsinspector_modern::InstanceAgent { - public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { } -class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); - public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); - public ~InstanceTarget(); +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::InstanceTargetDelegate { - public InstanceTargetDelegate() = default; - public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public virtual ~InstanceTargetDelegate(); +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -class facebook::react::jsinspector_modern::InstanceTracingAgent { - public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); - public ~InstanceTracingAgent(); -} + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& viewProps); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& viewProps); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps& viewProps); + class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnection : public jni::HybridClass { public static constexpr auto kJavaDescriptor; @@ -10535,250 +5153,6 @@ class facebook::react::jsinspector_modern::JInspectorNetworkReporter : public jn public static void reportWebSocketWillSendHandshakeRequest(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref> headers); } -class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public LoadNetworkResourceDelegate() = default; - public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; - public virtual ~LoadNetworkResourceDelegate() = default; -} - -class facebook::react::jsinspector_modern::NetworkHandler { - public bool isEnabled() const; - public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); - public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); - public std::optional> getResponseBody(const std::string& requestId); - public void disableAgent(size_t agentId); - public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); - public void onLoadingFailed(const std::string& requestId, bool cancelled); - public void onLoadingFinished(const std::string& requestId, int encodedDataLength); - public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); - public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); - public void onWebSocketClosed(const std::string& requestId); - public void onWebSocketCreated(const std::string& requestId, const std::string& url); - public void onWebSocketFrameReceived(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketFrameSent(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t status, const facebook::react::jsinspector_modern::Headers& headers); - public void onWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::jsinspector_modern::NetworkIOAgent { - public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); - public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public ~NetworkIOAgent(); -} - -class facebook::react::jsinspector_modern::NetworkRequestListener { - public NetworkRequestListener() = default; - public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public virtual void onCompletion() = 0; - public virtual void onData(std::string_view data) = 0; - public virtual void onError(const std::string& message) = 0; - public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; - public virtual void setCancelFunction(std::function cancelFunction) = 0; - public virtual ~NetworkRequestListener() = default; -} - -class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { - public NotImplementedException(std::string message); - public const char* what() const noexcept override; -} - -class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { -} - -class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { - public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); - public void handlePerfIssueAdded(const std::string& message); -} - -class facebook::react::jsinspector_modern::RAIIRemoteConnection { - public RAIIRemoteConnection(std::unique_ptr remote); - public void onMessage(std::string message); - public ~RAIIRemoteConnection(); -} - -class facebook::react::jsinspector_modern::RuntimeAgent { - public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); - public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); - public void notifyFastRefreshComplete(); - public ~RuntimeAgent(); -} - -struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { - public std::unique_ptr delegateState; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; - public virtual std::unique_ptr getExportedState(); - public virtual ~RuntimeAgentDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { - public virtual ~ExportedState() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public ~RuntimeTarget(); -} - -class facebook::react::jsinspector_modern::RuntimeTargetController { - public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); - public void disableSamplingProfiler(); - public void emitTracingStateChange(bool isTracing); - public void enableSamplingProfiler(); - public void installBindingHandler(const std::string& bindingName); - public void installScriptToEvaluateOnNewDocument(const std::string& source); - public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); -} - -enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { - Log, - Network, - Runtime, - kMaxValue, -} - -class facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public virtual bool supportsConsole() const = 0; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; - public virtual void disableSamplingProfiler() = 0; - public virtual void enableSamplingProfiler() = 0; - public virtual ~RuntimeTargetDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); - public ~RuntimeTracingAgent(); -} - -class facebook::react::jsinspector_modern::StackTrace { - public StackTrace() = default; - public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public static std::unique_ptr empty(); - public virtual ~StackTrace() = default; -} - -class facebook::react::jsinspector_modern::TracingAgent { - public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public ~TracingAgent(); -} - -enum facebook::react::jsinspector_modern::ConsoleAPIType { - kAssert, - kClear, - kCount, - kDebug, - kDir, - kDirXML, - kEndGroup, - kError, - kInfo, - kLog, - kStartGroup, - kStartGroupCollapsed, - kTable, - kTimeEnd, - kTrace, - kWarning, -} - -enum facebook::react::jsinspector_modern::HostCommand { - DebuggerResume, - DebuggerStepOver, -} - -struct facebook::react::jsinspector_modern::ConsoleMessage { - public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); - public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public std::unique_ptr stackTrace; - public std::vector args; - public ~ConsoleMessage() = default; -} - -struct facebook::react::jsinspector_modern::ExecutionContextDescription { - public int32_t id; - public std::optional uniqueId; - public std::string name; - public std::string origin; -} - -struct facebook::react::jsinspector_modern::GetResponseBodyResult { - public bool base64Encoded; - public folly::dynamic toDynamic() const; - public std::string body; -} - -struct facebook::react::jsinspector_modern::HostTargetMetadata { - public std::optional appDisplayName; - public std::optional appIdentifier; - public std::optional deviceName; - public std::optional integrationName; - public std::optional platform; - public std::optional reactNativeVersion; -} - -struct facebook::react::jsinspector_modern::IOReadResult { - public bool base64Encoded; - public bool eof; - public folly::dynamic toDynamic() const; - public std::string data; -} - -struct facebook::react::jsinspector_modern::InspectorPageDescription { - public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; - public const int id; - public const std::string description; - public const std::string vm; -} - -struct facebook::react::jsinspector_modern::InspectorSystemState { - public int registeredHostsCount; -} - -struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { - public bool nativePageReloads; - public bool nativeSourceCodeFetching; -} - struct facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionDelegateImpl : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; public std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate); @@ -10792,624 +5166,13 @@ class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionDelega public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) override; } -struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { - public std::string url; -} - -struct facebook::react::jsinspector_modern::NetworkResource { - public bool success; - public folly::dynamic toDynamic() const; - public std::optional headers; - public std::optional netErrorName; - public std::optional stream; - public std::optional httpStatusCode; -} - -struct facebook::react::jsinspector_modern::PerfIssuePayload { - public std::optional description; - public std::optional learnMoreUrl; - public std::optional severity; - public std::string name; -} - -struct facebook::react::jsinspector_modern::ReadStreamParams { - public facebook::react::jsinspector_modern::StreamID handle; - public std::optional offset; - public std::optional size; -} - -struct facebook::react::jsinspector_modern::SessionState { - public bool hasPendingTraceRecording; - public bool isDebuggerDomainEnabled; - public bool isLogDomainEnabled; - public bool isNetworkDomainEnabled; - public bool isReactNativeApplicationDomainEnabled; - public bool isRuntimeDomainEnabled; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; - public std::unordered_map subscribedBindings; - public std::vector scriptsToEvaluateOnNewDocument; - public std::vector pendingSimpleConsoleMessages; - public unsigned int nextScriptToEvaluateOnNewDocumentId; -} - -struct facebook::react::jsinspector_modern::SessionState::ScriptToEvaluateOnNewDocument { - public std::string identifier; - public std::string source; -} - -struct facebook::react::jsinspector_modern::SimpleConsoleMessage { - public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public std::vector args; - public ~SimpleConsoleMessage() = default; -} - -template -class facebook::react::jsinspector_modern::EnumArray { - public constexpr ValueType& operator[](IndexType i); - public constexpr const ValueType& operator[](IndexType i) const; - public constexpr int size() const; -} - -template -struct facebook::react::jsinspector_modern::UniqueMonostate { - public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; -} - -template -class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { - public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); - public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); - template - public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -} - -template -class facebook::react::jsinspector_modern::WeakList { - public bool empty() const; - public size_t size() const; - public void insert(std::weak_ptr ptr); - template - public bool anyOf(Fn&& fn) const; - template - public bool anyOf(Fn&& fn); - template - public void forEach(Fn&& fn) const; - template - public void forEach(Fn&& fn); -} - - -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; -using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; -using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; -using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; -using facebook::react::jsinspector_modern::tracing::Headers = std::map; -using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; -using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; -using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; -int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); -std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); -std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); -std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); -std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); - -class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { - public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { - public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); - public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); - public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); -} - -class facebook::react::jsinspector_modern::tracing::PerformanceTracer { - public bool isTracing() const; - public bool startTracing(); - public bool startTracing(facebook::react::HighResDuration maxDuration); - public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); - public std::optional> stopTracing(); - public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); - public using TracingStateCallback = std::function; - public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); - public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); - public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); - public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); - public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); - public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); - public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); - public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); -} - -class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { - public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); - public bool hasParent() const; - public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; - public static constexpr uint32_t NO_PARENT; - public uint32_t getId() const; - public uint32_t getParentId() const; -} - -enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { - JavaScript, - Other, -} - -class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public virtual ~RawRuntimeProfile() = default; -} - -class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { - public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); - public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); -} - -class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; - public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public bool isRunningInBackgroundMode(); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { - public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); - public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { - public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); - public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); - public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); - public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); - public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); - public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); - public static size_t estimateJsonSize(const folly::dynamic& value); -} - -enum facebook::react::jsinspector_modern::tracing::Category { - Frame, - HiddenTimeline, - JavaScriptSampling, - RuntimeExecution, - Screenshot, - Timeline, - UserTiming, -} - -enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { - Error, - Primary, - PrimaryDark, - PrimaryLight, - Secondary, - SecondaryDark, - SecondaryLight, - Tertiary, - TertiaryDark, - TertiaryLight, - Warning, -} - -enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { - Microtasks, - Task, -} - -enum facebook::react::jsinspector_modern::tracing::Mode { - Background, - CDP, -} - -struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { - public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public ~EventLoopReporter(); -} - -struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { - public FrameTimingSequence() = delete; - public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); - public facebook::react::HighResDuration vsyncInterval; - public facebook::react::HighResTimeStamp beginTimestamp; - public facebook::react::HighResTimeStamp endTimestamp; - public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::optional> screenshot; -} - -struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { - public HostTracingProfile() = default; - public HostTracingProfile(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public HostTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public std::vector frameTimings; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~HostTracingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::IdGenerator { - public uint32_t getNext(); -} - -struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { - public std::vector performanceTraceEvents; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { - public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public std::string runtimeName; - public std::unique_ptr rawRuntimeProfile; - public std::vector samples; - public ~RuntimeSamplingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { - public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::vector callStack; - public uint64_t timestamp; - public ~Sample() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { - public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; - public std::optional scriptURL; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string_view functionName; - public uint32_t scriptId; -} - -enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { - GarbageCollector, - HostFunction, - JSFunction, - NativeFunction, -} - -struct facebook::react::jsinspector_modern::tracing::TraceEvent { - public char ph; - public facebook::react::HighResTimeStamp ts; - public facebook::react::jsinspector_modern::tracing::Categories cat; - public facebook::react::jsinspector_modern::tracing::ProcessId pid; - public facebook::react::jsinspector_modern::tracing::ThreadId tid; - public folly::dynamic args; - public std::optional s; - public std::optional dur; - public std::optional id; - public std::string name; -} - -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; - public using TimeDeltas = std::vector; -} - -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { - public std::vector nodes; - public std::vector samples; -} - -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; - public std::optional parentId; - public uint32_t id; -} - -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { - public std::optional url; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string codeType; - public std::string functionName; - public uint32_t scriptId; -} - -struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { - public TraceRecordingState(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public facebook::react::jsinspector_modern::tracing::Mode mode; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public std::optional windowSize; - public std::set enabledCategories; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~TraceRecordingState() = default; -} +const char* facebook::react::exceptions::gUnexpectedNativeTypeExceptionClass; template -class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { - public TimeWindowedBuffer(); - public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); - public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); - public using TimestampAccessor = std::function; - public void clear(); - public void push(T&& element); - public void push(const T& element); -} - -template -class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { - public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; - public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public ~PerformanceTracerSection() noexcept; -} - - -using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; -using facebook::react::jsinspector_modern::cdp::RequestId = long long; -using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; -facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); -std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); - -enum facebook::react::jsinspector_modern::cdp::ErrorCode { - InternalError, - InvalidParams, - InvalidRequest, - MethodNotFound, - ParseError, -} - -struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { - public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; - public facebook::react::jsinspector_modern::cdp::RequestId id; - public folly::dynamic params; - public std::string method; - public std::string toJson() const; -} - - -using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; -std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); - -struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { - public double requestTime; -} - -struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int dataLength; - public int encodedDataLength; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { - public bool canceled; - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string errorText; - public std::string requestId; - public std::string type; -} - -struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::Request { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::optional postData; - public std::string method; - public std::string url; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { - public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { - public bool redirectHasExtraInfo; - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Request request; - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::optional redirectResponse; - public std::string documentURL; - public std::string loaderId; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::Response { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); - public std::string mimeType; - public std::string statusText; - public std::string url; - public uint16_t status; -} - -struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { - public bool hasExtraInfo; - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::Response response; - public folly::dynamic toDynamic() const; - public std::string loaderId; - public std::string requestId; - public std::string type; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketClosedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketCreatedParams { - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::string requestId; - public std::string url; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrame { - public bool mask; - public folly::dynamic toDynamic() const; - public int opcode; - public std::string payloadData; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrameParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketFrame response; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketHandshakeResponseReceivedParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketResponse response; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketResponse { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public static facebook::react::jsinspector_modern::cdp::network::WebSocketResponse fromInputParams(uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers); - public std::string statusText; - public uint16_t status; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketWillSendHandshakeRequestParams { - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - - -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; -bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); -facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); -std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); -std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); - -struct facebook::react::dom::DOMBorderWidthRounded { - public int bottom; - public int left; - public int right; - public int top; -} - -struct facebook::react::dom::DOMOffset { - public double left; - public double top; - public std::shared_ptr offsetParent; -} - -struct facebook::react::dom::DOMPoint { - public double x; - public double y; -} - -struct facebook::react::dom::DOMRect { - public double height; - public double width; - public double x; - public double y; -} - -struct facebook::react::dom::DOMSizeRounded { - public int height; - public int width; -} - -struct facebook::react::dom::RNMeasureRect { - public double height; - public double pageX; - public double pageY; - public double width; - public double x; - public double y; -} +void facebook::react::exceptions::throwIfObjectAlreadyConsumed(const T& t, const char* msg); -static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; +constexpr facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; std::shared_ptr facebook::react::CoreComponentsRegistry::sharedProviderRegistry(); @@ -11549,6 +5312,16 @@ struct facebook::react::array_detail::BridgingDynamic { } +template +C facebook::react::detail::memberFunctionClass(T C::*); + +class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { + public OwnedBytesBuffer(std::vector bytes) noexcept; + public virtual size_t size() const override; + public virtual uint8_t* data() override; +} + + template struct facebook::react::map_detail::Bridging { public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); @@ -11556,112 +5329,6 @@ struct facebook::react::map_detail::Bridging { } -uint64_t facebook::react::oscompat::getCurrentProcessId(); -uint64_t facebook::react::oscompat::getCurrentThreadId(); - - -using facebook::react::ReactMarker::LogTaggedMarker = std::function; -using facebook::react::ReactMarker::LogTaggedMarkerBridgeless = facebook::react::ReactMarker::LogTaggedMarker; -void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); -void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -facebook::react::ReactMarker::AtomicLogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; - -class facebook::react::ReactMarker::StartupLogger { - public double getAppStartupEndTime(); - public double getAppStartupStartTime(); - public double getInitReactRuntimeStartTime(); - public double getRunJSBundleStartTime(); - public static facebook::react::ReactMarker::StartupLogger& getInstance(); - public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); - public void reset(); -} - -enum facebook::react::ReactMarker::ReactMarkerId { - APP_STARTUP_START, - APP_STARTUP_STOP, - CREATE_REACT_CONTEXT_STOP, - INIT_REACT_RUNTIME_START, - INIT_REACT_RUNTIME_STOP, - JS_BUNDLE_STRING_CONVERT_START, - JS_BUNDLE_STRING_CONVERT_STOP, - NATIVE_MODULE_SETUP_START, - NATIVE_MODULE_SETUP_STOP, - NATIVE_REQUIRE_START, - NATIVE_REQUIRE_STOP, - REACT_INSTANCE_INIT_START, - REACT_INSTANCE_INIT_STOP, - REGISTER_JS_SEGMENT_START, - REGISTER_JS_SEGMENT_STOP, - RUN_JS_BUNDLE_START, - RUN_JS_BUNDLE_STOP, -} - -struct facebook::react::ReactMarker::AtomicLogTaggedMarker { - public facebook::react::ReactMarker::AtomicLogTaggedMarker& operator=(facebook::react::ReactMarker::LogTaggedMarker marker); - public operator bool() const noexcept; - public void operator()(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag) const; -} - -struct facebook::react::ReactMarker::ReactMarkerEvent { - public const char* tag; - public const facebook::react::ReactMarker::ReactMarkerId markerId; - public double time; -} - - -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); -void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); - - -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); - - -void facebook::react::LowPriorityExecutor::execute(std::function&& workItem); - - void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); @@ -11705,9 +5372,6 @@ void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); -std::unique_ptr facebook::jsc::makeJSCRuntime(); - - using facebook::jsi::HostFunctionType = std::function; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); @@ -13569,22 +7233,10 @@ class facebook::yoga::vanillajni::ScopedLocalRef { void facebook::gloginit::initialize(const char* tag = "ReactNativeJNI"); -struct std::hash { - public size_t operator()(const facebook::react::AttributedString& attributedString) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; -} - struct std::hash { public size_t operator()(const facebook::react::Color& color) const; } -struct std::hash { - public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; } @@ -13593,30 +7245,14 @@ struct std::hash { public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; } -struct std::hash { - public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; -} - struct std::hash { public size_t operator()(const facebook::react::Point& point) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Rect& rect) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::ShadowView& shadowView) const; -} - struct std::hash { public size_t operator()(const facebook::react::SharedColor& color) const; } @@ -13625,18 +7261,6 @@ struct std::hash { public size_t operator()(const facebook::react::Size& size) const; } -struct std::hash { - public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextEffectInfo& info) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Transform& transform) const; } @@ -13651,22 +7275,5 @@ struct std::hash> { public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; -} - -template -struct std::hash> { - public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; -} - void YGJNIVanilla::registerNatives(JNIEnv* env); \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api index e58c3cf65e83..e61666350cc0 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidReleaseCxx.api @@ -319,86 +319,6 @@ union jvalue { } -bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); -double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); -int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); -std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); - -class facebook::xplat::JsArgumentException : public std::logic_error { - public JsArgumentException(const std::string& msg); -} - - -class facebook::xplat::module::CxxModule { - public static constexpr AsyncTagType AsyncTag; - public static constexpr SyncTagType SyncTag; - public std::weak_ptr getInstance(); - public using Callback = std::function)>; - public using Provider = std::function()>; - public virtual std::map getConstants(); - public virtual std::string getName() = 0; - public virtual std::vector getMethods() = 0; - public virtual ~CxxModule() = default; - public void setInstance(std::weak_ptr instance); -} - -struct facebook::xplat::module::CxxModule::Method { - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc, AsyncTagType); - public bool isPromise; - public const char* getType(); - public size_t callbacks; - public std::function syncFunc; - public std::function func; - public std::string name; - template - public Method(std::string aname, T* t, void(T::*method)()); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); -} - - -std::string facebook::xplat::detail::toStringHelper(); -template -R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); -template -std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); -template -std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); - -template -struct facebook::xplat::detail::is_dynamic { - public using type = typename std::enable_if::value, T>::type; -} - - class facebook::hermes::IHermes : public facebook::jsi::ICast { protected ~IHermes() = default; public static constexpr facebook::jsi::UUID uuid; @@ -453,137 +373,26 @@ struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { } -const char facebook::react::AndroidHorizontalScrollContentViewShadowNodeComponentName[]; -const char facebook::react::AndroidProgressBarComponentName[]; -const char facebook::react::AndroidSwitchComponentName[]; -const char facebook::react::AndroidTextInputComponentName[]; -const char facebook::react::ImageComponentName[]; -const char facebook::react::ImageFetcherKey[]; -const char facebook::react::ImageManagerKey[]; -const char facebook::react::LegacyViewManagerAndroidInteropComponentName[]; -const char facebook::react::LegacyViewManagerInteropComponentName[]; -const char facebook::react::ModalHostViewComponentName[]; -const char facebook::react::ParagraphComponentName[]; -const char facebook::react::RawTextComponentName[]; -const char facebook::react::RootComponentName[]; -const char facebook::react::RuntimeSchedulerKey[]; -const char facebook::react::SafeAreaViewComponentName[]; -const char facebook::react::ScrollViewComponentName[]; -const char facebook::react::TextComponentName[]; -const char facebook::react::TextEffectComponentName[]; -const char facebook::react::UnimplementedViewComponentName[]; const char facebook::react::ViewComponentName[]; const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; -constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; constexpr auto facebook::react::rncore_ModuleProvider; constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; -constexpr char facebook::react::VirtualViewComponentName[]; -constexpr char* const facebook::react::TextLayoutManagerKey; -constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; -constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; constexpr facebook::react::Tag facebook::react::kNoTag; -constexpr float facebook::react::kDefaultEpsilon; -constexpr size_t facebook::react::EVENT_BUFFER_SIZE; -constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; -constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; static constexpr auto facebook::react::kPropNameLengthHardCap; -static constexpr double facebook::react::SingleFrameIntervalMs; -static constexpr double facebook::react::TicksPerMs; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_BASE_ATTRIBUTES; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_CACHE_ID; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_FRAGMENTS; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_HASH; -static constexpr facebook::react::MapBuffer::Key facebook::react::AS_KEY_STRING; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_HEIGHT; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_IS_ATTACHMENT; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_REACT_TAG; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_STRING; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_TEXT_ATTRIBUTES; -static constexpr facebook::react::MapBuffer::Key facebook::react::FR_KEY_WIDTH; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_ADJUST_FONT_SIZE_TO_FIT; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_ELLIPSIZE_MODE; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_HYPHENATION_FREQUENCY; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_INCLUDE_FONT_PADDING; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MAX_NUMBER_OF_LINES; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MINIMUM_FONT_SCALE; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_MINIMUM_FONT_SIZE; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_ALIGN_VERTICAL; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_BREAK_STRATEGY; -static constexpr facebook::react::MapBuffer::Key facebook::react::PA_KEY_TEXT_WIDTH_MODE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ACCESSIBILITY_ROLE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALIGNMENT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALIGNMENT_VERTICAL; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ALLOW_FONT_SCALING; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_BACKGROUND_COLOR; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_BEST_WRITING_DIRECTION; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_FAMILY; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_SIZE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_SIZE_MULTIPLIER; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_STYLE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_VARIANT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_VARIATION_SETTINGS; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FONT_WEIGHT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_FOREGROUND_COLOR; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_IS_HIGHLIGHTED; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LAYOUT_DIRECTION; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LETTER_SPACING; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LINE_BREAK_STRATEGY; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_LINE_HEIGHT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_MAX_FONT_SIZE_MULTIPLIER; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_OPACITY; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_ROLE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_COLOR; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_LINE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_DECORATION_STYLE; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_EFFECTS; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_COLOR; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_OFFSET_DX; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_OFFSET_DY; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_SHADOW_RADIUS; -static constexpr facebook::react::MapBuffer::Key facebook::react::TA_KEY_TEXT_TRANSFORM; -static constexpr facebook::react::MapBuffer::Key facebook::react::TE_KEY_NAME; -static constexpr facebook::react::MapBuffer::Key facebook::react::TE_KEY_PROPS; -static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_ATTRIBUTED_STRING; -static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_HASH; -static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_MOST_RECENT_EVENT_COUNT; -static constexpr facebook::react::MapBuffer::Key facebook::react::TX_STATE_KEY_PARAGRAPH_ATTRIBUTES; static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; -static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; -static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; -static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; -template -using facebook::react::CSSCompoundDataType = std::variant; -template -using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; -template -using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; -template -using facebook::react::EventListenerT = std::function; -typedef std::function facebook::react::ValueListenerCallback; -typedef std::tuple facebook::react::RectAsTuple; -typedef void(*facebook::react::WarnOnUsageLogger)(std::string message); -using facebook::react::ActivePointerRegistry = std::unordered_map; using facebook::react::ActivityIndicatorViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::ActivityIndicatorViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::ActivityIndicatorViewState = facebook::react::StateData; using facebook::react::AndroidDrawerLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::AndroidDrawerLayoutShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::AndroidDrawerLayoutState = facebook::react::StateData; -using facebook::react::AndroidHorizontalScrollContentViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::AndroidSwipeRefreshLayoutComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::AndroidSwipeRefreshLayoutShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::AndroidSwipeRefreshLayoutState = facebook::react::StateData; -using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; -using facebook::react::AnimationTimestamp = std::chrono::duration; -using facebook::react::BackgroundExecutor = std::function&& callback)>; using facebook::react::BackgroundImage = std::variant; using facebook::react::BackgroundSize = std::variant; using facebook::react::BorderColors = facebook::react::RectangleEdges; @@ -591,22 +400,7 @@ using facebook::react::BorderCurves = facebook::react::RectangleCorners; using facebook::react::BorderStyles = facebook::react::RectangleEdges; using facebook::react::BorderWidths = facebook::react::RectangleEdges; -using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSPreservedToken = facebook::react::CSSToken; -using facebook::react::CSSRadialGradientSize = std::variant; -using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; using facebook::react::CallFunc = std::function; -using facebook::react::Callback = std::function; -using facebook::react::CallbackHandle = facebook::jsi::Object; -using facebook::react::CallbackId = uint64_t; -using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; @@ -616,139 +410,58 @@ using facebook::react::ComponentDescriptorConstructor = facebook::react::Compone using facebook::react::ComponentDescriptorProviderRequest = std::function; using facebook::react::ComponentHandle = int64_t; using facebook::react::ComponentName = const char*; -using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; using facebook::react::CornerInsets = facebook::react::RectangleCorners; using facebook::react::DebuggingOverlayComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::DebuggingOverlayShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::DebuggingOverlayState = facebook::react::StateData; -using facebook::react::DispatchEvent = std::function; using facebook::react::EdgeInsets = facebook::react::RectangleEdges; -using facebook::react::EndResult = facebook::react::NativeAnimatedTurboModuleEndResult, std::optional>; -using facebook::react::EventEmitterListener = facebook::react::EventListenerT; -using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; using facebook::react::EventListener = std::function; using facebook::react::EventPipe = std::function; using facebook::react::EventPipeConclusion = std::function; using facebook::react::EventTag = unsigned int; using facebook::react::Float = float; -using facebook::react::GarbageCollectionTrigger = std::function; using facebook::react::GradientDirection = std::variant; -using facebook::react::HasComponentProviderFunctionType = std::function; -using facebook::react::Headers = std::map; using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; using facebook::react::ImageSources = std::vector; -using facebook::react::InteractionTypesMap = std::unordered_map; -using facebook::react::IntersectionObserverObserverId = int32_t; -using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::LegacyViewManagerAndroidInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::LinesMeasurements = std::vector; -using facebook::react::Logger = std::function; -using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MethodCallResult = std::optional; using facebook::react::ModalHostViewSupportedOrientationsMask = uint32_t; -using facebook::react::MountingTransactionCallback = std::function; -using facebook::react::MutationObserverId = int32_t; -using facebook::react::NativeIntersectionObserverEntry = facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry; -using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; -using facebook::react::NativeIntersectionObserverObserveOptions = facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; using facebook::react::NativeMethodCallFunc = std::function; -using facebook::react::NativeMutationObserverObserveOptions = facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions, bool>; -using facebook::react::NativeMutationRecord = facebook::react::NativeMutationObserverNativeMutationRecord, std::vector>; -using facebook::react::NativePartialReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; -using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; -using facebook::react::NativePerformancePerformanceObserverObserveOptions = facebook::react::NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; -using facebook::react::NativeReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; -using facebook::react::NativeRequestIdleCallbackOptions = facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions>; -using facebook::react::NativeResizeObserverEntry = facebook::react::NativeResizeObserverNativeResizeObserverEntry; -using facebook::react::NativeResizeObserverNotifyCallback = facebook::react::SyncCallback; -using facebook::react::NativeResizeObserverObserveOptions = facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions, std::optional>; -using facebook::react::OnMutations = std::function&)>; -using facebook::react::ParagraphProps = facebook::react::HostPlatformParagraphProps; -using facebook::react::PerformanceEntry = std::variant; -using facebook::react::PerformanceEntryInteractionId = uint32_t; -using facebook::react::PerformanceObserverCallback = std::function; -using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; -using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; -using facebook::react::PointerIdentifier = int32_t; using facebook::react::PromiseSetupFunctionType = std::function)>; using facebook::react::PullToRefreshViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::PullToRefreshViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::PullToRefreshViewState = facebook::react::StateData; -using facebook::react::RawCallback = std::function; using facebook::react::RawPropsPropNameHash = uint32_t; using facebook::react::RawPropsPropNameLength = uint16_t; using facebook::react::RawPropsValueIndex = uint16_t; -using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ResizeObserverObserverId = int32_t; -using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::RuntimeExecutor = std::function&& callback)>; -using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; -using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; -using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ScrollViewProps = facebook::react::HostPlatformScrollViewProps; -using facebook::react::ShadowTreeCommitTransaction = std::function; -using facebook::react::ShadowViewMutationList = std::vector; using facebook::react::SharedComponentDescriptor = std::shared_ptr; using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; using facebook::react::SharedEventEmitter = std::shared_ptr; using facebook::react::SharedEventPayload = std::shared_ptr; using facebook::react::SharedEventTarget = std::shared_ptr; -using facebook::react::SharedParagraphAttributes = std::shared_ptr; -using facebook::react::SharedRawTextProps = std::shared_ptr; -using facebook::react::SharedScrollViewProps = std::shared_ptr; using facebook::react::SharedShadowNodeFamily = std::shared_ptr; -using facebook::react::SharedTextAttributes = std::shared_ptr; using facebook::react::SharedTouchEventEmitter = std::shared_ptr; using facebook::react::SharedViewEventEmitter = std::shared_ptr; using facebook::react::SharedViewProps = std::shared_ptr; -using facebook::react::SizeAsTuple = std::tuple; -using facebook::react::SnapshotMap = std::unordered_map>; using facebook::react::StatePipe = std::function; using facebook::react::SurfaceId = int32_t; using facebook::react::Tag = int32_t; using facebook::react::TelemetryClock = std::chrono::steady_clock; using facebook::react::TelemetryDuration = std::chrono::nanoseconds; using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; -using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; -using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); -using facebook::react::TimerHandle = int; -using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; using facebook::react::Touch = facebook::react::HostPlatformTouch; using facebook::react::Touches = std::unordered_set; -using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; using facebook::react::TracingStateListener = std::function; using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; -using facebook::react::UiTask = std::function; using facebook::react::UnimplementedNativeViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::UnimplementedNativeViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::UnimplementedNativeViewState = facebook::react::StateData; -using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::UserTimingDetailProvider = std::function; using facebook::react::ValueFactory = std::function; using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; -using facebook::react::ViewNodePairScope = std::deque; using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; using facebook::react::ViewShadowNodeProps = facebook::react::ViewProps; -using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); -template -concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; -template -concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && - ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; template concept facebook::react::StateDataWithJNIReference = requires(StateDataT stateData) { { stateData.getJNIReference() } -> std::same_as>; @@ -757,51 +470,6 @@ template concept facebook::react::StateDataWithMapBuffer = requires(StateDataT stateData) { { stateData.getMapBuffer() } -> std::same_as; }; -template -concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { - { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { - { T::consume(parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { - { T::consumePreservedToken(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { - { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && - !CSSParserSink) || -CSSParserSink; -template -concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& - (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); -template -concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(func, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { - { visitor(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(block, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; -template -concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; -template -concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; -template -concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; -template -concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; template concept facebook::react::DeclaresOwnSetProp = std::is_same_v; template @@ -819,51 +487,18 @@ template concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { { T::filterRawProps(rawProps) } -> std::same_as; }; -template -concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( - TextLayoutManagerT textLayoutManager, - facebook::react::AttributedString attributedString, - facebook::react::ParagraphAttributes paragraphAttributes, - facebook::react::TextLayoutContext layoutContext, - facebook::react::LayoutConstraints layoutConstraints, - typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { - sizeof(typename TextLayoutManagerT::PreparedTextLayout); - { - textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) - } -> std::same_as; - { - textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) - } -> std::same_as; -}; AAssetManager* facebook::react::extractAssetManager(jni::alias_ref assetManager); JSI_EXPORT std::shared_ptr facebook::react::FBReactNativeSpec_ModuleProvider(const std::string& moduleName, const facebook::react::JavaTurboModule::InitParams& params); YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); -bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); -bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); bool facebook::react::areBorderRadiiCircular(const facebook::react::BorderRadii& borderRadii); -bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); -bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); bool facebook::react::hostPlatformColorIsColorMeaningful(facebook::react::Color color) noexcept; bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); bool facebook::react::isZero(facebook::react::Float n); const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); -const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); -const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); constexpr auto facebook::react::to_underlying(auto e) noexcept; -constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); constexpr char facebook::react::toLower(char c); -constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); -constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); -constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); -double facebook::react::ceil(double value) noexcept; -double facebook::react::floor(double value) noexcept; -double facebook::react::getCPUTimeNanos(); -double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); -double facebook::react::round(double value) noexcept; facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); facebook::react::AnimatedPropsBuffer facebook::react::encodeAnimatedProps(const std::unordered_map& updates); facebook::react::Color facebook::react::hostPlatformColorFromComponents(facebook::react::ColorComponents components); @@ -871,33 +506,19 @@ facebook::react::Color facebook::react::hostPlatformColorFromRGBA(uint8_t r, uin facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); facebook::react::ColorComponents facebook::react::colorComponentsFromHostPlatformColor(facebook::react::Color color); facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); -facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); -facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); facebook::react::Float facebook::react::floatFromYogaFloat(float value); facebook::react::Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); -facebook::react::MapBuffer facebook::react::serializeImageRequests(const std::vector& items); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::AttributedString& attributedString); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::AttributedString::Fragment& fragment); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::FontVariant& fontVariant); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::ParagraphAttributes& paragraphAttributes); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::ParagraphState& paragraphState); -facebook::react::MapBuffer facebook::react::toMapBuffer(const facebook::react::TextAttributes& textAttributes); -facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); -facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); -facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); facebook::react::SharedColor facebook::react::blackColor(); facebook::react::SharedColor facebook::react::clearColor(); -facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); facebook::react::SharedColor facebook::react::parsePlatformColor(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value); facebook::react::SharedColor facebook::react::whiteColor(); -facebook::react::Size facebook::react::ModalHostViewScreenSize(void); facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); @@ -906,17 +527,12 @@ facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(facebook::react::Float value); float facebook::react::alphaFromHostPlatformColor(facebook::react::Color color); float facebook::react::blueFromHostPlatformColor(facebook::react::Color color); -float facebook::react::ceil(float value) noexcept; -float facebook::react::floor(float value) noexcept; float facebook::react::greenFromHostPlatformColor(facebook::react::Color color); float facebook::react::redFromHostPlatformColor(facebook::react::Color color); -float facebook::react::round(float value) noexcept; float facebook::react::yogaFloatFromFloat(facebook::react::Float value); folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); folly::dynamic facebook::react::toDynamic(const YGValue& dimension); -folly::dynamic facebook::react::toDynamic(const facebook::react::AndroidProgressBarProps& props); -folly::dynamic facebook::react::toDynamic(const facebook::react::AndroidTextInputTextShadowOffsetStruct& value); folly::dynamic facebook::react::toDynamic(const facebook::react::BackgroundImage& backgroundImage); folly::dynamic facebook::react::toDynamic(const facebook::react::BoxShadow& boxShadow); folly::dynamic facebook::react::toDynamic(const facebook::react::EdgeInsets& edgeInsets); @@ -924,7 +540,6 @@ folly::dynamic facebook::react::toDynamic(const facebook::react::FilterFunction& folly::dynamic facebook::react::toDynamic(const facebook::react::ImageSource& imageSource); folly::dynamic facebook::react::toDynamic(const facebook::react::Point& point); folly::dynamic facebook::react::toDynamic(const facebook::react::SharedColor& sharedColor); -folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); @@ -935,91 +550,32 @@ folly::dynamic facebook::react::toDynamic(uint32_t value); int facebook::react::toAndroidRepr(const facebook::react::SharedColor& color); int facebook::react::toInt(const facebook::react::DisplayType& displayType); int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); -long double facebook::react::ceil(long double value) noexcept; -long double facebook::react::floor(long double value) noexcept; -long double facebook::react::round(long double value) noexcept; -size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); -std::function facebook::react::makeCallback(std::weak_ptr instance, const folly::dynamic& callbackId); std::optional facebook::react::blendModeFromString(std::string_view blendModeName); std::optional facebook::react::filterTypeFromString(std::string_view filterName); -std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); -std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); std::optional facebook::react::isolationFromString(std::string_view isolationSetting); -std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); -std::string facebook::react::base64Encode(const std::string_view s); -std::string facebook::react::componentNameByReactViewName(std::string viewName); -std::string facebook::react::generateRandomUuidString(); std::string facebook::react::toString(const double& value); std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); -std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); -std::string facebook::react::toString(const facebook::react::DataDetectorType& value); std::string facebook::react::toString(const facebook::react::DisplayType& displayType); -std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); -std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); std::string facebook::react::toString(const facebook::react::FilterType& filterType); -std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); -std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); -std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); -std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); std::string facebook::react::toString(const facebook::react::ImageSource& value); std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); -std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); -std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); std::string facebook::react::toString(const facebook::react::Role& role); -std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); std::string facebook::react::toString(const facebook::react::SharedColor& value); -std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); -std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); -std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); -std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); -std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); -std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); -std::string facebook::react::toString(const facebook::react::TextWidthMode& textWidthMode); -std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); std::string facebook::react::toString(double doubleValue, char suffix); std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); std::string facebook::react::toString(facebook::react::PointerEventsMode value); -std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); std::unique_ptr facebook::react::loadScriptFromAssets(AAssetManager* assetManager, const std::string& assetName); std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); -std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); -std::vector facebook::react::parseMethodCalls(folly::dynamic&& jsonData); -std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); -std::vector> facebook::react::buildNativeModuleList(std::weak_ptr winstance, jni::alias_ref::javaobject> javaModules, std::shared_ptr moduleMessageQueue); -template -constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); -template -constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); -template -facebook::react::Float facebook::react::roundToPixel(facebook::react::Float value, facebook::react::Float scaleFactor); -template -facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, facebook::react::Float scaleFactor); -template -facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, facebook::react::Float scaleFactor); -template -facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, facebook::react::Float scaleFactor); template std::size_t facebook::react::hash_combine(const T& v, const Args &... args); template void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); template void facebook::react::hash_combine_optionals(std::size_t& seed, const std::optional &... optionals); -template ::type> -facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); -template -constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); -template -constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); template constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; template @@ -1031,12 +587,6 @@ DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); template T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue); template -T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); -template -T facebook::react::get(const std::unique_ptr& animatedProp); -template -bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); -template folly::dynamic facebook::react::toDynamic(const std::vector& arrayValue); template jni::local_ref> facebook::react::makeJWeakReference(jni::alias_ref ref); @@ -1058,11 +608,6 @@ uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noex uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; void facebook::react::FBReactNativeSpec_registerComponentDescriptorsFromCodegen(std::shared_ptr registry); void facebook::react::addDynamicToJArray(jni::alias_ref> jarray, jint index, const folly::dynamic& dyn); -void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); -void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); -void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); -void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); -void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); void facebook::react::ensureThreadDurationJNIEnvAttached(); void facebook::react::fromRawValue(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); @@ -1072,36 +617,17 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); @@ -1112,24 +638,16 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::DataDetectorType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::EdgeInsets& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageResizeMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageSource& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); @@ -1138,15 +656,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); -void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); -void facebook::react::handleJSError(facebook::jsi::Runtime& runtime, const facebook::jsi::JSError& error, bool isFatal); -void facebook::react::mergeAnimatedRawProps(folly::dynamic& target, const folly::dynamic& source); -void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); -void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); -void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); void facebook::react::reactAndroidLoggingHook(const std::string& message, unsigned int logLevel); void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); @@ -1154,17 +663,10 @@ void facebook::react::serializeTransformAxis(const facebook::react::TransformOpe void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); -void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); -void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); -bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); -bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); -bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); -bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; -bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); constexpr bool facebook::react::operator&(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); @@ -1236,11 +738,6 @@ class facebook::react::ActivityIndicatorViewProps : public facebook::react::Host public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - class facebook::react::AndroidAnimationChoreographer : public facebook::react::AnimationChoreographer { public virtual void pause() override; public virtual void resume() override; @@ -1299,25 +796,9 @@ class facebook::react::AndroidHorizontalScrollContentViewProps : public facebook public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidHorizontalScrollContentViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidHorizontalScrollContentViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidHorizontalScrollContentViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public virtual void layout(facebook::react::LayoutContext layoutContext) override; -} - -class facebook::react::AndroidProgressBarComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public AndroidProgressBarComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::AndroidProgressBarEventEmitter : public facebook::react::BaseViewEventEmitter { } -class facebook::react::AndroidProgressBarMeasurementsManager { - public AndroidProgressBarMeasurementsManager(const std::shared_ptr& contextContainer); - public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, const facebook::react::AndroidProgressBarProps& props, facebook::react::LayoutConstraints layoutConstraints) const; -} - class facebook::react::AndroidProgressBarProps : public facebook::react::HostPlatformViewProps { public AndroidProgressBarProps() = default; public AndroidProgressBarProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidProgressBarProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -1332,14 +813,6 @@ class facebook::react::AndroidProgressBarProps : public facebook::react::HostPla public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidProgressBarShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidProgressBarShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidProgressBarShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public void setAndroidProgressBarMeasurementsManager(const std::shared_ptr& measurementsManager); -} - class facebook::react::AndroidSwipeRefreshLayoutEventEmitter : public facebook::react::BaseViewEventEmitter { public void onRefresh(facebook::react::AndroidSwipeRefreshLayoutEventEmitter::OnRefresh value) const; } @@ -1360,11 +833,6 @@ class facebook::react::AndroidSwipeRefreshLayoutProps : public facebook::react:: public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidSwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public AndroidSwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::AndroidSwitchEventEmitter : public facebook::react::BaseViewEventEmitter { public void onChange(facebook::react::AndroidSwitchEventEmitter::OnChange value) const; } @@ -1374,11 +842,6 @@ struct facebook::react::AndroidSwitchEventEmitter::OnChange { public int target; } -class facebook::react::AndroidSwitchMeasurementsManager { - public AndroidSwitchMeasurementsManager(const std::shared_ptr& contextContainer); - public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, facebook::react::LayoutConstraints layoutConstraints) const; -} - class facebook::react::AndroidSwitchProps : public facebook::react::HostPlatformViewProps { public AndroidSwitchProps() = default; public AndroidSwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidSwitchProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -1395,235 +858,6 @@ class facebook::react::AndroidSwitchProps : public facebook::react::HostPlatform public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::AndroidSwitchShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidSwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidSwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public void setAndroidSwitchMeasurementsManager(const std::shared_ptr& measurementsManager); -} - -class facebook::react::AndroidTextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public AndroidTextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; -} - -class facebook::react::AndroidTextInputEventEmitter : public facebook::react::BaseViewEventEmitter { -} - -class facebook::react::AndroidTextInputProps : public facebook::react::BaseTextInputProps { - public AndroidTextInputProps() = default; - public AndroidTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::AndroidTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool allowFontScaling; - public bool autoCorrect; - public bool caretHidden; - public bool contextMenuHidden; - public bool disableFullscreenUI; - public bool hasPadding; - public bool hasPaddingBottom; - public bool hasPaddingEnd; - public bool hasPaddingHorizontal; - public bool hasPaddingLeft; - public bool hasPaddingRight; - public bool hasPaddingStart; - public bool hasPaddingTop; - public bool hasPaddingVertical; - public bool includeFontPadding; - public bool secureTextEntry; - public bool selectTextOnFocus; - public bool showSoftInputOnFocus; - public facebook::react::AndroidTextInputTextShadowOffsetStruct textShadowOffset; - public facebook::react::Float fontSize; - public facebook::react::Float letterSpacing; - public facebook::react::Float lineHeight; - public facebook::react::Float maxFontSizeMultiplier; - public facebook::react::Float textShadowRadius; - public facebook::react::SharedColor color; - public facebook::react::SharedColor textShadowColor; - public folly::dynamic getDynamic() const; - public int inlineImagePadding; - public int numberOfLines; - public std::string autoComplete; - public std::string fontFamily; - public std::string fontStyle; - public std::string fontWeight; - public std::string importantForAutofill; - public std::string inlineImageLeft; - public std::string keyboardType; - public std::string returnKeyLabel; - public std::string returnKeyType; - public std::string textAlign; - public std::string textBreakStrategy; - public std::string textDecorationLine; - public std::string textTransform; - public std::string value; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::AndroidTextInputShadowNode : public facebook::react::ConcreteViewShadowNode { - protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; - protected std::shared_ptr textLayoutManager_; - protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - protected virtual void layout(facebook::react::LayoutContext layoutContext) override; - public AndroidTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - -class facebook::react::AndroidTextInputState { - public AndroidTextInputState() = default; - public AndroidTextInputState(const facebook::react::AndroidTextInputState& previousState, const folly::dynamic& data); - public AndroidTextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); - public facebook::react::AttributedString reactTreeAttributedString; - public facebook::react::AttributedStringBox attributedStringBox; - public facebook::react::MapBuffer getMapBuffer() const; - public facebook::react::ParagraphAttributes paragraphAttributes; - public folly::dynamic getDynamic() const; - public int64_t cachedAttributedStringId; - public int64_t mostRecentEventCount; -} - -class facebook::react::AnimatedModule : public facebook::react::NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { - public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); - public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); - public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); - public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); - public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); - public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void finishOperationBatch(facebook::jsi::Runtime& rt); - public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); - public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); - public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); - public void removeListeners(facebook::jsi::Runtime& rt, int count); - public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); - public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); - public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); - public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void startOperationBatch(facebook::jsi::Runtime& rt); - public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); - public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); -} - -class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { - public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; -} - -class facebook::react::AnimatedNode { - protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); - protected facebook::react::AnimatedNodeType type_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag tag_; - protected std::unordered_set children_; - public AnimatedNode(const facebook::react::AnimatedNode&) = default; - public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; - public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); - public const folly::dynamic& getConfig() const noexcept; - public const std::unordered_set& getChildren() const noexcept; - public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; - public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; - public facebook::react::AnimatedNodeType type() const noexcept; - public facebook::react::Tag tag() const noexcept; - public int activeIncomingNodes; - public int bfsColor; - public static constexpr int INITIAL_BFS_COLOR; - public static std::optional getNodeTypeByName(const std::string& nodeTypeName); - public virtual void onAttachToNode(facebook::react::Tag); - public virtual void onDetachedFromNode(facebook::react::Tag); - public virtual void update(); - public virtual ~AnimatedNode() = default; - public void addChild(facebook::react::Tag tag); - public void removeChild(facebook::react::Tag tag); -} - -class facebook::react::AnimatedPropsRegistry { - public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); - public void clear(facebook::react::SurfaceId surfaceId); - public void clearOnSurfaceStop(facebook::react::SurfaceId surfaceId); - public void initializeSurface(facebook::react::SurfaceId surfaceId); - public void update(const std::vector& batches); -} - -class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { - public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); - public using PauseCallback = std::function; - public using ResumeCallback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) override; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; - public virtual void stop(facebook::react::CallbackId callbackId) override; - public virtual void trigger() override; - public void requestAsyncFlushForSurfaces(const std::set& surfaces); - public void synchronouslyUpdateProps(const std::unordered_map& updates); - public ~AnimationBackend() override; -} - -class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { - public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; -} - -class facebook::react::AnimationChoreographer { - public virtual facebook::react::AnimationTimestamp now() const; - public virtual void pause() = 0; - public virtual void resume() = 0; - public virtual ~AnimationChoreographer() = default; - public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; - public void setAnimationBackend(std::weak_ptr animationBackend); -} - -class facebook::react::AnimationDriver { - protected bool ignoreCompletedHandlers_; - protected bool isComplete_; - protected bool isStarted_; - protected double startFrameTimeMs_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag animatedValueTag_; - protected folly::dynamic config_; - protected int currentIteration_; - protected int id_; - protected int iterations_; - protected std::optional endCallback_; - protected virtual bool update(double, bool); - protected void markNodeUpdated(facebook::react::Tag tag); - public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); - public bool getIsComplete() const noexcept; - public facebook::react::Tag getAnimatedValueTag() const noexcept; - public int getId() const noexcept; - public static std::optional getDriverTypeByName(const std::string& driverTypeName); - public virtual void updateConfig(folly::dynamic config); - public virtual ~AnimationDriver() = default; - public void runAnimationStep(double renderingTime); - public void startAnimation(); - public void stopAnimation(bool ignoreCompletedHandlers = false); -} - -class facebook::react::AppRegistryBinding { - public AppRegistryBinding() = delete; - public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); -} - class facebook::react::AsyncArrayBuffer { public AsyncArrayBuffer(const facebook::react::AsyncArrayBuffer&) = delete; public AsyncArrayBuffer(facebook::react::AsyncArrayBuffer&&) noexcept = default; @@ -1642,153 +876,6 @@ class facebook::react::AsyncArrayBuffer { public ~AsyncArrayBuffer() = default; } -class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { - public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; - public bool isContentEqual(const facebook::react::AttributedString& rhs) const; - public bool isEmpty() const; - public bool operator==(const facebook::react::AttributedString& rhs) const; - public const facebook::react::AttributedString::Fragments& getFragments() const; - public const facebook::react::TextAttributes& getBaseTextAttributes() const; - public facebook::react::AttributedString::Fragments& getFragments(); - public std::string getString() const; - public using Fragments = std::vector; - public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); - public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); - public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); -} - -class facebook::react::AttributedString::Fragment { - public bool isAttachment() const; - public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; - public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; - public facebook::react::ShadowView parentShadowView; - public facebook::react::TextAttributes textAttributes; - public static std::string AttachmentCharacter(); - public std::string string; -} - -class facebook::react::AttributedString::Range { - public int length; - public int location; -} - -class facebook::react::AttributedStringBox { - public AttributedStringBox(); - public AttributedStringBox(const facebook::react::AttributedString& value); - public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; - public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; - public AttributedStringBox(std::shared_ptr opaquePointer); - public const facebook::react::AttributedString& getValue() const; - public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; - public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; - public facebook::react::AttributedStringBox::Mode getMode() const; - public std::shared_ptr getOpaquePointer() const; -} - -enum facebook::react::AttributedStringBox::Mode { - OpaquePointer, - Value, -} - -class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseParagraphProps() = default; - public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool isSelectable; - public bool onTextLayout; - public facebook::react::ParagraphAttributes paragraphAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { - public BaseScrollViewProps() = default; - public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool alwaysBounceHorizontal; - public bool alwaysBounceVertical; - public bool automaticallyAdjustContentInsets; - public bool automaticallyAdjustKeyboardInsets; - public bool automaticallyAdjustsScrollIndicatorInsets; - public bool bounces; - public bool bouncesZoom; - public bool canCancelContentTouches; - public bool centerContent; - public bool directionalLockEnabled; - public bool disableIntervalMomentum; - public bool horizontal; - public bool isInvertedVirtualizedList; - public bool pagingEnabled; - public bool persistentScrollbar; - public bool pinchGestureEnabled; - public bool scrollEnabled; - public bool scrollToOverflowEnabled; - public bool scrollsToTop; - public bool showsHorizontalScrollIndicator; - public bool showsVerticalScrollIndicator; - public bool snapToEnd; - public bool snapToStart; - public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; - public facebook::react::EdgeInsets contentInset; - public facebook::react::EdgeInsets scrollIndicatorInsets; - public facebook::react::Float decelerationRate; - public facebook::react::Float endDraggingSensitivityMultiplier; - public facebook::react::Float maximumZoomScale; - public facebook::react::Float minimumZoomScale; - public facebook::react::Float scrollEventThrottle; - public facebook::react::Float snapToInterval; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::ScrollViewIndicatorStyle indicatorStyle; - public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; - public facebook::react::ScrollViewSnapToAlignment snapToAlignment; - public std::optional maintainVisibleContentPosition; - public std::vector snapToOffsets; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseTextInputProps() = default; - public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool autoFocus; - public bool disableKeyboardShortcuts; - public bool editable; - public bool multiline; - public bool readOnly; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::SharedColor cursorColor; - public facebook::react::SharedColor placeholderTextColor; - public facebook::react::SharedColor selectionColor; - public facebook::react::SharedColor selectionHandleColor; - public facebook::react::SharedColor underlineColorAndroid; - public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; - public facebook::react::SubmitBehavior submitBehavior; - public facebook::react::TextAttributes getEffectiveTextAttributes(facebook::react::Float fontSizeMultiplier) const; - public int maxLength; - public int mostRecentEventCount; - public std::optional> acceptDragAndDropTypes; - public std::string autoCapitalize; - public std::string defaultValue; - public std::string placeholder; - public std::string text; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextProps { - public BaseTextProps() = default; - public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::TextAttributes textAttributes; - public void appendTextAttributesProps(folly::dynamic& result, const facebook::react::BaseTextProps* prevProps) const; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextShadowNode { - public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); - public using Attachments = std::vector; -} - -class facebook::react::BaseTextShadowNode::Attachment { - public const facebook::react::ShadowNode* shadowNode; - public size_t fragmentIndex; -} - class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { public void onAccessibilityAction(const std::string& name) const; public void onAccessibilityEscape() const; @@ -1845,16 +932,6 @@ class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { - public BigStringBuffer(std::unique_ptr script); - public virtual const uint8_t* data() const override; - public virtual size_t size() const override; -} - -class facebook::react::BindingsInstaller { - public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); -} - class facebook::react::BindingsInstallerHolder : public jni::HybridClass { public static constexpr auto kJavaDescriptor; public using BindingsInstallFunc = std::function& callInvoker)>; @@ -1872,72 +949,6 @@ class facebook::react::BlobModuleJSIBindings : public jni::JavaClass messageQueueThread); - public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; - public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; -} - -class facebook::react::BufferedRuntimeExecutor : public std::enable_shared_from_this { - public BufferedRuntimeExecutor(facebook::react::BufferedRuntimeExecutor::Executor executor); - public facebook::react::RuntimeExecutor asRuntimeExecutor(); - public facebook::react::RuntimeExecutor asWeakRuntimeExecutor(); - public using Executor = std::function; - public using Work = std::function; - public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void execute(facebook::react::SchedulerPriority priority, facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void flush(); -} - -class facebook::react::CSSSyntaxParser { - public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; - public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; - public constexpr CSSSyntaxParser(std::string_view css); - public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); - public constexpr bool isFinished() const; - public constexpr const facebook::react::CSSToken& peek() const; - public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; - public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; - public constexpr void consumeWhitespace(); - template - public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); - template - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); -} - -class facebook::react::CSSToken { - public constexpr CSSToken(const facebook::react::CSSToken& other) = default; - public constexpr CSSToken(facebook::react::CSSToken&& other) = default; - public constexpr CSSToken(facebook::react::CSSTokenType type); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); - public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); - public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; - public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; - public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; - public constexpr facebook::react::CSSTokenType type() const; - public constexpr float numericValue() const; - public constexpr std::string_view stringValue() const; - public constexpr std::string_view unit() const; -} - -class facebook::react::CSSTokenizer { - public constexpr CSSTokenizer(std::string_view characters); - public constexpr facebook::react::CSSToken next(); -} - -class facebook::react::CSSValueParser { - public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; - public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); - public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; - public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); - public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); -} - class facebook::react::CallInvoker { public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; @@ -1952,13 +963,6 @@ class facebook::react::CallInvokerHolder : public jni::HybridClass getCallInvoker(); } -class facebook::react::CallInvokerImpl : public facebook::react::CallInvoker { - public CallInvokerImpl(std::shared_ptr bufferedRuntimeExecutor, std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { public facebook::jsi::Function& callback() noexcept; public facebook::jsi::Runtime& runtime() noexcept; @@ -1968,32 +972,6 @@ class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject public void destroy(); } -class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; -} - -class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; -} - -class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { - public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::Color getColor(); - public virtual void update() override; -} - -class facebook::react::ComponentBuilder { - public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; - public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; - public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); - public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; - public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; - template - public std::shared_ptr build(facebook::react::Element element) const; -} - class facebook::react::ComponentDescriptor { protected facebook::react::ComponentDescriptor::Flavor flavor_; protected facebook::react::EventDispatcher::Weak eventDispatcher_; @@ -2081,17 +1059,6 @@ class facebook::react::ContextContainer { public void insert(const std::string& key, const T& instance) const; } -class facebook::react::CxxNativeModule : public facebook::react::NativeModule { - public CxxNativeModule(std::weak_ptr instance, std::string name, facebook::xplat::module::CxxModule::Provider provider, std::shared_ptr messageQueueThread); - public static void setShouldWarnOnUse(bool value); - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int hookId, folly::dynamic&& args) override; - public virtual folly::dynamic getConstants() override; - public virtual std::string getName() override; - public virtual std::string getSyncMethodName(unsigned int methodId) override; - public virtual std::vector getMethods() override; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; -} - class facebook::react::CxxReactPackage : public jni::HybridClass { public static constexpr auto kJavaDescriptor; public virtual std::shared_ptr getModule(const std::string& name, const std::shared_ptr& jsInvoker) = 0; @@ -2110,11 +1077,6 @@ class facebook::react::DebuggingOverlayProps : public facebook::react::HostPlatf public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - class facebook::react::DefaultComponentsRegistry : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; public static std::function)> registerCodegenComponentDescriptorsFromEntryPoint; @@ -2137,66 +1099,12 @@ class facebook::react::DefaultTurboModuleManagerDelegate : public jni::HybridCla public std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker) override; } -class facebook::react::DevToolsRuntimeSettings { - public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; - public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; - public static facebook::react::DevToolsRuntimeSettings& getInstance(); - public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; - public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; - public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); - public ~DevToolsRuntimeSettings() = default; -} - -class facebook::react::DevToolsRuntimeSettingsModule : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec { - public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); - public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); -} - -class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { - public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::ElementFragment { - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; - public facebook::react::ElementFragment::List children; - public facebook::react::ElementFragment::ReferenceCallback referenceCallback; - public facebook::react::ElementFragment::StateCallback stateCallback; - public facebook::react::Props::Shared props; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public using FinalizeCallback = std::function; - public using List = std::vector; - public using ListOfShared = std::vector; - public using ReferenceCallback = std::function& shadowNode)>; - public using Shared = std::shared_ptr; - public using StateCallback = std::function; -} - class facebook::react::Error { public Error(const char* message); public Error(std::string message); public const std::string& message() const; } -class facebook::react::EventAnimationDriver { - protected const facebook::react::Tag animatedValueTag_; - protected std::vector eventPath_; - public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); - public facebook::react::Tag getAnimatedNodeTag() const; - public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); - public ~EventAnimationDriver() = default; -} - class facebook::react::EventBeat { protected facebook::react::EventBeat::BeatCallback beatCallback_; protected mutable std::atomic isEventBeatRequested_; @@ -2289,15 +1197,6 @@ class facebook::react::EventLogger { public virtual ~EventLogger() = default; } -class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { - public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); - public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; - public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; -} - class facebook::react::EventQueue { protected const std::unique_ptr eventBeat_; protected facebook::react::EventQueueProcessor eventProcessor_; @@ -2346,13 +1245,6 @@ class facebook::react::EventTarget { public void setEnabled(bool enabled); } -class facebook::react::ExecutorDelegate { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; - public virtual std::shared_ptr getModuleRegistry() = 0; - public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; - public virtual ~ExecutorDelegate() = default; -} - class facebook::react::FabricMountingManager { public FabricMountingManager(const facebook::react::FabricMountingManager&) = delete; public FabricMountingManager(jni::global_ref& javaUIManager); @@ -2391,38 +1283,6 @@ class facebook::react::FocusOrderingHelper { public static void traverseAndUpdateNextFocusableElement(const std::shared_ptr& parentShadowNode, const std::shared_ptr& focusedShadowNode, const std::shared_ptr& currNode, facebook::react::FocusDirection focusDirection, const facebook::react::UIManager& uimanager, facebook::react::Rect sourceRect, std::optional& nextRect, std::shared_ptr& nextNode); } -class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - protected virtual void updateConfig(folly::dynamic config) override; - public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::FuseboxTracer { - public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; - public bool isTracing(); - public bool startTracing(); - public bool stopTracing(const std::function& resultCallback); - public bool stopTracingAndWriteToFile(const std::string& path); - public static facebook::react::FuseboxTracer& getFuseboxTracer(); - public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); -} - -class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { - public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; -} - -class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { - public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; - public void setDebuggerName(const std::string& debuggerName); - public void setEnableDebugger(bool enableDebugger); -} - -class facebook::react::HermesInstance { - public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; -} - class facebook::react::HighResDuration { public constexpr HighResDuration(); public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; @@ -2475,30 +1335,6 @@ class facebook::react::HighResTimeStamp { public static facebook::react::HighResTimeStamp now() noexcept; } -class facebook::react::HostPlatformParagraphProps : public facebook::react::BaseParagraphProps { - public HostPlatformParagraphProps() = default; - public HostPlatformParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool disabled; - public std::optional dataDetectorType; - public std::optional selectionColor; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::HostPlatformScrollViewProps : public facebook::react::BaseScrollViewProps { - public HostPlatformScrollViewProps() = default; - public HostPlatformScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool nestedScrollEnabled; - public bool sendMomentumEvents; - public facebook::react::SharedColor endFillColor; - public folly::dynamic fadingEdgeLength; - public std::string overScrollMode; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - class facebook::react::HostPlatformViewProps : public facebook::react::BaseViewProps { public HostPlatformViewProps() = default; public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -2530,36 +1366,12 @@ class facebook::react::IAsyncEventEmitter { public virtual ~IAsyncEventEmitter() noexcept = default; } -class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ImageErrorInfo { public int responseCode; public std::string error; public std::vector> httpResponseHeaders; } -class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onError(const facebook::react::ImageErrorInfo& error) const; - public void onLoad(const facebook::react::ImageSource& source) const; - public void onLoadEnd() const; - public void onLoadStart() const; - public void onPartialLoad() const; - public void onProgress(double progress, int64_t loaded, int64_t total) const; -} - -class facebook::react::ImageFetcher { - public ImageFetcher(const facebook::react::ImageFetcher&) = delete; - public ImageFetcher(facebook::react::ImageFetcher&&) = delete; - public ImageFetcher(std::shared_ptr contextContainer); - public facebook::react::ImageFetcher& operator=(const facebook::react::ImageFetcher&) = delete; - public facebook::react::ImageFetcher& operator=(facebook::react::ImageFetcher&&) = delete; - public void flushImageRequests(); - public ~ImageFetcher() = default; -} - class facebook::react::ImageLoadError { public ImageLoadError(std::shared_ptr error); public std::shared_ptr getError() const; @@ -2571,27 +1383,6 @@ class facebook::react::ImageManager { public virtual ~ImageManager(); } -class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { - public ImageProps() = default; - public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool shouldNotifyLoadEvents; - public facebook::react::EdgeInsets capInsets; - public facebook::react::Float blurRadius; - public facebook::react::Float resizeMultiplier; - public facebook::react::ImageResizeMode resizeMode; - public facebook::react::ImageSource defaultSource; - public facebook::react::ImageSource loadingIndicatorSource; - public facebook::react::ImageSources sources; - public facebook::react::SharedColor overlayColor; - public std::optional progressiveRenderingEnabled; - public std::optional fadeDuration; - public std::optional tintColor; - public std::string resizeMethod; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - class facebook::react::ImageRequest { public ImageRequest(const facebook::react::ImageRequest& other) = delete; public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; @@ -2654,15 +1445,6 @@ class facebook::react::ImageResponseObserverCoordinator { public void removeObserver(const std::shared_ptr& observer) const; } -class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { - public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setImageManager(const std::shared_ptr& imageManager); -} - class facebook::react::ImageSource { public bool operator==(const facebook::react::ImageSource& rhs) const; public facebook::react::Float scale; @@ -2690,15 +1472,6 @@ enum facebook::react::ImageSource::Type { Remote, } -class facebook::react::ImageState { - public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const facebook::react::ImageRequestParams& imageRequestParams); - public ImageState(const facebook::react::ImageState& previousState, folly::dynamic data); - public const facebook::react::ImageRequest& getImageRequest() const; - public const facebook::react::ImageRequestParams& getImageRequestParams() const; - public facebook::react::ImageSource getImageSource() const; - public folly::dynamic getDynamic() const; -} - class facebook::react::ImageTelemetry { public ImageTelemetry(const facebook::react::SurfaceId surfaceId); public facebook::react::SurfaceId getSurfaceId() const; @@ -2714,30 +1487,6 @@ class facebook::react::InspectorNetworkRequestListener : public jni::HybridClass public void onHeaders(jint httpStatusCode, jni::alias_ref> headers); } -class facebook::react::Instance { - public bool isBatchActive(); - public bool isInspectable(); - public bool supportsProfiling(); - public const facebook::react::ModuleRegistry& getModuleRegistry() const; - public facebook::react::ModuleRegistry& getModuleRegistry(); - public facebook::react::RuntimeExecutor getRuntimeExecutor(); - public std::shared_ptr getJSCallInvoker(); - public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker); - public void callJSCallback(uint64_t callbackId, folly::dynamic&& params); - public void callJSFunction(std::string&& module, std::string&& method, folly::dynamic&& params); - public void handleMemoryPressure(int pressureLevel); - public void initializeBridge(std::unique_ptr callback, std::shared_ptr jsef, std::shared_ptr jsQueue, std::shared_ptr moduleRegistry, facebook::react::jsinspector_modern::HostTarget* inspectorTarget = nullptr); - public void initializeRuntime(); - public void loadRAMBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL, bool loadSynchronously); - public void loadScriptFromString(std::unique_ptr string, std::string sourceURL, bool loadSynchronously); - public void registerBundle(uint32_t bundleId, const std::string& bundlePath); - public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); - public void setSourceURL(std::string sourceURL); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~Instance() override; -} - class facebook::react::InstanceHandle { public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; @@ -2745,43 +1494,6 @@ class facebook::react::InstanceHandle { public using Shared = std::shared_ptr; } -class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { - public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; - public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; - public virtual void update() override; -} - -class facebook::react::IntersectionObserver { - public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); - public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); - public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); - public std::vector getThresholds() const; -} - -class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public IntersectionObserverManager(); - public std::vector takeRecords(); - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); - public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); -} - -class facebook::react::IntersectionObserverState { - public bool isIntersecting() const; - public bool operator==(const facebook::react::IntersectionObserverState& other) const; - public static facebook::react::IntersectionObserverState Initial(); - public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold); - public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold, facebook::react::Float rootThreshold); - public static facebook::react::IntersectionObserverState NotIntersecting(); -} - class facebook::react::JArrayBuffer : public jni::HybridClass { public JArrayBuffer(std::shared_ptr buffer, bool owningBytes) noexcept; public bool hasBytes() const noexcept; @@ -2861,10 +1573,6 @@ class facebook::react::JNativeModulePerfLogger : public jni::HybridClass get() = 0; } -class facebook::react::JPreparedLayout : public facebook::jni::JavaClass { - public static constexpr auto kJavaDescriptor; -} - class facebook::react::JReactExceptionManager : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; public void reportJsException(facebook::jsi::Runtime& runtime, const facebook::react::JsErrorHandler::ProcessedError& error); @@ -2975,69 +1683,6 @@ class facebook::react::JSBigString : public facebook::jsi::Buffer { public ~JSBigString() override = default; } -class facebook::react::JSExecutor { - public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); - public virtual bool isInspectable(); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); - public virtual std::string getDescription() = 0; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; - public virtual void destroy(); - public virtual void flush(); - public virtual void handleMemoryPressure(int pressureLevel); - public virtual void initializeRuntime() = 0; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; - public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) = 0; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; - public virtual void* getJavaScriptContext(); - public virtual ~JSExecutor() = default; -} - -class facebook::react::JSExecutorFactory { - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; - public virtual ~JSExecutorFactory() = default; -} - -class facebook::react::JSIExecutor : public facebook::react::JSExecutor { - public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); - public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); - public using RuntimeInstaller = std::function; - public virtual bool isInspectable() override; - public virtual std::string getDescription() override; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; - public virtual void flush() override; - public virtual void handleMemoryPressure(int pressureLevel) override; - public virtual void initializeRuntime() override; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; - public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) override; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; - public virtual void* getJavaScriptContext() override; -} - -class facebook::react::JSINativeModules { - public JSINativeModules(std::shared_ptr moduleRegistry); - public facebook::jsi::Value getModule(facebook::jsi::Runtime& rt, const facebook::jsi::PropNameID& name); - public void reset(); -} - -class facebook::react::JSModulesUnbundle { - public JSModulesUnbundle(); - public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const = 0; - public virtual ~JSModulesUnbundle() = default; -} - -class facebook::react::JSModulesUnbundle::ModuleNotFound : public std::out_of_range { - public ModuleNotFound(uint32_t moduleId); -} - -struct facebook::react::JSModulesUnbundle::Module { - public std::string code; - public std::string name; -} - class facebook::react::JWritableMapBuffer : public facebook::jni::JavaClass { public facebook::react::MapBuffer getMapBuffer(); public static constexpr auto kJavaDescriptor; @@ -3060,22 +1705,6 @@ class facebook::react::JavaMessageQueueThread : public facebook::jni::JavaClass< public static constexpr auto kJavaDescriptor; } -class facebook::react::JavaNativeModule : public facebook::react::NativeModule { - public JavaNativeModule(std::weak_ptr instance, jni::alias_ref wrapper, std::shared_ptr messageQueueThread); - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& params) override; - public virtual folly::dynamic getConstants() override; - public virtual std::string getName() override; - public virtual std::string getSyncMethodName(unsigned int reactMethodId) override; - public virtual std::vector getMethods() override; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; -} - -class facebook::react::JavaScriptExecutorHolder : public jni::HybridClass { - protected JavaScriptExecutorHolder(std::shared_ptr factory); - public static constexpr auto kJavaDescriptor; - public std::shared_ptr getExecutorFactory(); -} - class facebook::react::JavaTimerRegistry : public facebook::react::PlatformTimerRegistry { public JavaTimerRegistry(jni::global_ref javaTimerManager); public virtual void createRecurringTimer(uint32_t timerID, double delayMS) override; @@ -3098,96 +1727,9 @@ struct facebook::react::JavaTurboModule::InitParams { public std::string moduleName; } -class facebook::react::JniJSModulesUnbundle : public facebook::react::JSModulesUnbundle { - public JniJSModulesUnbundle() = default; - public JniJSModulesUnbundle(AAssetManager* assetManager, std::string moduleDirectory); - public JniJSModulesUnbundle(facebook::react::JniJSModulesUnbundle&& other) = delete; - public facebook::react::JniJSModulesUnbundle& operator=(facebook::react::JSModulesUnbundle&& other) = delete; - public static bool isUnbundle(AAssetManager* assetManager, const std::string& assetName); - public static std::unique_ptr fromEntryFile(AAssetManager* assetManager, const std::string& entryFile); - public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const override; -} - -class facebook::react::JsErrorHandler { - public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); - public bool hasHandledFatalError(); - public bool inErrorHandler(); - public bool isRuntimeReady(); - public using OnJsError = std::function; - public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); - public void notifyOfFatalError(); - public void registerErrorListener(const std::function& listener); - public void setRuntimeReady(); - public ~JsErrorHandler(); -} - -struct facebook::react::JsErrorHandler::ProcessedError { - public bool isFatal; - public facebook::jsi::Object extraData; - public int id; - public std::optional componentStack; - public std::optional name; - public std::optional originalMessage; - public std::string message; - public std::vector stack; -} - -struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { - public std::optional column; - public std::optional lineNumber; - public std::optional file; - public std::string methodName; -} - -class facebook::react::LayoutAnimationCallbackWrapper { - public LayoutAnimationCallbackWrapper(); - public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); - public void call(facebook::jsi::Runtime& runtime) const; -} - -class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; - public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); -} - -class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { - protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected facebook::react::ShadowView createInterpolatedShadowView(facebook::react::Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; - protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; - protected mutable std::mutex currentAnimationMutex_; - protected mutable std::optional currentAnimation_; - protected mutable std::vector inflightAnimations_; - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; - protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; - protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; - public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); - public virtual bool shouldAnimateFrame() const override; - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; - public void setClockNow(std::function now); - public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; - public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; -} - -class facebook::react::LayoutAnimationStatusDelegate { - public virtual void onAllAnimationsComplete() = 0; - public virtual void onAnimationStarted() = 0; - public virtual ~LayoutAnimationStatusDelegate() = default; -} - class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { } -class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; -} - class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); @@ -3220,36 +1762,6 @@ struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { public bool includeViewportOffset; } -class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { - public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); - public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); - public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; - public virtual void lockRevisions() override; - public virtual void unlockRevisions() override; -} - -class facebook::react::LeakChecker { - public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); - public void stopSurface(facebook::react::SurfaceId surfaceId); - public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; -} - -class facebook::react::LegacyViewManagerInteropState { - public std::shared_ptr coordinator; -} - -class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { - public LegacyViewManagerInteropViewProps() = default; - public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public const folly::dynamic otherProps; -} - -class facebook::react::LineMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::Size size; -} - class facebook::react::LongLivedObject { protected LongLivedObject(facebook::jsi::Runtime& runtime); protected facebook::jsi::Runtime& runtime_; @@ -3327,33 +1839,6 @@ class facebook::react::MapBufferBuilder { public void putString(facebook::react::MapBuffer::Key key, const std::string& value); } -class facebook::react::MergedValueDispatcher { - public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); - public using DispatchFunction = std::function&&)>; - public using MergedValueFunction = std::function&& tagToProps)>; - public void dispatch(const std::unordered_map& value); -} - -class facebook::react::MessageQueueThread { - public virtual void quitSynchronous() = 0; - public virtual void runOnQueue(std::function&&) = 0; - public virtual void runOnQueueSync(std::function&&) = 0; - public virtual ~MessageQueueThread() = default; -} - -class facebook::react::MethodInvoker { - public MethodInvoker(jni::alias_ref method, std::string methodName, std::string signature, std::string traceName, bool isSync); - public bool isSyncHook() const; - public facebook::react::MethodCallResult invoke(std::weak_ptr& instance, jni::alias_ref module, const folly::dynamic& params); - public std::string getMethodName() const; -} - -class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ModalHostViewEventEmitter : public facebook::react::BaseViewEventEmitter { public static char const* toString(const facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation value); public void onDismiss(facebook::react::ModalHostViewEventEmitter::OnDismiss value) const; @@ -3397,103 +1882,6 @@ class facebook::react::ModalHostViewProps : public facebook::react::HostPlatform public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::ModalHostViewState { - public ModalHostViewState(); - public ModalHostViewState(const facebook::react::ModalHostViewState& previousState, folly::dynamic data); - public ModalHostViewState(facebook::react::Size screenSize_); - public const facebook::react::Size screenSize; - public folly::dynamic getDynamic() const; - public using Shared = std::shared_ptr; -} - -class facebook::react::ModuleHolder : public facebook::jni::JavaClass { - public facebook::xplat::module::CxxModule::Provider getProvider(const std::string& moduleName) const; - public static constexpr auto kJavaDescriptor; - public std::string getName() const; -} - -class facebook::react::ModuleRegistry { - public ModuleRegistry(std::vector> modules, facebook::react::ModuleRegistry::ModuleNotFoundCallback callback = nullptr); - public facebook::react::MethodCallResult callSerializableNativeHook(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params); - public std::optional getConfig(const std::string& name); - public std::string getModuleName(unsigned int moduleId); - public std::string getModuleSyncMethodName(unsigned int moduleId, unsigned int methodId); - public std::vector moduleNames(); - public using ModuleNotFoundCallback = std::function; - public void callNativeMethod(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params, int callId); - public void registerModules(std::vector> modules); -} - -class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { - public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MountingCoordinator { - public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); - public bool hasPendingTransactions() const; - public bool waitForTransaction(std::chrono::duration timeout) const; - public const facebook::react::TelemetryController& getTelemetryController() const; - public facebook::react::ShadowTreeRevision getBaseRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional pullTransaction(bool willPerformAsynchronously = false) const; - public void didPerformAsyncTransactions() const; - public void setMountingOverrideDelegate(std::weak_ptr delegate) const; -} - -class facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const = 0; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; - public virtual ~MountingOverrideDelegate() = default; -} - -class facebook::react::MountingTransaction { - public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; - public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; - public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); - public const facebook::react::ShadowViewMutationList& getMutations() const; - public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; - public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; - public facebook::react::MountingTransaction::Number getNumber() const; - public facebook::react::ShadowViewMutationList getMutations(); - public facebook::react::SurfaceId getSurfaceId() const; - public facebook::react::TransactionTelemetry& getTelemetry() const; - public using Number = int64_t; - public void mergeWith(facebook::react::MountingTransaction&& transaction); -} - -class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { - public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MutationObserver { - public MutationObserver(const facebook::react::MutationObserver&) = delete; - public MutationObserver(facebook::react::MutationObserver&&) = default; - public MutationObserver(facebook::react::MutationObserverId mutationObserverId); - public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; - public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; - public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); - public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; -} - -class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { - public MutationObserverManager(); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); - public void disconnect(facebook::react::UIManager& uiManager); - public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); - public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); -} - class facebook::react::NativeAccessibilityInfoSpecJSI : public facebook::react::JavaTurboModule { public NativeAccessibilityInfoSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3514,68 +1902,6 @@ class facebook::react::NativeAnimatedModuleSpecJSI : public facebook::react::Jav public NativeAnimatedModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { - public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; - public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; - public bool commitProps(); - public bool hasManagedProps() const noexcept; - public bool isOnRenderThread() const noexcept; - public bool useSharedAnimatedBackend() const noexcept; - public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); - public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); - public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; - public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; - public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; - public std::optional getValue(facebook::react::Tag tag) noexcept; - public std::shared_ptr getEventEmitterListener() noexcept; - public using DirectManipulationCallback = std::function; - public using FabricCommitCallback = std::function&)>; - public using FrameRateListenerCallback = std::function; - public using ResolvePlatformColor = std::function; - public using StartOnRenderCallback = std::function&&, bool isAsync)>; - public using StopOnRenderCallback = std::function; - public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; - public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; - public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void dropAnimatedNode(facebook::react::Tag tag) noexcept; - public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); - public void flattenAnimatedNodeOffset(facebook::react::Tag tag); - public void flushAnimatedNodesCreatedAsync() noexcept; - public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); - public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; - public void onRender(); - public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; - public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; - public void restoreDefaultValues(facebook::react::Tag tag) noexcept; - public void scheduleOnUI(facebook::react::UiTask&& task); - public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; - public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); - public void setAnimatedNodeValue(facebook::react::Tag tag, double value); - public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; - public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; - public void startRenderCallbackIfNeeded(bool isAsync); - public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; - public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; - public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; - public ~NativeAnimatedNodesManager() noexcept; - template >> - public T* getAnimatedNode(facebook::react::Tag tag) const; -} - -class facebook::react::NativeAnimatedNodesManagerProvider { - public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); - public std::shared_ptr getEventEmitterListener(); - public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); - public void addEventEmitterListener(const std::shared_ptr& listener); -} - class facebook::react::NativeAnimatedTurboModuleSpecJSI : public facebook::react::JavaTurboModule { public NativeAnimatedTurboModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3609,41 +1935,10 @@ class facebook::react::NativeBlobModuleSpecJSI : public facebook::react::JavaTur public NativeBlobModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeCPUTime : public facebook::react::NativeCPUTimeCxxSpec { - public NativeCPUTime(std::shared_ptr jsInvoker); - public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); - public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); -} - class facebook::react::NativeClipboardSpecJSI : public facebook::react::JavaTurboModule { public NativeClipboardSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeDOM : public facebook::react::NativeDOMCxxSpec { - public NativeDOM(std::shared_ptr jsInvoker); - public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); - public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); - public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); - public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); - public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); - public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); - public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); - public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); - public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); -} - class facebook::react::NativeDevLoadingViewSpecJSI : public facebook::react::JavaTurboModule { public NativeDevLoadingViewSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3688,12 +1983,6 @@ class facebook::react::NativeI18nManagerSpecJSI : public facebook::react::JavaTu public NativeI18nManagerSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeIdleCallbacks : public facebook::react::NativeIdleCallbacksCxxSpec { - public NativeIdleCallbacks(std::shared_ptr jsInvoker); - public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); - public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); -} - class facebook::react::NativeImageEditorSpecJSI : public facebook::react::JavaTurboModule { public NativeImageEditorSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3710,15 +1999,6 @@ class facebook::react::NativeIntentAndroidSpecJSI : public facebook::react::Java public NativeIntentAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeIntersectionObserver : public facebook::react::NativeIntersectionObserverCxxSpec { - public NativeIntersectionObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeJSCHeapCaptureSpecJSI : public facebook::react::JavaTurboModule { public NativeJSCHeapCaptureSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3761,101 +2041,10 @@ class facebook::react::NativeMethodCallInvokerHolder : public jni::HybridClass getNativeMethodCallInvoker(); } -class facebook::react::NativeMicrotasks : public facebook::react::NativeMicrotasksCxxSpec { - public NativeMicrotasks(std::shared_ptr jsInvoker); - public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); -} - -class facebook::react::NativeModule { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& args) = 0; - public virtual folly::dynamic getConstants() = 0; - public virtual std::string getName() = 0; - public virtual std::string getSyncMethodName(unsigned int methodId) = 0; - public virtual std::vector getMethods() = 0; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) = 0; - public virtual ~NativeModule() = default; -} - -class facebook::react::NativeModulePerfLogger { - public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; - public virtual void asyncMethodCallBatchPreprocessStart() = 0; - public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; - public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual ~NativeModulePerfLogger() = default; -} - -class facebook::react::NativeMutationObserver : public facebook::react::NativeMutationObserverCxxSpec { - public NativeMutationObserver(std::shared_ptr jsInvoker); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); - public void disconnect(facebook::jsi::Runtime& runtime); - public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); - public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); -} - class facebook::react::NativeNetworkingAndroidSpecJSI : public facebook::react::JavaTurboModule { public NativeNetworkingAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativePerformance : public facebook::react::NativePerformanceCxxSpec { - public NativePerformance(std::shared_ptr jsInvoker); - public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); - public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); - public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); - public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); - public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); - public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); - public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); - public std::vector getEntries(facebook::jsi::Runtime& rt); - public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); - public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); - public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); - public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); - public std::vector> getEventCounts(facebook::jsi::Runtime& rt); - public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); - public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); - public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); - public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); - public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); -} - class facebook::react::NativePermissionsAndroidSpecJSI : public facebook::react::JavaTurboModule { public NativePermissionsAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3876,15 +2065,6 @@ class facebook::react::NativeRedBoxSpecJSI : public facebook::react::JavaTurboMo public NativeRedBoxSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeResizeObserver : public facebook::react::NativeResizeObserverCxxSpec { - public NativeResizeObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeResizeObserverObserveOptions& options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::NativeResizeObserverNotifyCallback notifyResizeObserversFunction); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserve(facebook::jsi::Runtime& runtime, facebook::react::ResizeObserverObserverId resizeObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::JavaTurboModule { public NativeSegmentFetcherSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3913,26 +2093,6 @@ class facebook::react::NativeTimingSpecJSI : public facebook::react::JavaTurboMo public NativeTimingSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NativeToJsBridge { - public NativeToJsBridge(facebook::react::JSExecutorFactory* jsExecutorFactory, std::shared_ptr registry, std::shared_ptr jsQueue, std::shared_ptr callback); - public bool isBatchActive(); - public bool isInspectable(); - public facebook::react::jsinspector_modern::RuntimeTargetDelegate& getInspectorTargetDelegate(); - public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker) const; - public virtual ~NativeToJsBridge(); - public void callFunction(std::string&& module, std::string&& method, folly::dynamic&& arguments); - public void destroy(); - public void handleMemoryPressure(int pressureLevel); - public void initializeRuntime(); - public void invokeCallback(double callbackId, folly::dynamic&& arguments); - public void loadBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); - public void loadBundleSync(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); - public void registerBundle(uint32_t bundleId, const std::string& bundlePath); - public void runOnExecutorQueue(std::function&& task) noexcept; - public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); - public void* getJavaScriptContext(); -} - class facebook::react::NativeToastAndroidSpecJSI : public facebook::react::JavaTurboModule { public NativeToastAndroidSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } @@ -3953,172 +2113,6 @@ class facebook::react::NativeWebSocketModuleSpecJSI : public facebook::react::Ja public NativeWebSocketModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params); } -class facebook::react::NetworkReporter { - public bool isDebuggingEnabled() const; - public static facebook::react::NetworkReporter& getInstance(); - public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); - public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); - public void reportRequestFailed(const std::string& requestId, bool cancelled) const; - public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); - public void reportResponseEnd(const std::string& requestId, int encodedDataLength); - public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); - public void reportWebSocketClosed(const std::string& requestId) const; - public void reportWebSocketCreated(const std::string& requestId, const std::string& url) const; - public void reportWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t statusCode, const facebook::react::Headers& headers) const; - public void reportWebSocketMessageReceived(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketMessageSent(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::Headers& headers) const; - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { - public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(std::string propKey, folly::dynamic& props); -} - -class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { - protected std::vector inputNodes_; - public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); -} - -class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { - public bool adjustsFontSizeToFit; - public bool includeFontPadding; - public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; - public facebook::react::EllipsizeMode ellipsizeMode; - public facebook::react::Float minimumFontScale; - public facebook::react::Float minimumFontSize; - public facebook::react::HyphenationFrequency android_hyphenationFrequency; - public facebook::react::TextBreakStrategy textBreakStrategy; - public facebook::react::TextWidthMode textWidthMode; - public int maximumNumberOfLines; - public std::optional textAlignVertical; -} - -class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; -} - -class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; - public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - -class facebook::react::ParagraphShadowNode::Content { - public facebook::react::AttributedString attributedString; - public facebook::react::BaseTextShadowNode::Attachments attachments; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::ParagraphState { - public ParagraphState() = default; - public ParagraphState(const facebook::react::ParagraphState&, const folly::dynamic&); - public ParagraphState(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, std::weak_ptr layoutManager); - public ParagraphState(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, std::weak_ptr layoutManager, facebook::react::MeasuredPreparedTextLayout measuredLayout); - public facebook::react::AttributedString attributedString; - public facebook::react::MapBuffer getMapBuffer() const; - public facebook::react::MeasuredPreparedTextLayout measuredLayout; - public facebook::react::ParagraphAttributes paragraphAttributes; - public folly::dynamic getDynamic() const; - public jni::local_ref getJNIReference() const; - public std::weak_ptr layoutManager; -} - -class facebook::react::PerformanceEntryBuffer { - public PerformanceEntryBuffer() = default; - public facebook::react::HighResDuration durationThreshold; - public size_t droppedEntriesCount; - public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; - public virtual void clear() = 0; - public virtual void clear(const std::string& name) = 0; - public virtual void getEntries(std::vector& target) const = 0; - public virtual void getEntries(std::vector& target, const std::string& name) const = 0; - public virtual ~PerformanceEntryBuffer() = default; -} - -class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryCircularBuffer(size_t size); - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; - public ~PerformanceEntryCircularBuffer() override = default; -} - -class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryKeyedBuffer() = default; - public std::optional find(const std::string& name) const; - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; -} - -class facebook::react::PerformanceEntryReporter { - public PerformanceEntryReporter(); - public const std::unordered_map& getEventCounts() const; - public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); - public static std::shared_ptr& getInstance(); - public static std::vector getSupportedEntryTypes(); - public std::optional getMarkTime(const std::string& markName) const; - public std::vector getEntries() const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; - public using UserTimingDetailProvider = std::function; - public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void clearEntries(); - public void clearEntries(facebook::react::PerformanceEntryType entryType); - public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); - public void clearEventCounts(); - public void getEntries(std::vector& dest) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); - public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); - public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); -} - -class facebook::react::PerformanceEntryReporterEventListener { - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); - public virtual ~PerformanceEntryReporterEventListener() = default; -} - -class facebook::react::PerformanceObserver : public std::enable_shared_from_this { - public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public std::vector takeRecords(); - public uint32_t getDroppedEntriesCount() noexcept; - public void disconnect() noexcept; - public void handleEntry(const facebook::react::PerformanceEntry& entry); - public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); - public void observe(std::unordered_set types); - public ~PerformanceObserver() = default; -} - -class facebook::react::PerformanceObserverRegistry { - public PerformanceObserverRegistry() = default; - public void addObserver(std::shared_ptr observer); - public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); - public void removeObserver(std::shared_ptr observer); -} - class facebook::react::PerformanceTracerCxxInterop : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; public static jboolean isTracing(facebook::jni::alias_ref jthis); @@ -4130,41 +2124,6 @@ class facebook::react::PerformanceTracerCxxInterop : public facebook::jni::JavaC public static void unsubscribeFromTracingStateChanges(facebook::jni::alias_ref jthis, jint subscriptionId); } -class facebook::react::PlatformTimerRegistry { - public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; - public virtual void createTimer(uint32_t timerID, double delayMS) = 0; - public virtual void deleteTimer(uint32_t timerID) = 0; - public virtual void quit(); - public virtual void setTimerManager(std::weak_ptr); - public virtual ~PlatformTimerRegistry() noexcept = default; -} - -class facebook::react::PointerEventsProcessor { - public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); - public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); - public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); -} - -class facebook::react::PointerHoverTracker { - public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); - public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; - public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; - public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; - public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; - public using EventPath = std::vector>; - public using Unique = std::unique_ptr; - public void markAsOld(); -} - -class facebook::react::PreparedTextCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::Float pointScaleFactor; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { public Props() = default; public Props(const facebook::react::Props& other) = default; @@ -4180,21 +2139,6 @@ class facebook::react::Props : public virtual facebook::react::Sealable, public public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { - public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::SurfaceId connectedRootTag() const; - public facebook::react::Tag connectedViewTag() const; - public folly::dynamic props(); - public virtual void update() override; - public void collectProps(); - public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); - public void connectToView(facebook::react::Tag viewTag); - public void disconnectFromShadowNodeFamily(); - public void disconnectFromView(facebook::react::Tag viewTag); - public void restoreDefaultValues(); - public void update(bool forceFabricCommit); -} - class facebook::react::PullToRefreshViewEventEmitter : public facebook::react::BaseViewEventEmitter { public void onRefresh(facebook::react::PullToRefreshViewEventEmitter::OnRefresh value) const; } @@ -4214,16 +2158,6 @@ class facebook::react::PullToRefreshViewProps : public facebook::react::HostPlat public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::RAMBundleRegistry { - public RAMBundleRegistry(facebook::react::RAMBundleRegistry&&) = default; - public RAMBundleRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory = nullptr); - public facebook::react::JSModulesUnbundle::Module getModule(uint32_t bundleId, uint32_t moduleId); - public facebook::react::RAMBundleRegistry& operator=(facebook::react::RAMBundleRegistry&&) = default; - public static constexpr uint32_t MAIN_BUNDLE_ID; - public virtual ~RAMBundleRegistry() = default; - public void registerBundle(uint32_t bundleId, std::string bundlePath); -} - class facebook::react::RawProps { public RawProps(); public RawProps(const facebook::react::RawProps& other) noexcept; @@ -4262,17 +2196,6 @@ class facebook::react::RawPropsParser { public void prepare() noexcept; } -class facebook::react::RawTextProps : public facebook::react::Props { - public RawTextProps() = default; - public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public std::string text; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; -} - -class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { -} - class facebook::react::RawValue { public RawValue() noexcept; public RawValue(const folly::dynamic& dynamic) noexcept; @@ -4289,38 +2212,6 @@ class facebook::react::RawValue { public operator T() const; } -class facebook::react::ReactInstance { - public ReactInstance(const facebook::react::ReactInstance&) = delete; - public ReactInstance(facebook::react::ReactInstance&&) = delete; - public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); - public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; - public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; - public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; - public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; - public std::shared_ptr createJSCallInvoker() noexcept; - public std::shared_ptr getRuntimeScheduler() noexcept; - public using BindingsInstallFunc = std::function; - public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); - public void handleMemoryPressureJs(int pressureLevel); - public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; - public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); - public void registerSegment(uint32_t segmentId, const std::string& segmentPath); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~ReactInstance() noexcept override; -} - -struct facebook::react::ReactInstance::JSRuntimeFlags { - public bool isProfiling; - public const std::string runtimeDiagnosticFlags; -} - -class facebook::react::ReactPerfettoLogger { - public static bool isTracing(); - public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); - public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); -} - class facebook::react::ReadableNativeArray : public jni::HybridClass { protected friend HybridBase; public bool equals(jni::alias_ref other); @@ -4333,226 +2224,6 @@ class facebook::react::ReadableNativeArray : public jni::HybridClass takeRecords(); - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyResizeObserversFunction); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions); - public void unobserve(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily); -} - -class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { - public RootProps() = default; - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; -} - -class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { - public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public bool layoutIfNeeded(std::vector* affectedNodes = {}); - public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using Shared = std::shared_ptr; - public using Unshared = std::shared_ptr; - public virtual facebook::react::Transform getTransform() const override; - public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; -} - -class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { - public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::RunLoopObserver { - protected const facebook::react::RunLoopObserver::Activity activities_; - protected const facebook::react::RunLoopObserver::WeakOwner owner_; - protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; - protected mutable std::atomic enabled_; - protected virtual void startObserving() const noexcept = 0; - protected virtual void stopObserving() const noexcept = 0; - protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; - public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; - public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; - public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; - public using Owner = std::shared_ptr; - public using WeakOwner = std::weak_ptr; - public virtual bool isOnRunLoopThread() const noexcept = 0; - public virtual ~RunLoopObserver() noexcept = default; - public void disable() const noexcept; - public void enable() const noexcept; - public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; -} - -class facebook::react::RunLoopObserver::Delegate { - public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; - public virtual ~Delegate() noexcept = default; -} - -enum facebook::react::RunLoopObserver::Activity : int32_t { - AfterWaiting, - BeforeWaiting, - None, -} - -class facebook::react::RuntimeScheduler : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; - public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); - public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; - public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; - public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeSchedulerBase : public facebook::hermes::IEventLoopControl { - public virtual bool getShouldYield() noexcept = 0; - public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; - public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; - public virtual void scheduleTask(const std::function& task) = 0; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) = 0; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; - public virtual ~RuntimeSchedulerBase() = default; -} - -class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { - public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); - public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public std::shared_ptr getRuntimeScheduler() noexcept; - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; -} - -class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { - public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - -class facebook::react::RuntimeSchedulerEventTimingDelegate { - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerEventTimingDelegate() = default; -} - -class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; -} - -class facebook::react::RuntimeSchedulerResizeObserverDelegate { - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) = 0; - public virtual ~RuntimeSchedulerResizeObserverDelegate() = default; -} - -class facebook::react::RuntimeScheduler_Legacy : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Legacy(const facebook::react::RuntimeScheduler_Legacy&) = delete; - public RuntimeScheduler_Legacy(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Legacy(facebook::react::RuntimeScheduler_Legacy&&) = delete; - public facebook::react::RuntimeScheduler_Legacy& operator=(const facebook::react::RuntimeScheduler_Legacy&) = delete; - public facebook::react::RuntimeScheduler_Legacy& operator=(facebook::react::RuntimeScheduler_Legacy&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; - public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { -} - class facebook::react::SafeAreaViewEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -4563,127 +2234,12 @@ class facebook::react::SafeAreaViewProps : public facebook::react::HostPlatformV public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { -} - -class facebook::react::SafeAreaViewState { - public SafeAreaViewState() = default; - public SafeAreaViewState(const facebook::react::SafeAreaViewState&, folly::dynamic data); - public facebook::react::EdgeInsets padding; - public folly::dynamic getDynamic() const; -} - -class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { - public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); - public facebook::react::SchedulerDelegate* getDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr getUIManager() const; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidClearPendingSnapshots() override; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) override; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; - public void addEventListener(std::shared_ptr listener); - public void animationTick() const; - public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void setDelegate(facebook::react::SchedulerDelegate* delegate); - public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public ~Scheduler() override; -} - -class facebook::react::SchedulerDelegate { - public virtual void schedulerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidClearPendingSnapshots() = 0; - public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; - public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void schedulerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~SchedulerDelegate() noexcept = default; -} - -class facebook::react::ScopedShadowTreeRevisionLock { - public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ~ScopedShadowTreeRevisionLock() noexcept; -} - -class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { - public using EndDragMetrics = facebook::react::ScrollEndDragEvent; - public using Metrics = facebook::react::ScrollEvent; - public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; - public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; - public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; -} - -class facebook::react::ScrollViewMaintainVisibleContentPosition { - public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; - public int minIndexForVisible; - public std::optional autoscrollToTopThreshold; -} - -class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); - public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; -} - -class facebook::react::ScrollViewState { - public ScrollViewState() = default; - public ScrollViewState(const facebook::react::ScrollViewState& previousState, folly::dynamic data); - public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); - public bool disableViewCulling; - public facebook::react::Point contentOffset; - public facebook::react::Rect contentBoundingRect; - public facebook::react::Size getContentSize() const; - public folly::dynamic getDynamic() const; - public int scrollAwayPaddingTop; -} - class facebook::react::Sealable { public bool getSealed() const; public void ensureUnsealed() const; public void seal() const; } -class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { - public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static constexpr facebook::react::ComponentName Name(); - public static facebook::react::ComponentHandle Handle(); -} - class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { protected facebook::react::Props::Shared props_; protected facebook::react::ShadowNodeTraits traits_; @@ -4783,63 +2339,6 @@ enum facebook::react::ShadowNodeTraits::Trait : int32_t { ViewKind, } -class facebook::react::ShadowTree { - public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); - public bool promoteReactRevision() const; - public facebook::react::CommitMode getCommitMode() const; - public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::ShadowTreeRevision getCurrentRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional getCurrentReactRevision() const; - public std::shared_ptr getMountingCoordinator() const; - public using CommitMode = facebook::react::ShadowTreeCommitMode; - public using CommitOptions = facebook::react::ShadowTreeCommitOptions; - public using CommitSource = facebook::react::ShadowTreeCommitSource; - public using CommitStatus = facebook::react::ShadowTreeCommitStatus; - public using Unique = std::unique_ptr; - public void commitEmptyTree() const; - public void mergeReactRevision() const; - public void notifyDelegatesOfUpdates() const; - public void setCommitMode(facebook::react::CommitMode commitMode) const; - public ~ShadowTree(); -} - -class facebook::react::ShadowTreeDelegate { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) const; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; - public virtual ~ShadowTreeDelegate() noexcept = default; -} - -class facebook::react::ShadowTreeRegistry { - public ShadowTreeRegistry() = default; - public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; - public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; - public void add(std::unique_ptr&& shadowTree) const; - public void enumerate(const std::function& callback) const; - public ~ShadowTreeRegistry(); -} - -class facebook::react::ShadowTreeRevision { - public facebook::react::RootShadowNode::Shared rootShadowNode; - public facebook::react::ShadowTreeRevision::Number number; - public facebook::react::TransactionTelemetry telemetry; - public using Number = int64_t; -} - -class facebook::react::ShadowTreeRevisionConsistencyManager { - public virtual void lockRevisions() = 0; - public virtual void unlockRevisions() = 0; - public virtual ~ShadowTreeRevisionConsistencyManager() = default; -} - -class facebook::react::ShadowTreeRevisionProvider { - public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual ~ShadowTreeRevisionProvider() = default; -} - class facebook::react::SharedColor { public SharedColor(); public SharedColor(facebook::react::Color color); @@ -4851,15 +2350,6 @@ class facebook::react::SharedColor { public std::string toString() const noexcept; } -class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::StackTraceParser { - public static std::vector parse(bool isHermes, const std::string& stackString); -} - class facebook::react::State { protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); @@ -4903,48 +2393,6 @@ class facebook::react::StateWrapperImpl : public jni::HybridClass getMountingCoordinator() const noexcept; - public std::string getModuleName() const noexcept; - public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; - public virtual ~SurfaceHandler() noexcept; - public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public void setContextContainer(std::shared_ptr contextContainer) const noexcept; - public void setProps(const folly::dynamic& props) const noexcept; - public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; - public void start() const noexcept; - public void stop() const noexcept; -} - -enum facebook::react::SurfaceHandler::Status { - Registered, - Running, - Unregistered, -} - class facebook::react::SurfaceHandlerBinding : public jni::HybridClass { public SurfaceHandlerBinding(facebook::react::SurfaceId surfaceId, const std::string& moduleName); public const facebook::react::SurfaceHandler& getSurfaceHandler(); @@ -4958,43 +2406,6 @@ class facebook::react::SurfaceHandlerBinding : public jni::HybridClass getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; - public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; - public std::unordered_set getRunningSurfaces() const noexcept; - public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; - public void stopAllSurfaces() noexcept; - public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; - public ~SurfaceManager() noexcept; -} - -struct facebook::react::SurfaceManager::SurfaceProps { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; - public facebook::react::SurfaceId surfaceId; - public folly::dynamic props; - public std::string moduleName; -} - -class facebook::react::SurfaceTelemetry { - public facebook::react::TelemetryDuration getCommitTime() const; - public facebook::react::TelemetryDuration getDiffTime() const; - public facebook::react::TelemetryDuration getLayoutTime() const; - public facebook::react::TelemetryDuration getMountTime() const; - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public int getLastRevisionNumber() const; - public int getNumberOfMutations() const; - public int getNumberOfTextMeasurements() const; - public int getNumberOfTransactions() const; - public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; - public std::vector getRecentTransactionTelemetries() const; - public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); -} - class facebook::react::SwitchEventEmitter : public facebook::react::BaseViewEventEmitter { public void onChange(facebook::react::SwitchEventEmitter::OnChange value) const; } @@ -5019,163 +2430,6 @@ class facebook::react::SwitchProps : public facebook::react::HostPlatformViewPro public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::TaskPriorityComparer { - public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); -} - -class facebook::react::TelemetryController { - public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; -} - -class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { - public bool operator==(const facebook::react::TextAttributes& rhs) const; - public facebook::react::Float fontSize; - public facebook::react::Float fontSizeMultiplier; - public facebook::react::Float letterSpacing; - public facebook::react::Float lineHeight; - public facebook::react::Float maxFontSizeMultiplier; - public facebook::react::Float opacity; - public facebook::react::Float textShadowRadius; - public facebook::react::SharedColor backgroundColor; - public facebook::react::SharedColor foregroundColor; - public facebook::react::SharedColor textDecorationColor; - public facebook::react::SharedColor textShadowColor; - public static facebook::react::TextAttributes defaultTextAttributes(); - public std::optional allowFontScaling; - public std::optional isHighlighted; - public std::optional isPressable; - public std::optional accessibilityRole; - public std::optional dynamicTypeRamp; - public std::optional fontStyle; - public std::optional fontVariant; - public std::optional fontWeight; - public std::optional layoutDirection; - public std::optional lineBreakMode; - public std::optional lineBreakStrategy; - public std::optional role; - public std::optional textShadowOffset; - public std::optional alignment; - public std::optional textDecorationLineType; - public std::optional textDecorationStyle; - public std::optional textTransform; - public std::optional baseWritingDirection; - public std::optional fontVariationSettings; - public std::string fontFamily; - public std::vector textEffects; - public void apply(facebook::react::TextAttributes textAttributes); -} - -class facebook::react::TextEffectProps : public facebook::react::Props { - public TextEffectProps() = default; - public TextEffectProps(const facebook::react::PropsParserContext& context, const facebook::react::TextEffectProps& sourceProps, const facebook::react::RawProps& rawProps); - public folly::dynamic effectProps; - public std::string effectName; - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; -} - -class facebook::react::TextEffectShadowNode : public facebook::react::ConcreteShadowNode { -} - -class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; - public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; -} - -struct facebook::react::TextInputEventEmitter::KeyPressMetrics { - public int eventCount; - public std::string text; -} - -struct facebook::react::TextInputEventEmitter::Metrics { - public bool responderIgnoreScroll; - public facebook::react::AttributedString::Range selectionRange; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public facebook::react::Size layoutMeasurement; - public facebook::react::Tag target; - public int eventCount; - public std::string text; -} - -class facebook::react::TextInputState { - public TextInputState() = default; - public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); - public facebook::react::AttributedString reactTreeAttributedString; - public facebook::react::AttributedStringBox attributedStringBox; - public facebook::react::ParagraphAttributes paragraphAttributes; - public int64_t mostRecentEventCount; -} - -class facebook::react::TextLayoutManager { - public TextLayoutManager(const facebook::react::TextLayoutManager&) = delete; - public TextLayoutManager(const std::shared_ptr& contextContainer); - public TextLayoutManager(facebook::react::TextLayoutManager&&) = delete; - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size) const; - public facebook::react::TextLayoutManager& operator=(const facebook::react::TextLayoutManager&) = delete; - public facebook::react::TextLayoutManager& operator=(facebook::react::TextLayoutManager&&) = delete; - public facebook::react::TextLayoutManager::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::TextMeasurement measure(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::TextMeasurement measureCachedSpannableById(int64_t cacheId, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::TextLayoutManager::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public using PreparedTextLayout = facebook::react::SafeReleaseJniRef>; -} - -class facebook::react::TextMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::Float pointScaleFactor; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::TextMeasurement { - public facebook::react::Size size; - public facebook::react::TextMeasurement::Attachments attachments; - public using Attachments = std::vector; -} - -class facebook::react::TextMeasurement::Attachment { - public bool isClipped; - public facebook::react::Rect frame; -} - -class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { - public TextProps() = default; - public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); - public virtual facebook::react::ComponentName getDiffPropsImplementationTarget() const override; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { - public TextShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using BaseShadowNode = facebook::react::ConcreteShadowNode; -} - -class facebook::react::TimerManager { - public TimerManager(const facebook::react::TimerManager&) = delete; - public TimerManager(facebook::react::TimerManager&&) = delete; - public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; - public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; - public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; - public void attachGlobals(facebook::jsi::Runtime& runtime); - public void callTimer(facebook::react::TimerHandle handle); - public void quit(); - public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; - public ~TimerManager() noexcept; -} - class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); public void onClick(facebook::react::PointerEvent event) const; @@ -5208,48 +2462,6 @@ class facebook::react::TracingStateCallback : public facebook::jni::JavaClass now); - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public facebook::react::TelemetryTimePoint getCommitEndTime() const; - public facebook::react::TelemetryTimePoint getCommitStartTime() const; - public facebook::react::TelemetryTimePoint getDiffEndTime() const; - public facebook::react::TelemetryTimePoint getDiffStartTime() const; - public facebook::react::TelemetryTimePoint getLayoutEndTime() const; - public facebook::react::TelemetryTimePoint getLayoutStartTime() const; - public facebook::react::TelemetryTimePoint getMountEndTime() const; - public facebook::react::TelemetryTimePoint getMountStartTime() const; - public int getAffectedLayoutNodesCount() const; - public int getNumberOfTextMeasurements() const; - public int getRevisionNumber() const; - public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); - public void didCommit(); - public void didDiff(); - public void didLayout(); - public void didLayout(int affectedLayoutNodesCount); - public void didMeasureText(); - public void didMount(); - public void setAsThreadLocal(); - public void setRevisionNumber(int revisionNumber); - public void unsetAsThreadLocal(); - public void willCommit(); - public void willDiff(); - public void willLayout(); - public void willMeasureText(); - public void willMount(); -} - -class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { - public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(folly::dynamic& props); -} - class facebook::react::TransformHelper : public facebook::jni::JavaClass { public static constexpr auto * kJavaDescriptor; public static void registerNatives(); @@ -5303,158 +2515,6 @@ class facebook::react::UIConstantsProviderBinding : public facebook::jni::JavaCl public static void registerNatives(); } -class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { - public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); - public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; - public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; - public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; - public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); - public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); - public facebook::react::UIManagerDelegate* getDelegate(); - public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; - public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; - public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; - public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) const noexcept override; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; - public void addEventListener(std::shared_ptr listener); - public void addOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); - public void animationTick() const; - public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; - public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); - public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; - public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); - public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); - public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); - public void setDelegate(facebook::react::UIManagerDelegate* delegate); - public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; - public void setNativeAnimatedDelegate(std::weak_ptr delegate); - public void setSurfaceProps(facebook::react::SurfaceId surfaceId, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); - public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; - public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; - public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); - public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); - public void updateShadowTree(std::unordered_map&& tagToProps); - public void updateState(const facebook::react::StateUpdate& stateUpdate) const; - public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; - public ~UIManager() override; -} - -class facebook::react::UIManagerAnimationBackend { - public using Callback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) = 0; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; - public virtual void stop(facebook::react::CallbackId callbackId) = 0; - public virtual void trigger() = 0; - public virtual ~UIManagerAnimationBackend() = default; -} - -class facebook::react::UIManagerAnimationDelegate { - public virtual bool shouldAnimateFrame() const = 0; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; - public virtual ~UIManagerAnimationDelegate() = default; -} - -class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { - public UIManagerBinding(std::shared_ptr uiManager); - public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); - public facebook::react::UIManager& getUIManager(); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; - public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; - public void invalidate() const; - public ~UIManagerBinding() override; -} - -class facebook::react::UIManagerCommitHook { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) noexcept; - public virtual ~UIManagerCommitHook() noexcept = default; -} - -class facebook::react::UIManagerDelegate { - public using OnSurfaceStartCallback = std::function; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidClearPendingSnapshots() = 0; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~UIManagerDelegate() noexcept = default; -} - -class facebook::react::UIManagerMountHook { - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; - public virtual ~UIManagerMountHook() noexcept = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegate { - public virtual void runAnimationFrame() = 0; - public virtual ~UIManagerNativeAnimatedDelegate() = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { - public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); - public virtual void runAnimationFrame() override; -} - -class facebook::react::UIManagerViewTransitionDelegate { - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag) const; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); - public virtual void createViewTransitionInstance(const std::string&, facebook::react::Tag); - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); - public virtual void startViewTransitionEnd(); - public virtual void startViewTransitionReadyFinished(); - public virtual void suspendOnActiveViewTransition(); - public virtual void transitionAnimationFinished(int animationId); - public virtual void waitForTransitionAnimation(int animationId); - public virtual ~UIManagerViewTransitionDelegate() = default; -} - -struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { - public facebook::react::Float height; - public facebook::react::Float width; - public facebook::react::Float x; - public facebook::react::Float y; - public facebook::react::Tag nativeTag; -} - class facebook::react::UnimplementedNativeViewEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -5466,33 +2526,6 @@ class facebook::react::UnimplementedNativeViewProps : public facebook::react::Ho public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::ComponentHandle getComponentHandle() const override; - public virtual facebook::react::ComponentName getComponentName() const override; - public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; -} - -class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { - public facebook::react::ComponentName getComponentName() const; - public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; - public void setComponentName(facebook::react::ComponentName componentName); -} - -class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { - protected bool isColorValue_; - public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool getIsColorValue() const noexcept; - public bool setOffset(double offset) noexcept; - public bool setRawValue(double value) noexcept; - public double getOffset() const noexcept; - public double getRawValue() const noexcept; - public double getValue() const noexcept; - public void extractOffset() noexcept; - public void flattenOffset() noexcept; - public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; -} - class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { public ValueFactoryEventPayload(facebook::react::ValueFactory factory); public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; @@ -5508,41 +2541,6 @@ class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShad public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); } -class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate, public facebook::react::UIManagerCommitHook, public facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const override; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag tag) const override; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void createViewTransitionInstance(const std::string& name, facebook::react::Tag pseudoElementTag) override; - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; - public virtual void startViewTransitionEnd() override; - public virtual void startViewTransitionReadyFinished() override; - public virtual void suspendOnActiveViewTransition() override; - public virtual void transitionAnimationFinished(int animationId) override; - public virtual void waitForTransitionAnimation(int animationId) override; - public void initialize(facebook::react::UIManager* uiManager, std::weak_ptr weakThis); - public ~ViewTransitionModule() override; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; - public uint32_t transitionId; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { - public facebook::react::Float pointScaleFactor; - public facebook::react::Point originFromRoot; - public facebook::react::Size size; -} - class facebook::react::VirtualViewEventEmitter : public facebook::react::BaseViewEventEmitter { public void onModeChange(facebook::react::VirtualViewEventEmitter::OnModeChange value) const; } @@ -5577,19 +2575,6 @@ class facebook::react::VirtualViewProps : public facebook::react::HostPlatformVi public virtual folly::dynamic getDiffProps(const facebook::react::Props* prevProps) const override; } -class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::WeakFamilyRegistry { - public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; - public using WeakFamilies = std::vector; - public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; - public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; -} - class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { protected facebook::yoga::Config yogaConfig_; protected mutable facebook::yoga::Node yogaNode_; @@ -5734,54 +2719,6 @@ enum facebook::react::AndroidSwipeRefreshLayoutSize { Large, } -enum facebook::react::AnimatedNodeType { - Addition, - Color, - Diffclamp, - Division, - Interpolation, - Modulus, - Multiplication, - Object, - Props, - Round, - Style, - Subtraction, - Tracking, - Transform, - Value, -} - -enum facebook::react::AnimationConfigurationType { - Create, - Delete, - Update, -} - -enum facebook::react::AnimationDriverType { - Decay, - Frames, - Spring, -} - -enum facebook::react::AnimationProperty { - NotApplicable, - Opacity, - ScaleX, - ScaleXY, - ScaleY, -} - -enum facebook::react::AnimationType { - EaseIn, - EaseInEaseOut, - EaseOut, - Keyboard, - Linear, - None, - Spring, -} - enum facebook::react::BackfaceVisibility : uint8_t { Auto, Hidden, @@ -5831,345 +2768,54 @@ enum facebook::react::BorderStyle : uint8_t { Solid, } -enum facebook::react::CSSAngleUnit : uint8_t { - Deg, - Grad, - Rad, - Turn, +enum facebook::react::ColorSpace { + DisplayP3, + sRGB, } -enum facebook::react::CSSDelimiter { - Comma, - CommaOrWhitespace, +enum facebook::react::Cursor : uint8_t { + Alias, + AllScroll, + Auto, + Cell, + ColResize, + ContextMenu, + Copy, + Crosshair, + Default, + EResize, + EWResize, + Grab, + Grabbing, + Help, + Move, + NEResize, + NESWResize, + NResize, + NSResize, + NWResize, + NWSEResize, + NoDrop, None, - OptionalWhitespace, - Solidus, - SolidusOrWhitespace, - Whitespace, -} - -enum facebook::react::CSSFontVariant : std::underlying_type_t { - CommonLigatures, - Contextual, - DiscretionaryLigatures, - HistoricalLigatures, - LiningNums, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { - At, -} - -enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { - Bottom, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, + NotAllowed, + Pointer, + Progress, + RowResize, + SEResize, + SResize, + SWResize, + Text, + Url, + WResize, + Wait, + ZoomIn, + ZoomOut, } -enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { - To, -} - -enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { - Inset, -} - -enum facebook::react::CSSKeyword : uint8_t { - Absolute, - At, - Auto, - Baseline, - Block, - Bottom, - Center, - Clip, - Column, - ColumnReverse, - CommonLigatures, - Content, - Contents, - Contextual, - Dashed, - DiscretionaryLigatures, - Dotted, - Double, - End, - Fixed, - Flex, - FlexEnd, - FlexStart, - Grid, - Groove, - Hidden, - HistoricalLigatures, - Inherit, - Initial, - Inline, - InlineBlock, - InlineFlex, - InlineGrid, - Inset, - Left, - LiningNums, - Ltr, - MaxContent, - Medium, - MinContent, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - NoWrap, - None, - Normal, - OldstyleNums, - Outset, - ProportionalNums, - Relative, - Ridge, - Right, - Row, - RowReverse, - Rtl, - Scroll, - SmallCaps, - Solid, - SpaceAround, - SpaceBetween, - SpaceEvenly, - Start, - Static, - Sticky, - Stretch, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, - Thick, - Thin, - To, - Top, - Unset, - Visible, - Wrap, - WrapReverse, -} - -enum facebook::react::CSSLengthUnit : uint8_t { - Cap, - Ch, - Cm, - Dvb, - Dvh, - Dvi, - Dvmax, - Dvmin, - Dvw, - Em, - Ex, - Ic, - In, - Lh, - Lvb, - Lvh, - Lvi, - Lvmax, - Lvmin, - Lvw, - Mm, - Pc, - Pt, - Px, - Q, - Rcap, - Rch, - Rem, - Rex, - Ric, - Rlh, - Svb, - Svh, - Svi, - Svmax, - Svmin, - Svw, - Vb, - Vh, - Vi, - Vmax, - Vmin, - Vw, -} - -enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { - ToBottomLeft, - ToBottomRight, - ToTopLeft, - ToTopRight, -} - -enum facebook::react::CSSRadialGradientShape : uint8_t { - Circle, - Ellipse, -} - -enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { - ClosestCorner, - ClosestSide, - FarthestCorner, - FarthestSide, -} - -enum facebook::react::CSSTokenType { - CloseCurly, - CloseParen, - CloseSquare, - Comma, - Delim, - Dimension, - EndOfFile, - Function, - Hash, - Ident, - Number, - OpenCurly, - OpenParen, - OpenSquare, - Percentage, - WhiteSpace, -} - -enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSWideKeyword : std::underlying_type_t { - Inherit, - Initial, - Unset, -} - -enum facebook::react::ColorSpace { - DisplayP3, - sRGB, -} - -enum facebook::react::ContentInsetAdjustmentBehavior { - Always, - Automatic, - Never, - ScrollableAxes, -} - -enum facebook::react::Cursor : uint8_t { - Alias, - AllScroll, - Auto, - Cell, - ColResize, - ContextMenu, - Copy, - Crosshair, - Default, - EResize, - EWResize, - Grab, - Grabbing, - Help, - Move, - NEResize, - NESWResize, - NResize, - NSResize, - NWResize, - NWSEResize, - NoDrop, - None, - NotAllowed, - Pointer, - Progress, - RowResize, - SEResize, - SResize, - SWResize, - Text, - Url, - WResize, - Wait, - ZoomIn, - ZoomOut, -} - -enum facebook::react::DataDetectorType { - All, - Email, - Link, - None, - PhoneNumber, -} - -enum facebook::react::DisplayMode { - Hidden, - Suspended, - Visible, +enum facebook::react::DisplayMode { + Hidden, + Suspended, + Visible, } enum facebook::react::DisplayType { @@ -6179,27 +2825,6 @@ enum facebook::react::DisplayType { None, } -enum facebook::react::DynamicTypeRamp : uint8_t { - Body, - Callout, - Caption1, - Caption2, - Footnote, - Headline, - LargeTitle, - Subheadline, - Title1, - Title2, - Title3, -} - -enum facebook::react::EllipsizeMode { - Clip, - Head, - Middle, - Tail, -} - enum facebook::react::EventPayloadType { PointerEvent, ScrollEvent, @@ -6228,63 +2853,6 @@ enum facebook::react::FocusDirection { FocusUp, } -enum facebook::react::FontStyle : uint8_t { - Italic, - Normal, - Oblique, -} - -enum facebook::react::FontVariant : int { - Default, - LiningNums, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::FontWeight : uint16_t { - Black, - Bold, - Demibold, - Heavy, - Light, - Medium, - Regular, - Semibold, - Thin, - UltraLight, - Weight100, - Weight200, - Weight300, - Weight400, - Weight500, - Weight600, - Weight700, - Weight800, - Weight900, -} - enum facebook::react::GradientDirectionType { Angle, Keyword, @@ -6297,12 +2865,6 @@ enum facebook::react::GradientKeyword : uint8_t { ToTopRight, } -enum facebook::react::HyphenationFrequency { - Full, - None, - Normal, -} - enum facebook::react::ImageResizeMode : int8_t { Center, Contain, @@ -6335,22 +2897,6 @@ enum facebook::react::LayoutDirection { Undefined, } -enum facebook::react::LineBreakMode : uint8_t { - Char, - Clip, - Head, - Middle, - Tail, - Word, -} - -enum facebook::react::LineBreakStrategy : uint8_t { - HangulWordPriority, - None, - PushOut, - Standard, -} - enum facebook::react::ModalHostViewAnimationType { Fade, None, @@ -6383,15 +2929,6 @@ enum facebook::react::OutlineStyle : uint8_t { Solid, } -enum facebook::react::PerformanceEntryType { - EVENT, - LONGTASK, - MARK, - MEASURE, - RESOURCE, - _NEXT, -} - enum facebook::react::PointerEventsMode : uint8_t { Auto, BoxNone, @@ -6405,61 +2942,6 @@ enum facebook::react::PositionType { Static, } -enum facebook::react::PropName { - ALIGN_CONTENT, - ALIGN_ITEMS, - ALIGN_SELF, - ASPECT_RATIO, - BACKFACE_VISIBILITY, - BACKGROUND_COLOR, - BORDER_COLOR, - BORDER_CURVES, - BORDER_RADII, - BORDER_STYLES, - BORDER_WIDTH, - BOX_SHADOW, - BOX_SIZING, - COLUMN_GAP, - CURSOR, - DIRECTION, - DISPLAY, - FILTER, - FLEX, - FLEX_BASIS, - FLEX_DIRECTION, - FLEX_GROW, - FLEX_SHRINK, - FLEX_WRAP, - HEIGHT, - ISOLATION, - JUSTIFY_CONTENT, - MARGIN, - MAX_HEIGHT, - MAX_WIDTH, - MIN_HEIGHT, - MIN_WIDTH, - MIX_BLEND_MODE, - OPACITY, - OUTLINE_COLOR, - OUTLINE_OFFSET, - OUTLINE_STYLE, - OUTLINE_WIDTH, - PADDING, - POINTER_EVENTS, - POSITION, - POSITION_TYPE, - ROW_GAP, - SHADOW_COLOR, - SHADOW_OFFSET, - SHADOW_OPACITY, - SHADOW_RADIUS, - STYLE_OVERFLOW, - TRANSFORM, - TRANSFORM_ORIGIN, - WIDTH, - Z_INDEX, -} - enum facebook::react::RadialGradientShape { Circle, Ellipse, @@ -6472,12 +2954,6 @@ enum facebook::react::ReactEventPriority { Idle, } -enum facebook::react::ResizeObserverBoxOptions { - BorderBox, - ContentBox, - DevicePixelContentBox, -} - enum facebook::react::Role : uint8_t { Alert, Alertdialog, @@ -6559,107 +3035,6 @@ enum facebook::react::ScriptTag { String, } -enum facebook::react::ScrollViewIndicatorStyle { - Black, - Default, - White, -} - -enum facebook::react::ScrollViewKeyboardDismissMode { - Interactive, - None, - OnDrag, -} - -enum facebook::react::ScrollViewSnapToAlignment { - Center, - End, - Start, -} - -enum facebook::react::ShadowTreeCommitMode { - Normal, - Suspended, -} - -enum facebook::react::ShadowTreeCommitSource { - AnimationEndSync, - React, - ReactRevisionMerge, - Unknown, -} - -enum facebook::react::ShadowTreeCommitStatus { - Cancelled, - Failed, - Succeeded, -} - -enum facebook::react::SubmitBehavior { - BlurAndSubmit, - Default, - Newline, - Submit, -} - -enum facebook::react::TextAlignment : uint8_t { - Center, - End, - Justified, - Left, - Natural, - Right, - Start, -} - -enum facebook::react::TextAlignmentVertical { - Auto, - Bottom, - Center, - Top, -} - -enum facebook::react::TextBreakStrategy { - Balanced, - HighQuality, - Simple, -} - -enum facebook::react::TextDecorationLineType : uint8_t { - None, - Strikethrough, - Underline, - UnderlineStrikethrough, -} - -enum facebook::react::TextDecorationStyle : uint8_t { - Dashed, - Dotted, - Double, - Solid, - Wavy, -} - -enum facebook::react::TextTransform : uint8_t { - Capitalize, - Lowercase, - None, - Unset, - Uppercase, -} - -enum facebook::react::TextWidthMode { - Auto, - LongestLine, -} - -enum facebook::react::TimerSource { - RequestAnimationFrame, - SetInterval, - SetTimeout, - Unknown, -} - enum facebook::react::TransformOperationType : uint8_t { Arbitrary, Identity, @@ -6688,18 +3063,6 @@ enum facebook::react::UnitType { Undefined, } -enum facebook::react::WritingDirection : uint8_t { - LeftToRight, - Natural, - RightToLeft, -} - -struct facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public std::string name; -} - struct facebook::react::AccessibilityAction { public std::optional label; public std::string name; @@ -6731,127 +3094,12 @@ struct facebook::react::AccessibilityValue { public std::optional text; } -struct facebook::react::ActivePointer { - public bool shouldLeaveWhenReleased; - public facebook::react::PointerEvent event; -} - -struct facebook::react::AndroidTextInputTextShadowOffsetStruct { - public double height; - public double width; -} - -struct facebook::react::AnimatedPropBase { - public AnimatedPropBase(facebook::react::PropName propName); - public facebook::react::PropName propName; - public virtual ~AnimatedPropBase() = default; -} - -struct facebook::react::AnimatedProps { - public std::unique_ptr rawProps; - public std::vector> props; -} - struct facebook::react::AnimatedPropsBuffer { public std::vector doubles; public std::vector rawProps; public std::vector ints; } -struct facebook::react::AnimatedPropsBuilder { - public facebook::react::AnimatedProps get(); - public std::unique_ptr rawProps; - public std::vector> props; - public void setAlignContent(facebook::yoga::Align value); - public void setAlignItems(facebook::yoga::Align value); - public void setAlignSelf(facebook::yoga::Align value); - public void setAspectRatio(facebook::yoga::FloatOptional value); - public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); - public void setBackgroundColor(facebook::react::SharedColor value); - public void setBorderColor(facebook::react::CascadedBorderColors& value); - public void setBorderCurves(facebook::react::CascadedBorderCurves& value); - public void setBorderRadii(facebook::react::CascadedBorderRadii& value); - public void setBorderStyles(facebook::react::CascadedBorderStyles& value); - public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); - public void setBoxShadow(const std::vector& value); - public void setBoxSizing(facebook::yoga::BoxSizing value); - public void setColumnGap(facebook::yoga::Style::Length value); - public void setCursor(facebook::react::Cursor value); - public void setDirection(facebook::yoga::Direction value); - public void setDisplay(facebook::yoga::Display value); - public void setFilter(const std::vector& value); - public void setFlex(facebook::yoga::FloatOptional value); - public void setFlexBasis(facebook::yoga::Style::SizeLength value); - public void setFlexDirection(facebook::yoga::FlexDirection value); - public void setFlexGrow(facebook::yoga::FloatOptional value); - public void setFlexShrink(facebook::yoga::FloatOptional value); - public void setFlexWrap(facebook::yoga::Wrap value); - public void setHeight(facebook::yoga::Style::SizeLength value); - public void setIsolation(facebook::react::Isolation value); - public void setJustifyContent(facebook::yoga::Justify value); - public void setMargin(facebook::react::CascadedRectangleEdges& value); - public void setMaxHeight(facebook::yoga::Style::SizeLength value); - public void setMaxWidth(facebook::yoga::Style::SizeLength value); - public void setMinHeight(facebook::yoga::Style::SizeLength value); - public void setMinWidth(facebook::yoga::Style::SizeLength value); - public void setMixBlendMode(facebook::react::BlendMode value); - public void setOpacity(facebook::react::Float value); - public void setOutlineColor(facebook::react::SharedColor value); - public void setOutlineOffset(facebook::react::Float value); - public void setOutlineStyle(facebook::react::OutlineStyle value); - public void setOutlineWidth(facebook::react::Float value); - public void setOverflow(facebook::yoga::Overflow value); - public void setPadding(facebook::react::CascadedRectangleEdges& value); - public void setPointerEvents(facebook::react::PointerEventsMode value); - public void setPosition(facebook::react::CascadedRectangleEdges& value); - public void setPositionType(facebook::yoga::PositionType value); - public void setRowGap(facebook::yoga::Style::Length value); - public void setShadowColor(facebook::react::SharedColor value); - public void setShadowOffset(facebook::react::Size value); - public void setShadowOpacity(facebook::react::Float value); - public void setShadowRadius(facebook::react::Float value); - public void setTransform(const facebook::react::Transform& t); - public void setTransformOrigin(const facebook::react::TransformOrigin& value); - public void setWidth(facebook::yoga::Style::SizeLength value); - public void setZIndex(std::optional value); - public void storeDynamic(folly::dynamic& d); - public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); -} - -struct facebook::react::AnimationConfig { - public double delay; - public double duration; - public facebook::react::AnimationProperty animationProperty; - public facebook::react::AnimationType animationType; - public facebook::react::Float initialVelocity; - public facebook::react::Float springDamping; -} - -struct facebook::react::AnimationKeyFrame { - public bool generateFinalSyntheticMutations; - public bool invalidated; - public double initialProgress; - public facebook::react::AnimationConfigurationType type; - public facebook::react::ShadowView viewEnd; - public facebook::react::ShadowView viewPrev; - public facebook::react::ShadowView viewStart; - public facebook::react::Tag parentTag; - public facebook::react::Tag tag; - public std::vector finalMutationsForKeyFrame; -} - -struct facebook::react::AnimationMutation { - public bool hasLayoutUpdates; - public facebook::react::AnimatedProps props; - public facebook::react::Tag tag; - public std::shared_ptr family; -} - -struct facebook::react::AnimationMutations { - public std::set asyncFlushSurfaces; - public std::vector batch; -} - struct facebook::react::BackgroundPosition { public BackgroundPosition(); public bool operator==(const facebook::react::BackgroundPosition& other) const = default; @@ -6948,13 +3196,6 @@ struct facebook::react::Bridging { public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); } -struct facebook::react::BufferEvent { - public std::string name; - public std::string track; - public uint64_t end; - public uint64_t start; -} - struct facebook::react::BundleHeader { public BundleHeader(); public facebook::react::Magic32 magic32; @@ -6962,286 +3203,6 @@ struct facebook::react::BundleHeader { public uint64_t magic64; } -struct facebook::react::CSSAngle { - public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSBlurFilter { - public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; - public facebook::react::CSSLength amount; -} - -struct facebook::react::CSSBrightnessFilter { - public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSColor { - public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; - public static constexpr facebook::react::CSSColor black(); - public uint8_t a; - public uint8_t b; - public uint8_t g; - public uint8_t r; -} - -struct facebook::react::CSSColorHint { - public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; - public std::variant position; -} - -struct facebook::react::CSSColorStop { - public bool operator==(const facebook::react::CSSColorStop& rhs) const; - public facebook::react::CSSColor color; - public std::optional> endPosition; - public std::optional> startPosition; -} - -struct facebook::react::CSSContrastFilter { - public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSDropShadowFilter { - public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength standardDeviation; -} - -struct facebook::react::CSSFunctionBlock { - public std::string_view name; -} - -struct facebook::react::CSSGrayscaleFilter { - public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSHueRotateFilter { - public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSInvertFilter { - public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSLength { - public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; - public facebook::react::CSSLengthUnit unit; - public float value; -} - -struct facebook::react::CSSLinearGradientDirection { - public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSLinearGradientFunction { - public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; - public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); - public std::optional direction; - public std::vector> items; -} - -struct facebook::react::CSSMatrix { - public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; - public std::array values; -} - -struct facebook::react::CSSNumber { - public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; - public float value; -} - -struct facebook::react::CSSOpacityFilter { - public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSPercentage { - public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; - public float value; -} - -struct facebook::react::CSSPerspective { - public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; - public facebook::react::CSSLength length; -} - -struct facebook::react::CSSRadialGradientExplicitSize { - public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; - public std::variant sizeX; - public std::variant sizeY; -} - -struct facebook::react::CSSRadialGradientFunction { - public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; - public std::optional position; - public std::optional shape; - public std::optional size; - public std::vector> items; -} - -struct facebook::react::CSSRadialGradientPosition { - public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; - public std::optional> bottom; - public std::optional> left; - public std::optional> right; - public std::optional> top; -} - -struct facebook::react::CSSRatio { - public constexpr bool isDegenerate() const; - public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; - public float denominator; - public float numerator; -} - -struct facebook::react::CSSRotate { - public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateX { - public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateY { - public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateZ { - public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSaturateFilter { - public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSScale { - public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; - public float x; - public float y; -} - -struct facebook::react::CSSScaleX { - public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; - public float value; -} - -struct facebook::react::CSSScaleY { - public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; - public float value; -} - -struct facebook::react::CSSSepiaFilter { - public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSShadow { - public bool inset; - public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength blurRadius; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength spreadDistance; -} - -struct facebook::react::CSSSimpleBlock { - public facebook::react::CSSTokenType openBracketType; -} - -struct facebook::react::CSSSkewX { - public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSkewY { - public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSTransformOrigin { - public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate3D { - public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate { - public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslateX { - public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSTranslateY { - public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSZero { - public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; -} - -struct facebook::react::CallbackWithId { - public facebook::react::Callback callback; - public facebook::react::CallbackId callbackId; -} - -struct facebook::react::CascadedRectangleCornersNames { - public const char* all; - public const char* bottomEnd; - public const char* bottomLeft; - public const char* bottomRight; - public const char* bottomStart; - public const char* endEnd; - public const char* endStart; - public const char* startEnd; - public const char* startStart; - public const char* topEnd; - public const char* topLeft; - public const char* topRight; - public const char* topStart; -} - -struct facebook::react::CascadedRectangleEdgesNames { - public const char* all; - public const char* block; - public const char* blockEnd; - public const char* blockStart; - public const char* bottom; - public const char* end; - public const char* horizontal; - public const char* left; - public const char* right; - public const char* start; - public const char* top; - public const char* vertical; -} - struct facebook::react::Color { public bool isDefined; public constexpr Color() = default; @@ -7307,21 +3268,9 @@ enum facebook::react::CppMountItem::Type { UpdateState, } -struct facebook::react::CullingContext { - public bool operator==(const facebook::react::CullingContext& rhs) const = default; - public bool shouldConsiderCulling() const; - public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; - public facebook::react::Rect frame; - public facebook::react::Transform transform; -} - struct facebook::react::DebugStringConvertibleOptions { } -struct facebook::react::DefaultTurboModules { - public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); -} - struct facebook::react::DropShadowParams { public bool operator==(const facebook::react::DropShadowParams& other) const = default; public facebook::react::Float offsetX; @@ -7331,11 +3280,6 @@ struct facebook::react::DropShadowParams { public folly::dynamic toDynamic() const; } -struct facebook::react::DummyTraceSection { - template - public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); -} - struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { protected folly::dynamic payload_; public DynamicEventPayload(folly::dynamic&& payload); @@ -7350,12 +3294,6 @@ struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEve public const std::optional>& getHitPathForEventListener() const; } -struct facebook::react::EventAnimationDriverKey { - public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; - public facebook::react::Tag viewTag; - public std::string eventName; -} - struct facebook::react::EventPayload { public EventPayload() = default; public EventPayload(const facebook::react::EventPayload&) = default; @@ -7381,41 +3319,10 @@ struct facebook::react::ImageRequestItem { public facebook::react::Tag tag; } -struct facebook::react::InspectorData { - public folly::dynamic props; - public int columnNumber; - public int lineNumber; - public int selectedIndex; - public std::string fileName; - public std::vector hierarchy; -} - -struct facebook::react::InstanceCallback { - public virtual void decrementPendingJSCalls(); - public virtual void incrementPendingJSCalls(); - public virtual void onBatchComplete(); - public virtual ~InstanceCallback() = default; -} - -struct facebook::react::IntersectionObserverEntry { - public bool isIntersectingAboveThresholds; - public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; - public facebook::react::HighResTimeStamp time; - public facebook::react::IntersectionObserverObserverId intersectionObserverId; - public facebook::react::Rect intersectionRect; - public facebook::react::Rect rootRect; - public facebook::react::Rect targetRect; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; -} - struct facebook::react::JAssetManager : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; } -struct facebook::react::JBaseJavaModule : public facebook::jni::JavaClass { - public static constexpr auto kJavaDescriptor; -} - struct facebook::react::JCallback : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; } @@ -7445,14 +3352,6 @@ struct facebook::react::JJavaTimerManager : public facebook::jni::JavaClass { - public jni::local_ref getMethod() const; - public static constexpr auto kJavaDescriptor; - public std::string getName() const; - public std::string getSignature() const; - public std::string getType() const; -} - struct facebook::react::JMountItem : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; } @@ -7471,11 +3370,6 @@ struct facebook::react::JReactHostImpl : public facebook::jni::JavaClass message); } -struct facebook::react::JReflectMethod : public facebook::jni::JavaClass { - public jmethodID getMethodID(); - public static constexpr auto kJavaDescriptor; -} - struct facebook::react::JTaskInterface : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; } @@ -7497,30 +3391,6 @@ struct facebook::react::JTurboModuleWithJSIBindings : public facebook::jni::Java public static constexpr auto kJavaDescriptor; } -struct facebook::react::JavaModuleWrapper : public facebook::jni::JavaClass { - public jni::local_ref getModule(); - public jni::local_ref::javaobject> getMethodDescriptors(); - public static constexpr auto kJavaDescriptor; - public std::string getName() const; -} - -struct facebook::react::LayoutAnimation { - public bool completed; - public facebook::react::LayoutAnimationCallbackWrapper failureCallback; - public facebook::react::LayoutAnimationCallbackWrapper successCallback; - public facebook::react::LayoutAnimationConfig layoutAnimationConfig; - public facebook::react::SurfaceId surfaceId; - public std::vector keyFrames; - public uint64_t startTime; -} - -struct facebook::react::LayoutAnimationConfig { - public double duration; - public facebook::react::AnimationConfig createConfig; - public facebook::react::AnimationConfig deleteConfig; - public facebook::react::AnimationConfig updateConfig; -} - struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { public LayoutConformanceProps() = default; public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -7560,19 +3430,6 @@ struct facebook::react::LayoutMetrics { public facebook::react::Rect getPaddingFrame() const; } -struct facebook::react::LineMeasurement { - public LineMeasurement(const folly::dynamic& data); - public LineMeasurement(std::string text, facebook::react::Rect frame, facebook::react::Float descender, facebook::react::Float capHeight, facebook::react::Float ascender, facebook::react::Float xHeight); - public bool operator==(const facebook::react::LineMeasurement& rhs) const; - public facebook::react::Float ascender; - public facebook::react::Float capHeight; - public facebook::react::Float descender; - public facebook::react::Float xHeight; - public facebook::react::Rect frame; - public static facebook::react::Float baseline(const std::vector& lines); - public std::string text; -} - struct facebook::react::LinearGradient { public bool operator==(const facebook::react::LinearGradient& other) const = default; public facebook::react::GradientDirection direction; @@ -7585,47 +3442,10 @@ struct facebook::react::Magic32 { public uint32_t value; } -struct facebook::react::MarginValue { - public bool isPercentage; - public facebook::react::Float value; -} - -struct facebook::react::MeasuredPreparedTextLayout { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::TextMeasurement measurement; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; -} - -struct facebook::react::MethodCall { - public MethodCall(int mod, int meth, folly::dynamic&& args, int cid); - public folly::dynamic arguments; - public int callId; - public int methodId; - public int moduleId; -} - -struct facebook::react::MethodDescriptor { - public MethodDescriptor(std::string n, std::string t); - public std::string name; - public std::string type; -} - struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { public facebook::react::ModalHostViewSupportedOrientationsMask value; } -struct facebook::react::ModuleConfig { - public folly::dynamic config; - public size_t index; -} - -struct facebook::react::MutationRecord { - public facebook::react::MutationObserverId mutationObserverId; - public std::shared_ptr targetShadowNode; - public std::vector> addedShadowNodes; - public std::vector> removedShadowNodes; -} - struct facebook::react::NativeDrawable { public bool operator!=(const facebook::react::NativeDrawable& rhs) const; public bool operator==(const facebook::react::NativeDrawable& rhs) const; @@ -7650,73 +3470,6 @@ struct facebook::react::NativeDrawable::Ripple { public std::optional> colorResourcePaths; } -struct facebook::react::NativePerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional fetchStart; - public std::optional processingEnd; - public std::optional processingStart; - public std::optional requestStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::optional interactionId; - public std::optional decodedBodySize; - public std::optional encodedBodySize; - public std::optional responseStatus; - public std::optional contentType; - public std::string name; -} - -struct facebook::react::PerformanceEntrySorter { - public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs) const; -} - -struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp processingEnd; - public facebook::react::HighResTimeStamp processingStart; - public facebook::react::HighResTimeStamp taskEndTime; - public facebook::react::PerformanceEntryInteractionId interactionId; - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceObserverObserveMultipleOptions { - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceObserverObserveSingleOptions { - public bool buffered; - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public static constexpr facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::string contentType; -} - struct facebook::react::Point { public bool operator==(const facebook::react::Point& rhs) const = default; public facebook::react::Float x; @@ -7755,11 +3508,6 @@ struct facebook::react::PointerEvent : public facebook::react::EventPayload { public virtual facebook::react::EventPayloadType getType() const override; } -struct facebook::react::PointerEventTarget { - public facebook::react::PointerEvent event; - public std::shared_ptr target; -} - struct facebook::react::ProcessedColorStop { public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; public facebook::react::SharedColor color; @@ -7782,12 +3530,6 @@ struct facebook::react::PropsParserContext { public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; } -struct facebook::react::PropsSnapshot { - public std::unique_ptr props; - public std::unique_ptr rawProps; - public std::unordered_set propNames; -} - struct facebook::react::RadialGradient { public bool operator==(const facebook::react::RadialGradient& other) const = default; public facebook::react::RadialGradientPosition position; @@ -7878,13 +3620,6 @@ struct facebook::react::ReadableType : public facebook::jni::JavaClass getType(folly::dynamic::Type type); } -struct facebook::react::RecoverableError : public std::exception { - public RecoverableError(const std::string& what_); - public virtual const char* what() const noexcept override; - template - public static void runRethrowingAsRecoverable(std::function act); -} - struct facebook::react::Rect { public bool containsPoint(facebook::react::Point point) noexcept; public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; @@ -7902,82 +3637,6 @@ struct facebook::react::Rect { public void unionInPlace(const facebook::react::Rect& rect) noexcept; } -struct facebook::react::RequestInfo { - public std::optional headers; - public std::optional httpBody; - public std::string httpMethod; - public std::string url; -} - -struct facebook::react::ResizeObservationResult { - public bool detached; - public facebook::react::Size observedSize; - public size_t targetDepth; - public std::optional entry; -} - -struct facebook::react::ResizeObserverEntry { - public facebook::react::Rect contentRect; - public facebook::react::ResizeObserverObserverId resizeObserverId; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; - public facebook::react::Size borderBoxSize; - public facebook::react::Size contentBoxSize; - public facebook::react::Size devicePixelContentBoxSize; -} - -struct facebook::react::ResourceTimingData { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseStart; - public std::string contentType; - public std::string url; -} - -struct facebook::react::ResponseInfo { - public std::optional headers; - public std::string url; - public uint16_t statusCode; -} - -struct facebook::react::SchedulerToolbox { - public facebook::react::ComponentRegistryFactory componentRegistryFactory; - public facebook::react::EventBeat::Factory eventBeatFactory; - public facebook::react::RuntimeExecutor runtimeExecutor; - public std::optional bridgelessBindingsExecutor; - public std::shared_ptr contextContainer; - public std::shared_ptr animationChoreographer; - public std::vector> commitHooks; -} - -struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { - public ScrollEndDragEvent() = default; - public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); - public facebook::react::Point targetContentOffset; - public facebook::react::Point velocity; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; -} - -struct facebook::react::ScrollEvent : public facebook::react::EventPayload { - public ScrollEvent() = default; - public bool responderIgnoreScroll; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Float timestamp; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; - public virtual facebook::react::EventPayloadType getType() const override; - public virtual std::optional extractValue(const std::vector&) const override; -} - struct facebook::react::ShadowNodeFamilyFragment { public const facebook::react::SurfaceId surfaceId; public const facebook::react::Tag tag; @@ -7994,82 +3653,12 @@ struct facebook::react::ShadowNodeFragment { public static const std::shared_ptr>>& childrenPlaceholder(); } -struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { - public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); - public std::shared_ptr>> shadowNodeList; - public ~ShadowNodeListWrapper() override; -} - struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { public ShadowNodeWrapper(std::shared_ptr shadowNode); public std::shared_ptr shadowNode; public ~ShadowNodeWrapper() override; } -struct facebook::react::ShadowTreeCommitOptions { - public bool enableStateReconciliation; - public bool mountSynchronously; - public facebook::react::ShadowTreeCommitSource source; -} - -struct facebook::react::ShadowView { - public ShadowView() = default; - public ShadowView(const facebook::react::ShadowNode& shadowNode); - public ShadowView(const facebook::react::ShadowView& shadowView) = default; - public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; - public bool operator==(const facebook::react::ShadowView& rhs) const; - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::EventEmitter::Shared eventEmitter; - public facebook::react::LayoutMetrics layoutMetrics; - public facebook::react::Props::Shared props; - public facebook::react::ShadowNodeTraits traits; - public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; - public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; - public facebook::react::State::Shared state; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; -} - -struct facebook::react::ShadowViewMutation { - public ShadowViewMutation() = delete; - public bool mutatedViewIsVirtual() const; - public facebook::react::ShadowView newChildShadowView; - public facebook::react::ShadowView oldChildShadowView; - public facebook::react::ShadowViewMutation::Type type; - public facebook::react::Tag parentTag; - public int index; - public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); - public using List = std::vector; -} - -enum facebook::react::ShadowViewMutation::Type : std::uint8_t { - Create, - Delete, - Insert, - Remove, - Update, -} - -struct facebook::react::ShadowViewNodePair { - public bool flattened; - public bool inOtherTree() const; - public bool isConcreteView; - public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; - public const facebook::react::ShadowNode* shadowNode; - public facebook::react::Point contextOrigin; - public facebook::react::ShadowView shadowView; - public mutable const facebook::react::ShadowViewNodePair* otherTreePair; - public size_t mountIndex; -} - struct facebook::react::Size { public facebook::react::Float height; public facebook::react::Float width; @@ -8084,44 +3673,6 @@ struct facebook::react::StateData { public using Shared = std::shared_ptr; } -struct facebook::react::SurfaceContext { - public std::unordered_map> map; - public std::unordered_map> pendingMap; - public std::unordered_set> families; - public std::unordered_set> pendingFamilies; -} - -struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { - template - public SystraceSection(const char* name, ConvertsToStringPiece &&... args); -} - -struct facebook::react::Task : public facebook::jsi::NativeState { - public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); - public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); -} - -struct facebook::react::TextEffectInfo { - public bool operator==(const facebook::react::TextEffectInfo&) const = default; - public folly::dynamic props; - public std::string name; -} - -struct facebook::react::TextLayoutContext { - public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; - public facebook::react::Float pointScaleFactor; - public facebook::react::SurfaceId surfaceId; -} - -struct facebook::react::TimerCallback { - public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); - public bool repeat; - public const std::vector args_; - public facebook::jsi::Function callback_; - public facebook::react::TimerSource source; - public void invoke(facebook::jsi::Runtime& runtime); -} - struct facebook::react::TouchEvent { public facebook::react::Touches changedTouches; public facebook::react::Touches targetTouches; @@ -8155,12 +3706,6 @@ struct facebook::react::Transform { public std::vector operations; } -struct facebook::react::TransformConfig { - public double value; - public facebook::react::Tag nodeTag; - public std::string property; -} - struct facebook::react::TransformOperation { public bool operator==(const facebook::react::TransformOperation& other) const = default; public facebook::react::TransformOperationType type; @@ -8281,64 +3826,6 @@ struct facebook::react::WritableNativeMap : public jni::HybridClass val); } -template -struct facebook::react::CSSList : public std::vector { -} - -template -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSList { -} - -template ... VisitorsT> -struct facebook::react::CSSComponentValueVisitorDispatcher { - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); - public constexpr std::optional visitFunction(); - public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitPreservedToken(); - public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public facebook::react::CSSSyntaxParser& parser; -} - -template -struct facebook::react::CSSList : public std::vector { -} - -template -class facebook::react::CircularBuffer { - public CircularBuffer(size_t maxSize); - public T& operator[](size_t idx); - public bool add(const T& el); - public size_t size() const; - public std::vector getEntries() const; - public std::vector getEntries(std::function predicate) const; - public void clear(); - public void clear(std::function predicate); - public void getEntries(std::vector& res) const; - public void getEntries(std::vector& res, std::function predicate) const; -} - -template -class facebook::react::MoveWrapper { - public MoveWrapper() = default; - public MoveWrapper(T&& t); - public MoveWrapper(const facebook::react::MoveWrapper& other); - public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; - public T& operator*(); - public T&& move(); - public T* operator->(); - public const T& operator*() const; - public const T* operator->() const; - public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; - public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; -} - template class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); @@ -8351,20 +3838,6 @@ class facebook::react::ConcreteViewShadowNode : public facebook::react::Concrete public virtual facebook::react::Transform getTransform() const override; } -template -class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; - protected std::shared_ptr textLayoutManager_; - protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - protected virtual void layout(facebook::react::LayoutContext layoutContext) override; - public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - template class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { protected facebook::react::Props::Shared props_; @@ -8396,17 +3869,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging { } -template -struct facebook::react::TemplateStringLiteral { - public constexpr TemplateStringLiteral(const char(&str)[N]); - public constexpr operator std::string_view() const; - public std::array value; -} - -template -struct facebook::react::CSSDataTypeParser { -} - template class facebook::react::ConcreteState : public facebook::react::State { public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); @@ -8428,25 +3890,6 @@ template class facebook::react::SyncCallback { } -template -class facebook::react::SimpleThreadSafeCache { - public SimpleThreadSafeCache(); - public SimpleThreadSafeCache(unsigned long size); - public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; - public std::optional get(const KeyT& key) const; - public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; -} - -template -class facebook::react::OnScopeExit { - public OnScopeExit(const Lambda&& lambda) noexcept; - public OnScopeExit(const facebook::react::OnScopeExit&) = delete; - public OnScopeExit(facebook::react::OnScopeExit&&) = delete; - public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; - public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; - public ~OnScopeExit() noexcept; -} - template struct facebook::react::NativePerformanceRawPerformanceEntry { public P0 name; @@ -8795,14 +4238,7 @@ class facebook::react::SafeReleaseJniRef { } template -class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::ComponentName getComponentName() const override; -} - -template -class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; @@ -8824,29 +4260,6 @@ class facebook::react::ConcreteComponentDescriptor : public facebook::react::Com public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; } -template -class facebook::react::Element { - public Element(); - public facebook::react::Element& children(std::vector children); - public facebook::react::Element& finalize(std::function finalizeCallback); - public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); - public facebook::react::Element& props(std::function callback); - public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); - public facebook::react::Element& reference(std::function callback); - public facebook::react::Element& stateData(std::function callback); - public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); - public facebook::react::Element& tag(facebook::react::Tag tag); - public operator facebook::react::ElementFragment(); - public using ConcreteProps = typename ShadowNodeT::ConcreteProps; - public using ConcreteReferenceCallback = std::function& shadowNode)>; - public using ConcreteShadowNode = ShadowNodeT; - public using ConcreteState = typename ShadowNodeT::ConcreteState; - public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; - public using ConcreteUnsharedShadowNode = std::shared_ptr; - public using SharedConcreteProps = std::shared_ptr; - public using SharedConcreteState = std::shared_ptr; -} - template struct facebook::react::Bridging { } @@ -9175,13 +4588,6 @@ class facebook::react::NativeWebSocketModuleCxxSpec : public facebook::react::Tu public static constexpr std::string_view kModuleName; } -template -struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { - public AnimatedProp() = default; - public AnimatedProp(facebook::react::PropName propName, const T& value); - public T value; -} - template struct facebook::react::CascadedRectangleCorners { public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; @@ -9517,13 +4923,6 @@ class facebook::react::AsyncPromise { public void resolve(T... value); } -template -class facebook::react::EventListenerContainerT { - public bool willDispatchEvent(TArgs... args); - public void addListener(std::shared_ptr> listener); - public void removeListener(const std::shared_ptr>& listener); -} - struct facebook::react::Bridging { public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); @@ -9598,1114 +4997,102 @@ struct facebook::react::Bridging> : public facebook::react::array template struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { -} - -struct facebook::react::Bridging { - public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); -} - -struct facebook::react::Bridging { - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); - public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); -} - -struct facebook::react::Bridging : public facebook::react::NativeAnimatedTurboModuleEndResultBridging { -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); - public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); - public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); - public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationRecordBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativePerformanceRawPerformanceEntryBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativePerformancePerformanceObserverInitBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { -} - -struct facebook::react::Bridging { - public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); - public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSDataTypeParser> { - public static std::optional> consume(facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); - public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); - public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); -} - -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); -} - -template -struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - - -bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& viewProps); -bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& viewProps); -bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps& viewProps); - - -const char* facebook::react::exceptions::gUnexpectedNativeTypeExceptionClass; -template -void facebook::react::exceptions::throwIfObjectAlreadyConsumed(const T& t, const char* msg); - - -constexpr bool facebook::react::detail::isHexDigit(char c); -constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); -constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); -constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); -constexpr uint8_t facebook::react::detail::clamp255Component(float f); -constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); -constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); -float facebook::react::detail::normalizeHue(float hue); -std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); -std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); -std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); -template -constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); -template -C facebook::react::detail::memberFunctionClass(T C::*); -template -constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); - -class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { - public OwnedBytesBuffer(std::vector bytes) noexcept; - public virtual size_t size() const override; - public virtual uint8_t* data() override; -} - -enum facebook::react::detail::HexColorType { - Long, - Short, -} - -template -struct facebook::react::detail::merge_data_types { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types { -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = typename T::PreparedTextLayout; -} - -template -struct facebook::react::detail::CSSVariantComponentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSAngleTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSFilterSimpleAmountParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSNumberPercentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = std::nullptr_t; -} - -template -struct facebook::react::detail::is_variant_of_data_types : public std::false_type { -} - -template -class facebook::react::detail::TextLayoutManagerExtended { - public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); - public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public static constexpr bool supportsLineMeasurement(); - public static constexpr bool supportsPreparedTextLayout(); - public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; -} - -template -struct facebook::react::detail::merge_variant { -} - -template -struct facebook::react::detail::merge_data_types, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_variant, RestT...> { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types> { - public using type = std::variant; -} - -template -struct facebook::react::detail::is_variant_of_data_types> : public std::true_type { -} - -template -struct facebook::react::detail::merge_data_types, std::variant, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - - -constexpr std::string_view facebook::react::detail::css::keywords::Absolute; -constexpr std::string_view facebook::react::detail::css::keywords::At; -constexpr std::string_view facebook::react::detail::css::keywords::Auto; -constexpr std::string_view facebook::react::detail::css::keywords::Baseline; -constexpr std::string_view facebook::react::detail::css::keywords::Block; -constexpr std::string_view facebook::react::detail::css::keywords::Bottom; -constexpr std::string_view facebook::react::detail::css::keywords::Center; -constexpr std::string_view facebook::react::detail::css::keywords::Clip; -constexpr std::string_view facebook::react::detail::css::keywords::Column; -constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; -constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Content; -constexpr std::string_view facebook::react::detail::css::keywords::Contents; -constexpr std::string_view facebook::react::detail::css::keywords::Contextual; -constexpr std::string_view facebook::react::detail::css::keywords::Dashed; -constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Dotted; -constexpr std::string_view facebook::react::detail::css::keywords::Double; -constexpr std::string_view facebook::react::detail::css::keywords::End; -constexpr std::string_view facebook::react::detail::css::keywords::Fixed; -constexpr std::string_view facebook::react::detail::css::keywords::Flex; -constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; -constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; -constexpr std::string_view facebook::react::detail::css::keywords::Grid; -constexpr std::string_view facebook::react::detail::css::keywords::Groove; -constexpr std::string_view facebook::react::detail::css::keywords::Hidden; -constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Inherit; -constexpr std::string_view facebook::react::detail::css::keywords::Initial; -constexpr std::string_view facebook::react::detail::css::keywords::Inline; -constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; -constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; -constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; -constexpr std::string_view facebook::react::detail::css::keywords::Inset; -constexpr std::string_view facebook::react::detail::css::keywords::Left; -constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; -constexpr std::string_view facebook::react::detail::css::keywords::Ltr; -constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; -constexpr std::string_view facebook::react::detail::css::keywords::Medium; -constexpr std::string_view facebook::react::detail::css::keywords::MinContent; -constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; -constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; -constexpr std::string_view facebook::react::detail::css::keywords::None; -constexpr std::string_view facebook::react::detail::css::keywords::Normal; -constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; -constexpr std::string_view facebook::react::detail::css::keywords::Outset; -constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; -constexpr std::string_view facebook::react::detail::css::keywords::Relative; -constexpr std::string_view facebook::react::detail::css::keywords::Ridge; -constexpr std::string_view facebook::react::detail::css::keywords::Right; -constexpr std::string_view facebook::react::detail::css::keywords::Row; -constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; -constexpr std::string_view facebook::react::detail::css::keywords::Rtl; -constexpr std::string_view facebook::react::detail::css::keywords::Scroll; -constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; -constexpr std::string_view facebook::react::detail::css::keywords::Solid; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; -constexpr std::string_view facebook::react::detail::css::keywords::Start; -constexpr std::string_view facebook::react::detail::css::keywords::Static; -constexpr std::string_view facebook::react::detail::css::keywords::Sticky; -constexpr std::string_view facebook::react::detail::css::keywords::Stretch; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; -constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; -constexpr std::string_view facebook::react::detail::css::keywords::Thick; -constexpr std::string_view facebook::react::detail::css::keywords::Thin; -constexpr std::string_view facebook::react::detail::css::keywords::To; -constexpr std::string_view facebook::react::detail::css::keywords::Top; -constexpr std::string_view facebook::react::detail::css::keywords::Unset; -constexpr std::string_view facebook::react::detail::css::keywords::Visible; -constexpr std::string_view facebook::react::detail::css::keywords::Wrap; -constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; -template -concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); -template -concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); -template -concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); -template -concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); -template -concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); -template -concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); -template -concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); -template -concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); -template -concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); -template -concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); -template -concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); -template -concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); -template -concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); -template -concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); -template -concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); -template -concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); -template -concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); -template -concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); -template -concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); -template -concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); -template -concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); -template -concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); -template -concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); -template -concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); -template -concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); -template -concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); -template -concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); -template -concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); -template -concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); -template -concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); -template -concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); -template -concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); -template -concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); -template -concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); -template -concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); -template -concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); -template -concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); -template -concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); -template -concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); -template -concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); -template -concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); -template -concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); -template -concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); -template -concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); -template -concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); -template -concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); -template -concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); -template -concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); -template -concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); -template -concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); -template -concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); -template -concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); -template -concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); -template -concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); -template -concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); -template -concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); -template -concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); -template -concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); -template -concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); -template -concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); -template -concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); -template -concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); -template -concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); -template -concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); -template -concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); -template -concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); -template -concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); -template -concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); -template -concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); - - -constexpr facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; - - -constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; -template -using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; -typedef std::function facebook::react::jsinspector_modern::FrontendChannel; -typedef std::map facebook::react::jsinspector_modern::Headers; -using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; -using facebook::react::jsinspector_modern::IOReadError = const std::string; -using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; -using facebook::react::jsinspector_modern::StreamID = const std::string; -using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; -bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); -facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); -folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); -folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); -std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); -std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); -std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); -template -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); -template -facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); -void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); -void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); -void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); -void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); - -class facebook::react::jsinspector_modern::BoundedRequestBuffer { - public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; - public std::shared_ptr get(const std::string& requestId) const; - public void clear(); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { - public bool base64Encoded; - public std::string data; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { } -class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { - public CallbackLocalConnection(std::function handler); - public virtual void disconnect() override; - public virtual void sendMessage(std::string message) override; +struct facebook::react::Bridging { + public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); } -class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public CallbackRemoteConnection(std::function handler); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); } -class facebook::react::jsinspector_modern::ConsoleTask { - public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; - public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; - public ConsoleTask(std::shared_ptr taskContext); - public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; - public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; - public ~ConsoleTask(); +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { - public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); - public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskId id() const; - public std::optional getSerializedStackTrace() const; - public void schedule(); - public ~ConsoleTaskContext(); +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); } -class facebook::react::jsinspector_modern::ConsoleTaskId { - public ConsoleTaskId() = default; - public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public operator bool() const; - public operator void *() const; - public ~ConsoleTaskId() = default; -} - -class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { - public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); - public std::shared_ptr top() const; - public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); - public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public ~ConsoleTaskOrchestrator() = default; -} - -class facebook::react::jsinspector_modern::EmulationAgent { - public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); -} - -class facebook::react::jsinspector_modern::ExecutionContextManager { - public int32_t allocateExecutionContextId(); -} - -class facebook::react::jsinspector_modern::ExecutionContextSelector { - public ExecutionContextSelector() = delete; - public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; - public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); - public ~ExecutionContextSelector() = default; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public FallbackRuntimeTargetDelegate(std::string engineDescription); - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; -} - -class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); - public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; - public ~HermesRuntimeTargetDelegate() override; -} - -class facebook::react::jsinspector_modern::HostAgent { - public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); - public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public bool isEligibleForBackgroundTrace() const; - public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public void emitSystemStateChanged(bool isSingleHost); - public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void setCurrentInstanceAgent(std::shared_ptr agent); - public ~HostAgent(); -} - -class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public bool stopAndMaybeEmitBackgroundTrace(); - public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public std::unique_ptr connect(std::unique_ptr connectionToFrontend); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); - public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); - public ~HostTarget(); -} - -class facebook::react::jsinspector_modern::HostTargetController { - public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); - public bool decrementPauseOverlayCounter(); - public bool hasInstance() const; - public bool maybeEmitStashedBackgroundTrace(); - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public void incrementPauseOverlayCounter(); -} - -class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public HostTargetDelegate() = default; - public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&); - public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; - public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); - public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&); - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; - public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; - public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; - public virtual ~HostTargetDelegate() override; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; - public std::optional message; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest { - public std::optional quality; - public std::optional format; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; - public std::optional ignoreCache; - public std::optional scriptToEvaluateOnLoad; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest& rhs) const; - public std::string colorScheme; -} - -class facebook::react::jsinspector_modern::HostTargetTraceRecording { - public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public bool isBackgroundInitiated() const; - public bool isUserInitiated() const; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); - public void start(); -} - -class facebook::react::jsinspector_modern::HostTargetTracingDelegate { - public HostTargetTracingDelegate() = default; - public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); - public virtual void onTracingStopped(); - public virtual ~HostTargetTracingDelegate() = default; -} - -class facebook::react::jsinspector_modern::HostTracingAgent { - public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); -} - -class facebook::react::jsinspector_modern::IDestructible { - public virtual ~IDestructible() = 0; -} - -class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { - public using ConnectFunc = std::function(std::unique_ptr)>; - public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; - public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; - public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; - public virtual std::vector getPages() const = 0; - public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; - public virtual void removePage(int pageId) = 0; - public virtual ~IInspector() = 0; -} - -class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void disconnect() = 0; - public virtual void sendMessage(std::string message) = 0; - public virtual ~ILocalConnection() = 0; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); } -class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onPageRemoved(int); - public virtual ~IPageStatusListener() = 0; +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onDisconnect() = 0; - public virtual void onMessage(std::string message) = 0; - public virtual ~IRemoteConnection() = 0; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -class facebook::react::jsinspector_modern::IWebSocket { - public virtual void send(std::string_view message) = 0; - public virtual ~IWebSocket() = default; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -class facebook::react::jsinspector_modern::IWebSocketDelegate { - public virtual void didClose() = 0; - public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; - public virtual void didOpen() = 0; - public virtual void didReceiveMessage(std::string_view message) = 0; - public virtual ~IWebSocketDelegate() = default; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::InspectorFlags { - public InspectorFlags(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public bool getAssertSingleHostState() const; - public bool getFrameRecordingEnabled() const; - public bool getFuseboxEnabled() const; - public bool getIsProfilingBuild() const; - public bool getPerfIssuesEnabled() const; - public bool getScreenshotCaptureEnabled() const; - public facebook::react::jsinspector_modern::InspectorFlags& operator=(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); - public void dangerouslyDisableFuseboxForTest(); - public void dangerouslyResetFlags(); +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::InspectorPackagerConnection { - public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public bool isConnected() const; - public void closeQuietly(); - public void connect(); - public void sendEventToAllConnections(std::string event); +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { - public bool isConnected() const; - public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public using SessionId = uint32_t; - public void closeQuietly(); - public void connect(); - public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); - public void sendEventToAllConnections(const std::string& event); +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { - public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; - public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; - public virtual ~InspectorPackagerConnectionDelegate() = default; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); } -class facebook::react::jsinspector_modern::InstanceAgent { - public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { } -class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); - public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); - public ~InstanceTarget(); +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); } -class facebook::react::jsinspector_modern::InstanceTargetDelegate { - public InstanceTargetDelegate() = default; - public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public virtual ~InstanceTargetDelegate(); +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -class facebook::react::jsinspector_modern::InstanceTracingAgent { - public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); - public ~InstanceTracingAgent(); -} + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& viewProps); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& viewProps); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps& viewProps); + class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnection : public jni::HybridClass { public static constexpr auto kJavaDescriptor; @@ -10766,250 +5153,6 @@ class facebook::react::jsinspector_modern::JInspectorNetworkReporter : public jn public static void reportWebSocketWillSendHandshakeRequest(jni::alias_ref, jni::alias_ref requestId, jni::alias_ref> headers); } -class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public LoadNetworkResourceDelegate() = default; - public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; - public virtual ~LoadNetworkResourceDelegate() = default; -} - -class facebook::react::jsinspector_modern::NetworkHandler { - public bool isEnabled() const; - public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); - public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); - public std::optional> getResponseBody(const std::string& requestId); - public void disableAgent(size_t agentId); - public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); - public void onLoadingFailed(const std::string& requestId, bool cancelled); - public void onLoadingFinished(const std::string& requestId, int encodedDataLength); - public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); - public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); - public void onWebSocketClosed(const std::string& requestId); - public void onWebSocketCreated(const std::string& requestId, const std::string& url); - public void onWebSocketFrameReceived(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketFrameSent(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t status, const facebook::react::jsinspector_modern::Headers& headers); - public void onWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::jsinspector_modern::NetworkIOAgent { - public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); - public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public ~NetworkIOAgent(); -} - -class facebook::react::jsinspector_modern::NetworkRequestListener { - public NetworkRequestListener() = default; - public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public virtual void onCompletion() = 0; - public virtual void onData(std::string_view data) = 0; - public virtual void onError(const std::string& message) = 0; - public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; - public virtual void setCancelFunction(std::function cancelFunction) = 0; - public virtual ~NetworkRequestListener() = default; -} - -class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { - public NotImplementedException(std::string message); - public const char* what() const noexcept override; -} - -class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { -} - -class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { - public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); - public void handlePerfIssueAdded(const std::string& message); -} - -class facebook::react::jsinspector_modern::RAIIRemoteConnection { - public RAIIRemoteConnection(std::unique_ptr remote); - public void onMessage(std::string message); - public ~RAIIRemoteConnection(); -} - -class facebook::react::jsinspector_modern::RuntimeAgent { - public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); - public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); - public void notifyFastRefreshComplete(); - public ~RuntimeAgent(); -} - -struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { - public std::unique_ptr delegateState; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; - public virtual std::unique_ptr getExportedState(); - public virtual ~RuntimeAgentDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { - public virtual ~ExportedState() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public ~RuntimeTarget(); -} - -class facebook::react::jsinspector_modern::RuntimeTargetController { - public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); - public void disableSamplingProfiler(); - public void emitTracingStateChange(bool isTracing); - public void enableSamplingProfiler(); - public void installBindingHandler(const std::string& bindingName); - public void installScriptToEvaluateOnNewDocument(const std::string& source); - public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); -} - -enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { - Log, - Network, - Runtime, - kMaxValue, -} - -class facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public virtual bool supportsConsole() const = 0; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; - public virtual void disableSamplingProfiler() = 0; - public virtual void enableSamplingProfiler() = 0; - public virtual ~RuntimeTargetDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); - public ~RuntimeTracingAgent(); -} - -class facebook::react::jsinspector_modern::StackTrace { - public StackTrace() = default; - public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public static std::unique_ptr empty(); - public virtual ~StackTrace() = default; -} - -class facebook::react::jsinspector_modern::TracingAgent { - public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public ~TracingAgent(); -} - -enum facebook::react::jsinspector_modern::ConsoleAPIType { - kAssert, - kClear, - kCount, - kDebug, - kDir, - kDirXML, - kEndGroup, - kError, - kInfo, - kLog, - kStartGroup, - kStartGroupCollapsed, - kTable, - kTimeEnd, - kTrace, - kWarning, -} - -enum facebook::react::jsinspector_modern::HostCommand { - DebuggerResume, - DebuggerStepOver, -} - -struct facebook::react::jsinspector_modern::ConsoleMessage { - public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); - public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public std::unique_ptr stackTrace; - public std::vector args; - public ~ConsoleMessage() = default; -} - -struct facebook::react::jsinspector_modern::ExecutionContextDescription { - public int32_t id; - public std::optional uniqueId; - public std::string name; - public std::string origin; -} - -struct facebook::react::jsinspector_modern::GetResponseBodyResult { - public bool base64Encoded; - public folly::dynamic toDynamic() const; - public std::string body; -} - -struct facebook::react::jsinspector_modern::HostTargetMetadata { - public std::optional appDisplayName; - public std::optional appIdentifier; - public std::optional deviceName; - public std::optional integrationName; - public std::optional platform; - public std::optional reactNativeVersion; -} - -struct facebook::react::jsinspector_modern::IOReadResult { - public bool base64Encoded; - public bool eof; - public folly::dynamic toDynamic() const; - public std::string data; -} - -struct facebook::react::jsinspector_modern::InspectorPageDescription { - public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; - public const int id; - public const std::string description; - public const std::string vm; -} - -struct facebook::react::jsinspector_modern::InspectorSystemState { - public int registeredHostsCount; -} - -struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { - public bool nativePageReloads; - public bool nativeSourceCodeFetching; -} - struct facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionDelegateImpl : public facebook::jni::JavaClass { public static constexpr auto kJavaDescriptor; public std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate); @@ -11023,624 +5166,13 @@ class facebook::react::jsinspector_modern::JCxxInspectorPackagerConnectionDelega public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) override; } -struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { - public std::string url; -} - -struct facebook::react::jsinspector_modern::NetworkResource { - public bool success; - public folly::dynamic toDynamic() const; - public std::optional headers; - public std::optional netErrorName; - public std::optional stream; - public std::optional httpStatusCode; -} - -struct facebook::react::jsinspector_modern::PerfIssuePayload { - public std::optional description; - public std::optional learnMoreUrl; - public std::optional severity; - public std::string name; -} - -struct facebook::react::jsinspector_modern::ReadStreamParams { - public facebook::react::jsinspector_modern::StreamID handle; - public std::optional offset; - public std::optional size; -} - -struct facebook::react::jsinspector_modern::SessionState { - public bool hasPendingTraceRecording; - public bool isDebuggerDomainEnabled; - public bool isLogDomainEnabled; - public bool isNetworkDomainEnabled; - public bool isReactNativeApplicationDomainEnabled; - public bool isRuntimeDomainEnabled; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; - public std::unordered_map subscribedBindings; - public std::vector scriptsToEvaluateOnNewDocument; - public std::vector pendingSimpleConsoleMessages; - public unsigned int nextScriptToEvaluateOnNewDocumentId; -} - -struct facebook::react::jsinspector_modern::SessionState::ScriptToEvaluateOnNewDocument { - public std::string identifier; - public std::string source; -} - -struct facebook::react::jsinspector_modern::SimpleConsoleMessage { - public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public std::vector args; - public ~SimpleConsoleMessage() = default; -} - -template -class facebook::react::jsinspector_modern::EnumArray { - public constexpr ValueType& operator[](IndexType i); - public constexpr const ValueType& operator[](IndexType i) const; - public constexpr int size() const; -} - -template -struct facebook::react::jsinspector_modern::UniqueMonostate { - public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; -} - -template -class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { - public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); - public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); - template - public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -} - -template -class facebook::react::jsinspector_modern::WeakList { - public bool empty() const; - public size_t size() const; - public void insert(std::weak_ptr ptr); - template - public bool anyOf(Fn&& fn) const; - template - public bool anyOf(Fn&& fn); - template - public void forEach(Fn&& fn) const; - template - public void forEach(Fn&& fn); -} - - -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; -using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; -using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; -using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; -using facebook::react::jsinspector_modern::tracing::Headers = std::map; -using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; -using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; -using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; -int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); -std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); -std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); -std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); -std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); - -class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { - public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { - public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); - public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); - public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); -} - -class facebook::react::jsinspector_modern::tracing::PerformanceTracer { - public bool isTracing() const; - public bool startTracing(); - public bool startTracing(facebook::react::HighResDuration maxDuration); - public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); - public std::optional> stopTracing(); - public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); - public using TracingStateCallback = std::function; - public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); - public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); - public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); - public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); - public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); - public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); - public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); - public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); -} - -class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { - public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); - public bool hasParent() const; - public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; - public static constexpr uint32_t NO_PARENT; - public uint32_t getId() const; - public uint32_t getParentId() const; -} - -enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { - JavaScript, - Other, -} - -class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public virtual ~RawRuntimeProfile() = default; -} - -class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { - public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); - public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); -} - -class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; - public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public bool isRunningInBackgroundMode(); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { - public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); - public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { - public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); - public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); - public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); - public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); - public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); - public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); - public static size_t estimateJsonSize(const folly::dynamic& value); -} - -enum facebook::react::jsinspector_modern::tracing::Category { - Frame, - HiddenTimeline, - JavaScriptSampling, - RuntimeExecution, - Screenshot, - Timeline, - UserTiming, -} - -enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { - Error, - Primary, - PrimaryDark, - PrimaryLight, - Secondary, - SecondaryDark, - SecondaryLight, - Tertiary, - TertiaryDark, - TertiaryLight, - Warning, -} - -enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { - Microtasks, - Task, -} - -enum facebook::react::jsinspector_modern::tracing::Mode { - Background, - CDP, -} - -struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { - public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public ~EventLoopReporter(); -} - -struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { - public FrameTimingSequence() = delete; - public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); - public facebook::react::HighResDuration vsyncInterval; - public facebook::react::HighResTimeStamp beginTimestamp; - public facebook::react::HighResTimeStamp endTimestamp; - public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::optional> screenshot; -} - -struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { - public HostTracingProfile() = default; - public HostTracingProfile(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public HostTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public std::vector frameTimings; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~HostTracingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::IdGenerator { - public uint32_t getNext(); -} - -struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { - public std::vector performanceTraceEvents; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { - public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public std::string runtimeName; - public std::unique_ptr rawRuntimeProfile; - public std::vector samples; - public ~RuntimeSamplingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { - public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::vector callStack; - public uint64_t timestamp; - public ~Sample() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { - public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; - public std::optional scriptURL; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string_view functionName; - public uint32_t scriptId; -} - -enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { - GarbageCollector, - HostFunction, - JSFunction, - NativeFunction, -} - -struct facebook::react::jsinspector_modern::tracing::TraceEvent { - public char ph; - public facebook::react::HighResTimeStamp ts; - public facebook::react::jsinspector_modern::tracing::Categories cat; - public facebook::react::jsinspector_modern::tracing::ProcessId pid; - public facebook::react::jsinspector_modern::tracing::ThreadId tid; - public folly::dynamic args; - public std::optional s; - public std::optional dur; - public std::optional id; - public std::string name; -} - -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; - public using TimeDeltas = std::vector; -} - -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { - public std::vector nodes; - public std::vector samples; -} - -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; - public std::optional parentId; - public uint32_t id; -} - -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { - public std::optional url; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string codeType; - public std::string functionName; - public uint32_t scriptId; -} - -struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { - public TraceRecordingState(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public facebook::react::jsinspector_modern::tracing::Mode mode; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public std::optional windowSize; - public std::set enabledCategories; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~TraceRecordingState() = default; -} +const char* facebook::react::exceptions::gUnexpectedNativeTypeExceptionClass; template -class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { - public TimeWindowedBuffer(); - public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); - public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); - public using TimestampAccessor = std::function; - public void clear(); - public void push(T&& element); - public void push(const T& element); -} - -template -class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { - public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; - public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public ~PerformanceTracerSection() noexcept; -} - - -using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; -using facebook::react::jsinspector_modern::cdp::RequestId = long long; -using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; -facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); -std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); - -enum facebook::react::jsinspector_modern::cdp::ErrorCode { - InternalError, - InvalidParams, - InvalidRequest, - MethodNotFound, - ParseError, -} - -struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { - public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; - public facebook::react::jsinspector_modern::cdp::RequestId id; - public folly::dynamic params; - public std::string method; - public std::string toJson() const; -} - - -using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; -std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); - -struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { - public double requestTime; -} - -struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int dataLength; - public int encodedDataLength; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { - public bool canceled; - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string errorText; - public std::string requestId; - public std::string type; -} - -struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::Request { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::optional postData; - public std::string method; - public std::string url; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { - public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { - public bool redirectHasExtraInfo; - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Request request; - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::optional redirectResponse; - public std::string documentURL; - public std::string loaderId; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::Response { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); - public std::string mimeType; - public std::string statusText; - public std::string url; - public uint16_t status; -} - -struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { - public bool hasExtraInfo; - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::Response response; - public folly::dynamic toDynamic() const; - public std::string loaderId; - public std::string requestId; - public std::string type; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketClosedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketCreatedParams { - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::string requestId; - public std::string url; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrame { - public bool mask; - public folly::dynamic toDynamic() const; - public int opcode; - public std::string payloadData; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrameParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketFrame response; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketHandshakeResponseReceivedParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketResponse response; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketResponse { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public static facebook::react::jsinspector_modern::cdp::network::WebSocketResponse fromInputParams(uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers); - public std::string statusText; - public uint16_t status; -} - -struct facebook::react::jsinspector_modern::cdp::network::WebSocketWillSendHandshakeRequestParams { - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - - -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; -bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); -facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); -std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); -std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); - -struct facebook::react::dom::DOMBorderWidthRounded { - public int bottom; - public int left; - public int right; - public int top; -} - -struct facebook::react::dom::DOMOffset { - public double left; - public double top; - public std::shared_ptr offsetParent; -} - -struct facebook::react::dom::DOMPoint { - public double x; - public double y; -} - -struct facebook::react::dom::DOMRect { - public double height; - public double width; - public double x; - public double y; -} - -struct facebook::react::dom::DOMSizeRounded { - public int height; - public int width; -} - -struct facebook::react::dom::RNMeasureRect { - public double height; - public double pageX; - public double pageY; - public double width; - public double x; - public double y; -} +void facebook::react::exceptions::throwIfObjectAlreadyConsumed(const T& t, const char* msg); -static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; +constexpr facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; std::shared_ptr facebook::react::CoreComponentsRegistry::sharedProviderRegistry(); @@ -11780,6 +5312,16 @@ struct facebook::react::array_detail::BridgingDynamic { } +template +C facebook::react::detail::memberFunctionClass(T C::*); + +class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { + public OwnedBytesBuffer(std::vector bytes) noexcept; + public virtual size_t size() const override; + public virtual uint8_t* data() override; +} + + template struct facebook::react::map_detail::Bridging { public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); @@ -11787,112 +5329,6 @@ struct facebook::react::map_detail::Bridging { } -uint64_t facebook::react::oscompat::getCurrentProcessId(); -uint64_t facebook::react::oscompat::getCurrentThreadId(); - - -using facebook::react::ReactMarker::LogTaggedMarker = std::function; -using facebook::react::ReactMarker::LogTaggedMarkerBridgeless = facebook::react::ReactMarker::LogTaggedMarker; -void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); -void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -facebook::react::ReactMarker::AtomicLogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; - -class facebook::react::ReactMarker::StartupLogger { - public double getAppStartupEndTime(); - public double getAppStartupStartTime(); - public double getInitReactRuntimeStartTime(); - public double getRunJSBundleStartTime(); - public static facebook::react::ReactMarker::StartupLogger& getInstance(); - public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); - public void reset(); -} - -enum facebook::react::ReactMarker::ReactMarkerId { - APP_STARTUP_START, - APP_STARTUP_STOP, - CREATE_REACT_CONTEXT_STOP, - INIT_REACT_RUNTIME_START, - INIT_REACT_RUNTIME_STOP, - JS_BUNDLE_STRING_CONVERT_START, - JS_BUNDLE_STRING_CONVERT_STOP, - NATIVE_MODULE_SETUP_START, - NATIVE_MODULE_SETUP_STOP, - NATIVE_REQUIRE_START, - NATIVE_REQUIRE_STOP, - REACT_INSTANCE_INIT_START, - REACT_INSTANCE_INIT_STOP, - REGISTER_JS_SEGMENT_START, - REGISTER_JS_SEGMENT_STOP, - RUN_JS_BUNDLE_START, - RUN_JS_BUNDLE_STOP, -} - -struct facebook::react::ReactMarker::AtomicLogTaggedMarker { - public facebook::react::ReactMarker::AtomicLogTaggedMarker& operator=(facebook::react::ReactMarker::LogTaggedMarker marker); - public operator bool() const noexcept; - public void operator()(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag) const; -} - -struct facebook::react::ReactMarker::ReactMarkerEvent { - public const char* tag; - public const facebook::react::ReactMarker::ReactMarkerId markerId; - public double time; -} - - -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); -void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); - - -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); - - -void facebook::react::LowPriorityExecutor::execute(std::function&& workItem); - - void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); @@ -11936,9 +5372,6 @@ void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); -std::unique_ptr facebook::jsc::makeJSCRuntime(); - - using facebook::jsi::HostFunctionType = std::function; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); @@ -13800,22 +7233,10 @@ class facebook::yoga::vanillajni::ScopedLocalRef { void facebook::gloginit::initialize(const char* tag = "ReactNativeJNI"); -struct std::hash { - public size_t operator()(const facebook::react::AttributedString& attributedString) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; -} - struct std::hash { public size_t operator()(const facebook::react::Color& color) const; } -struct std::hash { - public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; } @@ -13824,30 +7245,14 @@ struct std::hash { public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; } -struct std::hash { - public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; -} - struct std::hash { public size_t operator()(const facebook::react::Point& point) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Rect& rect) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::ShadowView& shadowView) const; -} - struct std::hash { public size_t operator()(const facebook::react::SharedColor& color) const; } @@ -13856,18 +7261,6 @@ struct std::hash { public size_t operator()(const facebook::react::Size& size) const; } -struct std::hash { - public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextEffectInfo& info) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Transform& transform) const; } @@ -13882,22 +7275,5 @@ struct std::hash> { public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; -} - -template -struct std::hash> { - public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; -} - void YGJNIVanilla::registerNatives(JNIEnv* env); \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api index 193fb5bb0240..132361aa5733 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleDebugCxx.api @@ -313,15 +313,6 @@ category UIView(React) { public virtual void removeReactSubview:(UIView* subview); } -class ObjCTimerRegistry : public facebook::react::PlatformTimerRegistry { - public ObjCTimerRegistry(); - public RCTTiming* _Null_unspecified timing; - public virtual void createRecurringTimer(uint32_t timerID, double delayMS) override; - public virtual void createTimer(uint32_t timerID, double delayMS) override; - public virtual void deleteTimer(uint32_t timerID) override; - public virtual void setTimerManager(std::weak_ptr timerManager) override; -} - class RCTComponentViewClassDescriptor { public Class viewClass; public bool observesMountingTransactionDidMount; @@ -1151,20 +1142,6 @@ interface RCTGradientUtils : public NSObject { interface RCTHTTPRequestHandler : public NSObject { } -interface RCTHost : public NSObject { - public @property (assign, readonly) RCTModuleRegistry* moduleRegistry; - public @property (assign, readonly) RCTSurfacePresenter* surfacePresenter; - public @property (weak) id runtimeDelegate; - public virtual RCTFabricSurface* createSurfaceWithModuleName:initialProperties:(NSString* moduleName, NSDictionary* properties); - public virtual RCTFabricSurface* createSurfaceWithModuleName:mode:initialProperties:(NSString* moduleName, facebook::react::DisplayMode displayMode, NSDictionary* properties); - public virtual instancetype initWithBundleURL:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:(NSURL* bundleURL, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions); - public virtual instancetype initWithBundleURLProvider:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:(RCTHostBundleURLProvider provider, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions); - public virtual instancetype initWithBundleURLProvider:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:bundleConfiguration:devMenuConfiguration:(RCTHostBundleURLProvider provider, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); - public virtual std::shared_ptr jsCallInvoker(); - public virtual void callFunctionOnJSModule:method:args:(NSString* moduleName, NSString* method, NSArray* args); - public virtual void start(); -} - interface RCTI18nManager : public NSObject { } @@ -1259,17 +1236,6 @@ interface RCTInspectorWebSocketReporter : public NSObject { public virtual static void reportWillSendHandshakeRequest:request:(_Nullable NSString* requestId, NSURLRequest* request); } -interface RCTInstance : public NSObject { - public @property (assign, readonly) std::shared_ptr jsCallInvoker; - public @property (strong, readonly) RCTSurfacePresenter* surfacePresenter; - public virtual instancetype initWithDelegate:jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:moduleRegistry:parentInspectorTarget:launchOptions:(id delegate, std::shared_ptr jsRuntimeFactory, RCTBundleManager* bundleManager, id turboModuleManagerDelegate, RCTModuleRegistry* moduleRegistry, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget, _Nullable NSDictionary* launchOptions); - public virtual instancetype initWithDelegate:jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:moduleRegistry:parentInspectorTarget:launchOptions:devMenuConfiguration:(id delegate, std::shared_ptr jsRuntimeFactory, RCTBundleManager* bundleManager, id turboModuleManagerDelegate, RCTModuleRegistry* moduleRegistry, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget, _Nullable NSDictionary* launchOptions, RCTDevMenuConfiguration* _Nullable devMenuConfiguration); - public virtual void callFunctionOnBufferedRuntimeExecutor:(std::function&& executor); - public virtual void callFunctionOnJSModule:method:args:(NSString* moduleName, NSString* method, NSArray* args); - public virtual void invalidate(); - public virtual void registerSegmentWithId:path:(NSNumber* segmentId, NSString* path); -} - interface RCTInterpolationAnimatedNode : public RCTValueAnimatedNode { } @@ -1287,15 +1253,6 @@ interface RCTJSStackFrame : public NSObject { public virtual static instancetype stackFrameWithLine:(NSString* line); } -interface RCTJSThreadManager : public NSObject { - public virtual std::shared_ptr jsMessageThread(); - public virtual void dispatchToJSThread:(dispatch_block_t block); -} - -interface RCTJSTimerExecutor : public NSObject { - public virtual void setTimerManager:(std::weak_ptr timerManager); -} - interface RCTJavaScriptLoader : public NSObject { public virtual static NSData* attemptSynchronousLoadOfBundleAtURL:sourceLength:error:(NSURL* scriptURL, int64_t* sourceLength, NSError** error); public virtual static void loadBundleAtURL:onProgress:onComplete:(NSURL* scriptURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock onComplete); @@ -1948,15 +1905,6 @@ interface RCTSyncImageManager : public NSObject { interface RCTTextInputComponentView : public RCTViewComponentView { } -interface RCTTextLayoutManager : public NSObject { - public virtual facebook::react::LinesMeasurements getLinesForAttributedString:paragraphAttributes:size:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGSize size); - public virtual facebook::react::TextMeasurement measureAttributedString:paragraphAttributes:layoutContext:layoutConstraints:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, facebook::react::TextLayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints); - public virtual facebook::react::TextMeasurement measureNSAttributedString:paragraphAttributes:layoutContext:layoutConstraints:(NSAttributedString* attributedString, facebook::react::ParagraphAttributes paragraphAttributes, facebook::react::TextLayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints); - public virtual std::shared_ptr getEventEmitterWithAttributeString:paragraphAttributes:frame:atPoint:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, CGPoint point); - public virtual void drawAttributedString:paragraphAttributes:frame:drawHighlightPath:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, void(^)(UIBezierPath* highlightPath) block); - public virtual void getRectWithAttributedString:paragraphAttributes:enumerateAttribute:frame:usingBlock:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, NSString* enumerateAttribute, CGRect frame, RCTTextLayoutFragmentEnumerationBlock block); -} - interface RCTTextSelection : public NSObject { public @property (assign, readonly) NSInteger end; public @property (assign, readonly) NSInteger start; @@ -2682,10 +2630,6 @@ protocol RCTComponentViewProtocol : public NSObject { public virtual void updateState:oldState:(const facebook::react::State::Shared& state, const facebook::react::State::Shared& oldState); } -protocol RCTContextContainerHandling : public NSObject { - public virtual void didCreateContextContainer:(std::shared_ptr contextContainer); -} - protocol RCTCustomPullToRefreshViewProtocol { } @@ -2784,18 +2728,6 @@ protocol RCTFrameUpdateObserver : public NSObjectNSObject { public virtual void didUpdateFrame:(RCTFrameUpdate* update); } -protocol RCTHostDelegate : public NSObject { - public virtual NSArray* unstableModulesRequiringMainQueueSetup(); - public virtual void host:didInitializeRuntime:(RCTHost* host, facebook::jsi::Runtime& runtime); - public virtual void host:didReceiveJSErrorStack:message:originalMessage:name:componentStack:exceptionId:isFatal:extraData:(RCTHost* host, NSArray*>* stack, NSString* message, NSString* _Nullable originalMessage, NSString* _Nullable name, NSString* _Nullable componentStack, NSUInteger exceptionId, BOOL isFatal, NSDictionary* extraData); - public virtual void hostDidStart:(RCTHost* host); - public virtual void loadBundleAtURL:onProgress:onComplete:(NSURL* sourceURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); -} - -protocol RCTHostRuntimeDelegate : public NSObject { - public virtual void host:didInitializeRuntime:(RCTHost* host, facebook::jsi::Runtime& runtime); -} - protocol RCTImageCache : public NSObject { public virtual UIImage* imageForUrl:size:scale:resizeMode:(NSString* url, CGSize size, CGFloat scale, RCTResizeMode resizeMode); public virtual void addImageToCache:URL:size:scale:resizeMode:response:(UIImage* image, NSString* url, CGSize size, CGFloat scale, RCTResizeMode resizeMode, NSURLResponse* response); @@ -2872,13 +2804,6 @@ protocol RCTInitializing : public NSObject { protocol RCTInputAccessoryViewProtocol : public NSObject { } -protocol RCTInstanceDelegate : public RCTContextContainerHandling { - public virtual BOOL instance:didReceiveJSErrorStack:message:originalMessage:name:componentStack:exceptionId:isFatal:extraData:(RCTInstance* instance, NSArray*>* stack, NSString* message, NSString* _Nullable originalMessage, NSString* _Nullable name, NSString* _Nullable componentStack, NSUInteger exceptionId, BOOL isFatal, NSDictionary* extraData); - public virtual NSArray* unstableModulesRequiringMainQueueSetup(); - public virtual void instance:didInitializeRuntime:(RCTInstance* instance, facebook::jsi::Runtime& runtime); - public virtual void loadBundleAtURL:onProgress:onComplete:(NSURL* sourceURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); -} - protocol RCTInvalidating : public NSObject { public virtual void invalidate(); } @@ -3145,16 +3070,6 @@ struct RCTCornerRadii { public CGFloat topRightVertical; } -struct RCTFontProperties { - public CGFloat size; - public CGFloat sizeMultiplier; - public NSDictionary* _Nullable variations; - public NSString* family; - public RCTFontStyle style; - public RCTFontVariant variant; - public UIFontWeight weight; -} - struct RCTLayoutContext { public CGPoint absolutePosition; public __unsafe_unretained NSHashTable* _Nonnull other; @@ -3213,86 +3128,6 @@ struct RCTRequired { } -bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); -double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); -int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); -std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); - -class facebook::xplat::JsArgumentException : public std::logic_error { - public JsArgumentException(const std::string& msg); -} - - -class facebook::xplat::module::CxxModule { - public static constexpr AsyncTagType AsyncTag; - public static constexpr SyncTagType SyncTag; - public std::weak_ptr getInstance(); - public using Callback = std::function)>; - public using Provider = std::function()>; - public virtual std::map getConstants(); - public virtual std::string getName() = 0; - public virtual std::vector getMethods() = 0; - public virtual ~CxxModule() = default; - public void setInstance(std::weak_ptr instance); -} - -struct facebook::xplat::module::CxxModule::Method { - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc, AsyncTagType); - public bool isPromise; - public const char* getType(); - public size_t callbacks; - public std::function syncFunc; - public std::function func; - public std::string name; - template - public Method(std::string aname, T* t, void(T::*method)()); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); -} - - -std::string facebook::xplat::detail::toStringHelper(); -template -R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); -template -std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); -template -std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); - -template -struct facebook::xplat::detail::is_dynamic { - public using type = typename std::enable_if::value, T>::type; -} - - class facebook::hermes::IHermes : public facebook::jsi::ICast { protected ~IHermes() = default; public static constexpr facebook::jsi::UUID uuid; @@ -3347,72 +3182,23 @@ struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { } -const char facebook::react::AppleSwitchComponentName[]; -const char facebook::react::ImageComponentName[]; -const char facebook::react::ImageManagerKey[]; -const char facebook::react::InputAccessoryComponentName[]; -const char facebook::react::LegacyViewManagerInteropComponentName[]; -const char facebook::react::ModalHostViewComponentName[]; -const char facebook::react::ParagraphComponentName[]; -const char facebook::react::RawTextComponentName[]; -const char facebook::react::RootComponentName[]; -const char facebook::react::RuntimeSchedulerKey[]; -const char facebook::react::SafeAreaViewComponentName[]; -const char facebook::react::ScrollViewComponentName[]; -const char facebook::react::TextComponentName[]; -const char facebook::react::TextEffectComponentName[]; -const char facebook::react::TextInputComponentName[]; -const char facebook::react::UnimplementedViewComponentName[]; const char facebook::react::ViewComponentName[]; const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; -constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; -constexpr char facebook::react::VirtualViewComponentName[]; -constexpr char* const facebook::react::TextLayoutManagerKey; -constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; -constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; constexpr facebook::react::Tag facebook::react::kNoTag; -constexpr float facebook::react::kDefaultEpsilon; -constexpr size_t facebook::react::EVENT_BUFFER_SIZE; -constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; -constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; static constexpr auto facebook::react::kPropNameLengthHardCap; -static constexpr double facebook::react::SingleFrameIntervalMs; -static constexpr double facebook::react::TicksPerMs; static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; -static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; -static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; -static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; -template -using facebook::react::CSSCompoundDataType = std::variant; -template -using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; -template -using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; template using facebook::react::LazyVector = FB::LazyVector; template using facebook::react::ModuleConstants = _RCTTypedModuleConstants*; -template -using facebook::react::EventListenerT = std::function; -typedef std::function facebook::react::ValueListenerCallback; -typedef std::tuple facebook::react::RectAsTuple; -typedef void(*facebook::react::WarnOnUsageLogger)(std::string message); -using facebook::react::ActivePointerRegistry = std::unordered_map; using facebook::react::ActivityIndicatorViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::ActivityIndicatorViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::ActivityIndicatorViewState = facebook::react::StateData; -using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; -using facebook::react::AnimationTimestamp = std::chrono::duration; -using facebook::react::BackgroundExecutor = std::function&& callback)>; using facebook::react::BackgroundImage = std::variant; using facebook::react::BackgroundSize = std::variant; using facebook::react::BorderColors = facebook::react::RectangleEdges; @@ -3420,22 +3206,7 @@ using facebook::react::BorderCurves = facebook::react::RectangleCorners; using facebook::react::BorderStyles = facebook::react::RectangleEdges; using facebook::react::BorderWidths = facebook::react::RectangleEdges; -using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSPreservedToken = facebook::react::CSSToken; -using facebook::react::CSSRadialGradientSize = std::variant; -using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; using facebook::react::CallFunc = std::function; -using facebook::react::Callback = std::function; -using facebook::react::CallbackHandle = facebook::jsi::Object; -using facebook::react::CallbackId = uint64_t; -using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; @@ -3445,184 +3216,58 @@ using facebook::react::ComponentDescriptorConstructor = facebook::react::Compone using facebook::react::ComponentDescriptorProviderRequest = std::function; using facebook::react::ComponentHandle = int64_t; using facebook::react::ComponentName = const char*; -using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; using facebook::react::CornerInsets = facebook::react::RectangleCorners; -using facebook::react::CrashManagerProvider = std::function()>; using facebook::react::DebuggingOverlayComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::DebuggingOverlayShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::DebuggingOverlayState = facebook::react::StateData; -using facebook::react::DispatchEvent = std::function; using facebook::react::EdgeInsets = facebook::react::RectangleEdges; -using facebook::react::EndResult = facebook::react::NativeAnimatedTurboModuleEndResult, std::optional>; using facebook::react::EventEmitterCallback = std::function; -using facebook::react::EventEmitterListener = facebook::react::EventListenerT; -using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; using facebook::react::EventListener = std::function; using facebook::react::EventPipe = std::function; using facebook::react::EventPipeConclusion = std::function; using facebook::react::EventTag = unsigned int; using facebook::react::Float = CGFloat; -using facebook::react::GarbageCollectionTrigger = std::function; using facebook::react::GradientDirection = std::variant; -using facebook::react::HasComponentProviderFunctionType = std::function; -using facebook::react::Headers = std::map; using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; using facebook::react::ImageSources = std::vector; -using facebook::react::InteractionTypesMap = std::unordered_map; -using facebook::react::IntersectionObserverObserverId = int32_t; -using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::LinesMeasurements = std::vector; -using facebook::react::Logger = std::function; -using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MethodCallResult = std::optional; using facebook::react::ModalHostViewSupportedOrientationsMask = uint32_t; -using facebook::react::MountingTransactionCallback = std::function; -using facebook::react::MutationObserverId = int32_t; -using facebook::react::NativeIntersectionObserverEntry = facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry; -using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; -using facebook::react::NativeIntersectionObserverObserveOptions = facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; using facebook::react::NativeMethodCallFunc = std::function; -using facebook::react::NativeMutationObserverObserveOptions = facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions, bool>; -using facebook::react::NativeMutationRecord = facebook::react::NativeMutationObserverNativeMutationRecord, std::vector>; -using facebook::react::NativePartialReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; -using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; -using facebook::react::NativePerformancePerformanceObserverObserveOptions = facebook::react::NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; -using facebook::react::NativeReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; -using facebook::react::NativeRequestIdleCallbackOptions = facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions>; -using facebook::react::NativeResizeObserverEntry = facebook::react::NativeResizeObserverNativeResizeObserverEntry; -using facebook::react::NativeResizeObserverNotifyCallback = facebook::react::SyncCallback; -using facebook::react::NativeResizeObserverObserveOptions = facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions, std::optional>; -using facebook::react::OnMutations = std::function&)>; -using facebook::react::ParagraphProps = HostPlatformParagraphProps; -using facebook::react::PerformanceEntry = std::variant; -using facebook::react::PerformanceEntryInteractionId = uint32_t; -using facebook::react::PerformanceObserverCallback = std::function; -using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; -using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; -using facebook::react::PointerIdentifier = int32_t; using facebook::react::PromiseSetupFunctionType = std::function)>; using facebook::react::PullToRefreshViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::PullToRefreshViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::PullToRefreshViewState = facebook::react::StateData; -using facebook::react::RawCallback = std::function; using facebook::react::RawPropsPropNameHash = uint32_t; using facebook::react::RawPropsPropNameLength = uint16_t; using facebook::react::RawPropsValueIndex = uint16_t; -using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ResizeObserverObserverId = int32_t; -using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::RuntimeExecutor = std::function&& callback)>; -using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; -using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; -using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ScrollViewProps = HostPlatformScrollViewProps; -using facebook::react::ShadowTreeCommitTransaction = std::function; -using facebook::react::ShadowViewMutationList = std::vector; using facebook::react::SharedComponentDescriptor = std::shared_ptr; using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; using facebook::react::SharedEventEmitter = std::shared_ptr; using facebook::react::SharedEventPayload = std::shared_ptr; using facebook::react::SharedEventTarget = std::shared_ptr; -using facebook::react::SharedParagraphAttributes = std::shared_ptr; -using facebook::react::SharedRawTextProps = std::shared_ptr; -using facebook::react::SharedScrollViewProps = std::shared_ptr; using facebook::react::SharedShadowNodeFamily = std::shared_ptr; -using facebook::react::SharedTextAttributes = std::shared_ptr; using facebook::react::SharedTouchEventEmitter = std::shared_ptr; using facebook::react::SharedViewEventEmitter = std::shared_ptr; using facebook::react::SharedViewProps = std::shared_ptr; -using facebook::react::SizeAsTuple = std::tuple; -using facebook::react::SnapshotMap = std::unordered_map>; using facebook::react::StatePipe = std::function; using facebook::react::SurfaceId = int32_t; using facebook::react::Tag = int32_t; using facebook::react::TelemetryClock = std::chrono::steady_clock; using facebook::react::TelemetryDuration = std::chrono::nanoseconds; using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; -using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; -using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); -using facebook::react::TimerHandle = int; -using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; using facebook::react::Touch = facebook::react::HostPlatformTouch; using facebook::react::Touches = std::unordered_set; -using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; -using facebook::react::UiTask = std::function; using facebook::react::UnimplementedNativeViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::UnimplementedNativeViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::UnimplementedNativeViewState = facebook::react::StateData; -using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::UserTimingDetailProvider = std::function; using facebook::react::ValueFactory = std::function; using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; -using facebook::react::ViewNodePairScope = std::deque; using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; using facebook::react::ViewShadowNodeProps = facebook::react::ViewProps; -using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); -template -concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; -template -concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && - ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; -template -concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { - { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { - { T::consume(parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { - { T::consumePreservedToken(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { - { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && - !CSSParserSink) || -CSSParserSink; -template -concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& - (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); -template -concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(func, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { - { visitor(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(block, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; -template -concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; -template -concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; -template -concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; -template -concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; template concept facebook::react::DeclaresOwnSetProp = std::is_same_v; template @@ -3640,78 +3285,38 @@ template concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { { T::filterRawProps(rawProps) } -> std::same_as; }; -template -concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( - TextLayoutManagerT textLayoutManager, - facebook::react::AttributedString attributedString, - facebook::react::ParagraphAttributes paragraphAttributes, - facebook::react::TextLayoutContext layoutContext, - facebook::react::LayoutConstraints layoutConstraints, - typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { - sizeof(typename TextLayoutManagerT::PreparedTextLayout); - { - textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) - } -> std::same_as; - { - textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) - } -> std::same_as; -}; NSArray* facebook::react::extractKeysFromFollyDynamic(const folly::dynamic& dyn); NSError* facebook::react::tryAndReturnError(const std::function& func); NSString* facebook::react::deriveSourceURL(NSURL* url); YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); -bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); -bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); bool facebook::react::areBorderRadiiCircular(const facebook::react::BorderRadii& borderRadii); -bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); -bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); bool facebook::react::hostPlatformColorIsColorMeaningful(facebook::react::Color color) noexcept; bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); bool facebook::react::isZero(facebook::react::Float n); const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); -const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); -const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); constexpr auto facebook::react::to_underlying(auto e) noexcept; -constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); constexpr char facebook::react::toLower(char c); -constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); -constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); -constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); -double facebook::react::ceil(double value) noexcept; -double facebook::react::floor(double value) noexcept; -double facebook::react::getCPUTimeNanos(); -double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); -double facebook::react::round(double value) noexcept; facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); facebook::react::Color facebook::react::hostPlatformColorFromComponents(facebook::react::ColorComponents components); facebook::react::Color facebook::react::hostPlatformColorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); facebook::react::ColorComponents facebook::react::colorComponentsFromHostPlatformColor(facebook::react::Color color); facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); -facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); -facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); facebook::react::Float facebook::react::floatFromYogaFloat(float value); facebook::react::Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); -facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); -facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); -facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); facebook::react::SharedColor facebook::react::blackColor(); facebook::react::SharedColor facebook::react::clearColor(); -facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); facebook::react::SharedColor facebook::react::parsePlatformColor(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value); facebook::react::SharedColor facebook::react::whiteColor(); -facebook::react::Size facebook::react::ModalHostViewScreenSize(void); facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); @@ -3720,101 +3325,40 @@ facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(facebook::react::Float value); float facebook::react::alphaFromHostPlatformColor(facebook::react::Color color); float facebook::react::blueFromHostPlatformColor(facebook::react::Color color); -float facebook::react::ceil(float value) noexcept; -float facebook::react::floor(float value) noexcept; float facebook::react::greenFromHostPlatformColor(facebook::react::Color color); float facebook::react::redFromHostPlatformColor(facebook::react::Color color); -float facebook::react::round(float value) noexcept; float facebook::react::yogaFloatFromFloat(facebook::react::Float value); folly::dynamic facebook::react::convertIdToFollyDynamic(id json); folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); -folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); id facebook::react::convertFollyDynamicToId(const folly::dynamic& dyn); int facebook::react::toInt(const facebook::react::DisplayType& displayType); int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); -long double facebook::react::ceil(long double value) noexcept; -long double facebook::react::floor(long double value) noexcept; -long double facebook::react::round(long double value) noexcept; -size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); -std::function facebook::react::makeCallback(std::weak_ptr instance, const folly::dynamic& callbackId); std::optional facebook::react::blendModeFromString(std::string_view blendModeName); std::optional facebook::react::filterTypeFromString(std::string_view filterName); -std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); -std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); std::optional facebook::react::isolationFromString(std::string_view isolationSetting); -std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); -std::string facebook::react::base64Encode(const std::string_view s); -std::string facebook::react::componentNameByReactViewName(std::string viewName); -std::string facebook::react::generateRandomUuidString(); std::string facebook::react::toString(const double& value); std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); -std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); std::string facebook::react::toString(const facebook::react::DisplayType& displayType); -std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); -std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); std::string facebook::react::toString(const facebook::react::FilterType& filterType); -std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); -std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); -std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); -std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); std::string facebook::react::toString(const facebook::react::ImageSource& value); std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); -std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); -std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); std::string facebook::react::toString(const facebook::react::Role& role); -std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); std::string facebook::react::toString(const facebook::react::SharedColor& value); -std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); -std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); -std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); -std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); -std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); -std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); -std::string facebook::react::toString(const facebook::react::TextWidthMode& textWidthMode); -std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); std::string facebook::react::toString(double doubleValue, char suffix); std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); std::string facebook::react::toString(facebook::react::PointerEventsMode value); -std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); -std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); -std::vector facebook::react::parseMethodCalls(folly::dynamic&& jsonData); -std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); -template -constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); -template -constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); -template -facebook::react::Float facebook::react::roundToPixel(facebook::react::Float value, facebook::react::Float scaleFactor); -template -facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, facebook::react::Float scaleFactor); -template -facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, facebook::react::Float scaleFactor); -template -facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, facebook::react::Float scaleFactor); template std::size_t facebook::react::hash_combine(const T& v, const Args &... args); template void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); template void facebook::react::hash_combine_optionals(std::size_t& seed, const std::optional &... optionals); -template ::type> -facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); -template -constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); -template -constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); template constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; template @@ -3828,12 +3372,6 @@ RCTManagedPointer* facebook::react::managedPointer(P initializer); template T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue); template -T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); -template -T facebook::react::get(const std::unique_ptr& animatedProp); -template -bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); -template facebook::react::ModuleConstants facebook::react::typedConstants(typename T::Builder::Input&& value); template void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); @@ -3852,11 +3390,6 @@ uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexc uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; void facebook::react::FBReactNativeSpec_registerComponentDescriptorsFromCodegen(std::shared_ptr registry); -void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); -void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); -void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); -void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); -void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); void facebook::react::executeSynchronouslyOnSameThread_CAN_DEADLOCK(const facebook::react::RuntimeExecutor& runtimeExecutor, std::function&& runtimeWork); void facebook::react::fromRawValue(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); @@ -3866,42 +3399,17 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AutocapitalizationType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::KeyboardAppearance& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::KeyboardType& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ReturnKeyType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Selection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextInputAccessoryVisibilityMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); @@ -3912,9 +3420,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); @@ -3923,12 +3428,8 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageSource& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); @@ -3937,16 +3438,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); -void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); -void facebook::react::handleJSError(facebook::jsi::Runtime& runtime, const facebook::jsi::JSError& error, bool isFatal); -void facebook::react::installLegacyUIManagerConstantsProviderBinding(facebook::jsi::Runtime& runtime); -void facebook::react::mergeAnimatedRawProps(folly::dynamic& target, const folly::dynamic& source); -void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); -void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); -void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); @@ -3954,17 +3445,10 @@ void facebook::react::serializeTransformOperationValue(const std::string& operat void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); void facebook::react::unsafeExecuteOnMainThreadSync(std::function work); -void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); -void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); -bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); -bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); -bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); -bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; -bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); constexpr bool facebook::react::operator&(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); @@ -4032,149 +3516,6 @@ class facebook::react::ActivityIndicatorViewProps : public facebook::react::Host public facebook::react::SharedColor color; } -class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::AnimatedModule : public facebook::react::NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { - public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); - public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); - public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); - public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); - public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); - public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void finishOperationBatch(facebook::jsi::Runtime& rt); - public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); - public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); - public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); - public void removeListeners(facebook::jsi::Runtime& rt, int count); - public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); - public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); - public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); - public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void startOperationBatch(facebook::jsi::Runtime& rt); - public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); - public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); -} - -class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { - public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number transactionNumber, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; -} - -class facebook::react::AnimatedNode { - protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); - protected facebook::react::AnimatedNodeType type_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag tag_; - protected std::unordered_set children_; - public AnimatedNode(const facebook::react::AnimatedNode&) = default; - public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; - public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); - public const folly::dynamic& getConfig() const noexcept; - public const std::unordered_set& getChildren() const noexcept; - public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; - public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; - public facebook::react::AnimatedNodeType type() const noexcept; - public facebook::react::Tag tag() const noexcept; - public int activeIncomingNodes; - public int bfsColor; - public static constexpr int INITIAL_BFS_COLOR; - public static std::optional getNodeTypeByName(const std::string& nodeTypeName); - public std::string debugID() const; - public virtual void onAttachToNode(facebook::react::Tag); - public virtual void onDetachedFromNode(facebook::react::Tag); - public virtual void update(); - public virtual ~AnimatedNode() = default; - public void addChild(facebook::react::Tag tag); - public void removeChild(facebook::react::Tag tag); -} - -class facebook::react::AnimatedPropsRegistry { - public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); - public void clear(facebook::react::SurfaceId surfaceId); - public void clearOnSurfaceStop(facebook::react::SurfaceId surfaceId); - public void initializeSurface(facebook::react::SurfaceId surfaceId); - public void update(const std::vector& batches); -} - -class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { - public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); - public using PauseCallback = std::function; - public using ResumeCallback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) override; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; - public virtual void stop(facebook::react::CallbackId callbackId) override; - public virtual void trigger() override; - public void requestAsyncFlushForSurfaces(const std::set& surfaces); - public void synchronouslyUpdateProps(const std::unordered_map& updates); - public ~AnimationBackend() override; -} - -class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { - public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; -} - -class facebook::react::AnimationChoreographer { - public virtual facebook::react::AnimationTimestamp now() const; - public virtual void pause() = 0; - public virtual void resume() = 0; - public virtual ~AnimationChoreographer() = default; - public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; - public void setAnimationBackend(std::weak_ptr animationBackend); -} - -class facebook::react::AnimationDriver { - protected bool ignoreCompletedHandlers_; - protected bool isComplete_; - protected bool isStarted_; - protected double startFrameTimeMs_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag animatedValueTag_; - protected folly::dynamic config_; - protected int currentIteration_; - protected int id_; - protected int iterations_; - protected std::optional endCallback_; - protected virtual bool update(double, bool); - protected void markNodeUpdated(facebook::react::Tag tag); - public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); - public bool getIsComplete() const noexcept; - public facebook::react::Tag getAnimatedValueTag() const noexcept; - public int getId() const noexcept; - public static std::optional getDriverTypeByName(const std::string& driverTypeName); - public std::string debugID() const; - public virtual void updateConfig(folly::dynamic config); - public virtual ~AnimationDriver() = default; - public void runAnimationStep(double renderingTime); - public void startAnimation(); - public void stopAnimation(bool ignoreCompletedHandlers = false); -} - -class facebook::react::AppRegistryBinding { - public AppRegistryBinding() = delete; - public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); -} - class facebook::react::AppleEventBeat : public facebook::react::EventBeat, public facebook::react::RunLoopObserver::Delegate { public AppleEventBeat(const facebook::react::AppleEventBeat&) = delete; public AppleEventBeat(facebook::react::AppleEventBeat&&) = delete; @@ -4206,151 +3547,6 @@ class facebook::react::AsyncArrayBuffer { public ~AsyncArrayBuffer() = default; } -class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { - public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; - public bool isContentEqual(const facebook::react::AttributedString& rhs) const; - public bool isEmpty() const; - public bool operator==(const facebook::react::AttributedString& rhs) const; - public const facebook::react::AttributedString::Fragments& getFragments() const; - public const facebook::react::TextAttributes& getBaseTextAttributes() const; - public facebook::react::AttributedString::Fragments& getFragments(); - public std::string getString() const; - public using Fragments = std::vector; - public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); - public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); - public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); -} - -class facebook::react::AttributedString::Fragment { - public bool isAttachment() const; - public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; - public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; - public facebook::react::ShadowView parentShadowView; - public facebook::react::TextAttributes textAttributes; - public static std::string AttachmentCharacter(); - public std::string string; -} - -class facebook::react::AttributedString::Range { - public int length; - public int location; -} - -class facebook::react::AttributedStringBox { - public AttributedStringBox(); - public AttributedStringBox(const facebook::react::AttributedString& value); - public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; - public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; - public AttributedStringBox(std::shared_ptr opaquePointer); - public const facebook::react::AttributedString& getValue() const; - public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; - public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; - public facebook::react::AttributedStringBox::Mode getMode() const; - public std::shared_ptr getOpaquePointer() const; -} - -enum facebook::react::AttributedStringBox::Mode { - OpaquePointer, - Value, -} - -class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseParagraphProps() = default; - public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool isSelectable; - public bool onTextLayout; - public facebook::react::ParagraphAttributes paragraphAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { - public BaseScrollViewProps() = default; - public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool alwaysBounceHorizontal; - public bool alwaysBounceVertical; - public bool automaticallyAdjustContentInsets; - public bool automaticallyAdjustKeyboardInsets; - public bool automaticallyAdjustsScrollIndicatorInsets; - public bool bounces; - public bool bouncesZoom; - public bool canCancelContentTouches; - public bool centerContent; - public bool directionalLockEnabled; - public bool disableIntervalMomentum; - public bool horizontal; - public bool isInvertedVirtualizedList; - public bool pagingEnabled; - public bool persistentScrollbar; - public bool pinchGestureEnabled; - public bool scrollEnabled; - public bool scrollToOverflowEnabled; - public bool scrollsToTop; - public bool showsHorizontalScrollIndicator; - public bool showsVerticalScrollIndicator; - public bool snapToEnd; - public bool snapToStart; - public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; - public facebook::react::EdgeInsets contentInset; - public facebook::react::EdgeInsets scrollIndicatorInsets; - public facebook::react::Float decelerationRate; - public facebook::react::Float endDraggingSensitivityMultiplier; - public facebook::react::Float maximumZoomScale; - public facebook::react::Float minimumZoomScale; - public facebook::react::Float scrollEventThrottle; - public facebook::react::Float snapToInterval; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::ScrollViewIndicatorStyle indicatorStyle; - public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; - public facebook::react::ScrollViewSnapToAlignment snapToAlignment; - public std::optional maintainVisibleContentPosition; - public std::vector snapToOffsets; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseTextInputProps() = default; - public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool autoFocus; - public bool disableKeyboardShortcuts; - public bool editable; - public bool multiline; - public bool readOnly; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::SharedColor cursorColor; - public facebook::react::SharedColor placeholderTextColor; - public facebook::react::SharedColor selectionColor; - public facebook::react::SharedColor selectionHandleColor; - public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; - public facebook::react::SubmitBehavior submitBehavior; - public facebook::react::TextAttributes getEffectiveTextAttributes(facebook::react::Float fontSizeMultiplier) const; - public int maxLength; - public int mostRecentEventCount; - public std::optional> acceptDragAndDropTypes; - public std::string autoCapitalize; - public std::string defaultValue; - public std::string placeholder; - public std::string text; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextProps { - public BaseTextProps() = default; - public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::TextAttributes textAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextShadowNode { - public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); - public using Attachments = std::vector; -} - -class facebook::react::BaseTextShadowNode::Attachment { - public const facebook::react::ShadowNode* shadowNode; - public size_t fragmentIndex; -} - class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { public void onAccessibilityAction(const std::string& name) const; public void onAccessibilityEscape() const; @@ -4407,82 +3603,6 @@ class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { - public BigStringBuffer(std::unique_ptr script); - public virtual const uint8_t* data() const override; - public virtual size_t size() const override; -} - -class facebook::react::BindingsInstaller { - public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); -} - -class facebook::react::BridgelessNativeMethodCallInvoker : public facebook::react::NativeMethodCallInvoker { - public BridgelessNativeMethodCallInvoker(std::shared_ptr messageQueueThread); - public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; - public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; -} - -class facebook::react::BufferedRuntimeExecutor : public std::enable_shared_from_this { - public BufferedRuntimeExecutor(facebook::react::BufferedRuntimeExecutor::Executor executor); - public facebook::react::RuntimeExecutor asRuntimeExecutor(); - public facebook::react::RuntimeExecutor asWeakRuntimeExecutor(); - public using Executor = std::function; - public using Work = std::function; - public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void execute(facebook::react::SchedulerPriority priority, facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void flush(); -} - -class facebook::react::CSSSyntaxParser { - public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; - public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; - public constexpr CSSSyntaxParser(std::string_view css); - public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); - public constexpr bool isFinished() const; - public constexpr const facebook::react::CSSToken& peek() const; - public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; - public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; - public constexpr void consumeWhitespace(); - template - public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); - template - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); -} - -class facebook::react::CSSToken { - public constexpr CSSToken(const facebook::react::CSSToken& other) = default; - public constexpr CSSToken(facebook::react::CSSToken&& other) = default; - public constexpr CSSToken(facebook::react::CSSTokenType type); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); - public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); - public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; - public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; - public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; - public constexpr facebook::react::CSSTokenType type() const; - public constexpr float numericValue() const; - public constexpr std::string_view stringValue() const; - public constexpr std::string_view unit() const; -} - -class facebook::react::CSSTokenizer { - public constexpr CSSTokenizer(std::string_view characters); - public constexpr facebook::react::CSSToken next(); -} - -class facebook::react::CSSValueParser { - public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; - public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); - public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; - public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); - public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); -} - class facebook::react::CallInvoker { public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; @@ -4492,13 +3612,6 @@ class facebook::react::CallInvoker { public virtual ~CallInvoker() = default; } -class facebook::react::CallInvokerImpl : public facebook::react::CallInvoker { - public CallInvokerImpl(std::shared_ptr bufferedRuntimeExecutor, std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { public facebook::jsi::Function& callback() noexcept; public facebook::jsi::Runtime& runtime() noexcept; @@ -4508,32 +3621,6 @@ class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject public void destroy(); } -class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; -} - -class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; -} - -class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { - public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::Color getColor(); - public virtual void update() override; -} - -class facebook::react::ComponentBuilder { - public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; - public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; - public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); - public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; - public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; - template - public std::shared_ptr build(facebook::react::Element element) const; -} - class facebook::react::ComponentDescriptor { protected facebook::react::ComponentDescriptor::Flavor flavor_; protected facebook::react::EventDispatcher::Weak eventDispatcher_; @@ -4599,17 +3686,6 @@ class facebook::react::ContextContainer { public void insert(const std::string& key, const T& instance) const; } -class facebook::react::CxxNativeModule : public facebook::react::NativeModule { - public CxxNativeModule(std::weak_ptr instance, std::string name, facebook::xplat::module::CxxModule::Provider provider, std::shared_ptr messageQueueThread); - public static void setShouldWarnOnUse(bool value); - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int hookId, folly::dynamic&& args) override; - public virtual folly::dynamic getConstants() override; - public virtual std::string getName() override; - public virtual std::string getSyncMethodName(unsigned int methodId) override; - public virtual std::vector getMethods() override; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; -} - class facebook::react::DebugStringConvertible { } @@ -4621,71 +3697,12 @@ class facebook::react::DebuggingOverlayProps : public facebook::react::HostPlatf public DebuggingOverlayProps(const facebook::react::PropsParserContext& context, const facebook::react::DebuggingOverlayProps& sourceProps, const facebook::react::RawProps& rawProps); } -class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::DevToolsRuntimeSettings { - public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; - public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; - public static facebook::react::DevToolsRuntimeSettings& getInstance(); - public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; - public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; - public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); - public ~DevToolsRuntimeSettings() = default; -} - -class facebook::react::DevToolsRuntimeSettingsModule : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec { - public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); - public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); -} - -class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { - public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::ElementFragment { - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; - public facebook::react::ElementFragment::List children; - public facebook::react::ElementFragment::ReferenceCallback referenceCallback; - public facebook::react::ElementFragment::StateCallback stateCallback; - public facebook::react::Props::Shared props; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public using FinalizeCallback = std::function; - public using List = std::vector; - public using ListOfShared = std::vector; - public using ReferenceCallback = std::function& shadowNode)>; - public using Shared = std::shared_ptr; - public using StateCallback = std::function; -} - class facebook::react::Error { public Error(const char* message); public Error(std::string message); public const std::string& message() const; } -class facebook::react::EventAnimationDriver { - protected const facebook::react::Tag animatedValueTag_; - protected std::vector eventPath_; - public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); - public facebook::react::Tag getAnimatedNodeTag() const; - public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); - public ~EventAnimationDriver() = default; -} - class facebook::react::EventBeat { protected facebook::react::EventBeat::BeatCallback beatCallback_; protected mutable std::atomic isEventBeatRequested_; @@ -4756,15 +3773,6 @@ class facebook::react::EventLogger { public virtual ~EventLogger() = default; } -class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { - public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); - public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; - public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; -} - class facebook::react::EventQueue { protected const std::unique_ptr eventBeat_; protected facebook::react::EventQueueProcessor eventProcessor_; @@ -4813,45 +3821,6 @@ class facebook::react::EventTarget { public void setEnabled(bool enabled); } -class facebook::react::ExecutorDelegate { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; - public virtual std::shared_ptr getModuleRegistry() = 0; - public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; - public virtual ~ExecutorDelegate() = default; -} - -class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - protected virtual void updateConfig(folly::dynamic config) override; - public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::FuseboxTracer { - public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; - public bool isTracing(); - public bool startTracing(); - public bool stopTracing(const std::function& resultCallback); - public bool stopTracingAndWriteToFile(const std::string& path); - public static facebook::react::FuseboxTracer& getFuseboxTracer(); - public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); -} - -class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { - public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; -} - -class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { - public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; - public void setDebuggerName(const std::string& debuggerName); - public void setEnableDebugger(bool enableDebugger); -} - -class facebook::react::HermesInstance { - public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; -} - class facebook::react::HighResDuration { public constexpr HighResDuration(); public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; @@ -4922,26 +3891,12 @@ class facebook::react::IAsyncEventEmitter { public virtual ~IAsyncEventEmitter() noexcept = default; } -class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ImageErrorInfo { public int responseCode; public std::string error; public std::vector> httpResponseHeaders; } -class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onError(const facebook::react::ImageErrorInfo& error) const; - public void onLoad(const facebook::react::ImageSource& source) const; - public void onLoadEnd() const; - public void onLoadStart() const; - public void onPartialLoad() const; - public void onProgress(double progress, int64_t loaded, int64_t total) const; -} - class facebook::react::ImageLoadError { public ImageLoadError(std::shared_ptr error); public std::shared_ptr getError() const; @@ -4953,25 +3908,6 @@ class facebook::react::ImageManager { public virtual ~ImageManager(); } -class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { - public ImageProps() = default; - public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool shouldNotifyLoadEvents; - public facebook::react::EdgeInsets capInsets; - public facebook::react::Float blurRadius; - public facebook::react::Float resizeMultiplier; - public facebook::react::ImageResizeMode resizeMode; - public facebook::react::ImageSource defaultSource; - public facebook::react::ImageSource loadingIndicatorSource; - public facebook::react::ImageSources sources; - public facebook::react::SharedColor overlayColor; - public std::optional progressiveRenderingEnabled; - public std::optional fadeDuration; - public std::optional tintColor; - public std::string resizeMethod; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - class facebook::react::ImageRequest { public ImageRequest(const facebook::react::ImageRequest& other) = delete; public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; @@ -5022,15 +3958,6 @@ class facebook::react::ImageResponseObserverCoordinator { public void removeObserver(const std::shared_ptr& observer) const; } -class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { - public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setImageManager(const std::shared_ptr& imageManager); -} - class facebook::react::ImageSource { public bool operator==(const facebook::react::ImageSource& rhs) const; public facebook::react::Float scale; @@ -5057,24 +3984,12 @@ enum facebook::react::ImageSource::Type { Remote, } -class facebook::react::ImageState { - public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const facebook::react::ImageRequestParams& imageRequestParams); - public const facebook::react::ImageRequest& getImageRequest() const; - public const facebook::react::ImageRequestParams& getImageRequestParams() const; - public facebook::react::ImageSource getImageSource() const; -} - class facebook::react::ImageTelemetry { public ImageTelemetry(const facebook::react::SurfaceId surfaceId); public facebook::react::SurfaceId getSurfaceId() const; public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; } -class facebook::react::InputAccessoryComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public InputAccessoryComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::InputAccessoryEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -5084,42 +3999,6 @@ class facebook::react::InputAccessoryProps : public facebook::react::HostPlatfor public facebook::react::SharedColor backgroundColor; } -class facebook::react::InputAccessoryShadowNode : public facebook::react::ConcreteViewShadowNode { - public InputAccessoryShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public InputAccessoryShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::InputAccessoryState { - public InputAccessoryState(); - public InputAccessoryState(facebook::react::Size viewportSize_); - public const facebook::react::Size viewportSize; -} - -class facebook::react::Instance { - public bool isBatchActive(); - public bool isInspectable(); - public bool supportsProfiling(); - public const facebook::react::ModuleRegistry& getModuleRegistry() const; - public facebook::react::ModuleRegistry& getModuleRegistry(); - public facebook::react::RuntimeExecutor getRuntimeExecutor(); - public std::shared_ptr getJSCallInvoker(); - public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker); - public void callJSCallback(uint64_t callbackId, folly::dynamic&& params); - public void callJSFunction(std::string&& module, std::string&& method, folly::dynamic&& params); - public void handleMemoryPressure(int pressureLevel); - public void initializeBridge(std::unique_ptr callback, std::shared_ptr jsef, std::shared_ptr jsQueue, std::shared_ptr moduleRegistry, facebook::react::jsinspector_modern::HostTarget* inspectorTarget = nullptr); - public void initializeRuntime(); - public void loadRAMBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL, bool loadSynchronously); - public void loadScriptFromString(std::unique_ptr string, std::string sourceURL, bool loadSynchronously); - public void registerBundle(uint32_t bundleId, const std::string& bundlePath); - public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); - public void setSourceURL(std::string sourceURL); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~Instance() override; -} - class facebook::react::InstanceHandle { public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; @@ -5127,43 +4006,6 @@ class facebook::react::InstanceHandle { public using Shared = std::shared_ptr; } -class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { - public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; - public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; - public virtual void update() override; -} - -class facebook::react::IntersectionObserver { - public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); - public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); - public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); - public std::vector getThresholds() const; -} - -class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public IntersectionObserverManager(); - public std::vector takeRecords(); - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); - public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); -} - -class facebook::react::IntersectionObserverState { - public bool isIntersecting() const; - public bool operator==(const facebook::react::IntersectionObserverState& other) const; - public static facebook::react::IntersectionObserverState Initial(); - public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold); - public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold, facebook::react::Float rootThreshold); - public static facebook::react::IntersectionObserverState NotIntersecting(); -} - class facebook::react::JSBigBufferString : public facebook::react::JSBigString { public JSBigBufferString(size_t size); public char* mutableData(); @@ -5203,165 +4045,9 @@ class facebook::react::JSBigString : public facebook::jsi::Buffer { public ~JSBigString() override = default; } -class facebook::react::JSExecutor { - public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); - public virtual bool isInspectable(); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); - public virtual std::string getDescription() = 0; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; - public virtual void destroy(); - public virtual void flush(); - public virtual void handleMemoryPressure(int pressureLevel); - public virtual void initializeRuntime() = 0; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; - public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) = 0; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; - public virtual void* getJavaScriptContext(); - public virtual ~JSExecutor() = default; -} - -class facebook::react::JSExecutorFactory { - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; - public virtual ~JSExecutorFactory() = default; -} - -class facebook::react::JSIExecutor : public facebook::react::JSExecutor { - public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); - public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); - public using RuntimeInstaller = std::function; - public virtual bool isInspectable() override; - public virtual std::string getDescription() override; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; - public virtual void flush() override; - public virtual void handleMemoryPressure(int pressureLevel) override; - public virtual void initializeRuntime() override; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; - public virtual void setBundleRegistry(std::unique_ptr r) override; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; - public virtual void* getJavaScriptContext() override; -} - -class facebook::react::JSINativeModules { - public JSINativeModules(std::shared_ptr moduleRegistry); - public facebook::jsi::Value getModule(facebook::jsi::Runtime& rt, const facebook::jsi::PropNameID& name); - public void reset(); -} - -class facebook::react::JSIRuntimeHolder : public facebook::react::JSRuntime { - public JSIRuntimeHolder(std::unique_ptr runtime); - public virtual facebook::jsi::Runtime& getRuntime() noexcept override; -} - -class facebook::react::JSModulesUnbundle { - public JSModulesUnbundle(); - public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const = 0; - public virtual ~JSModulesUnbundle() = default; -} - -class facebook::react::JSModulesUnbundle::ModuleNotFound : public std::out_of_range { - public ModuleNotFound(uint32_t moduleId); -} - -struct facebook::react::JSModulesUnbundle::Module { - public std::string code; - public std::string name; -} - -class facebook::react::JSRuntime { - public virtual facebook::jsi::Runtime& getRuntime() noexcept = 0; - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); - public virtual ~JSRuntime() = default; -} - -class facebook::react::JSRuntimeFactory { - public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept = 0; - public virtual ~JSRuntimeFactory() = default; -} - -class facebook::react::JsErrorHandler { - public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); - public bool hasHandledFatalError(); - public bool inErrorHandler(); - public bool isRuntimeReady(); - public using OnJsError = std::function; - public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); - public void notifyOfFatalError(); - public void registerErrorListener(const std::function& listener); - public void setRuntimeReady(); - public ~JsErrorHandler(); -} - -struct facebook::react::JsErrorHandler::ProcessedError { - public bool isFatal; - public facebook::jsi::Object extraData; - public int id; - public std::optional componentStack; - public std::optional name; - public std::optional originalMessage; - public std::string message; - public std::vector stack; -} - -struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { - public std::optional column; - public std::optional lineNumber; - public std::optional file; - public std::string methodName; -} - -class facebook::react::LayoutAnimationCallbackWrapper { - public LayoutAnimationCallbackWrapper(); - public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); - public void call(facebook::jsi::Runtime& runtime) const; -} - -class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; - public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); -} - -class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { - protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected facebook::react::ShadowView createInterpolatedShadowView(facebook::react::Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; - protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; - protected mutable std::mutex currentAnimationMutex_; - protected mutable std::optional currentAnimation_; - protected mutable std::vector inflightAnimations_; - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; - protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; - protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; - public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); - public virtual bool shouldAnimateFrame() const override; - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; - public void setClockNow(std::function now); - public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; - public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; -} - -class facebook::react::LayoutAnimationStatusDelegate { - public virtual void onAllAnimationsComplete() = 0; - public virtual void onAnimationStarted() = 0; - public virtual ~LayoutAnimationStatusDelegate() = default; -} - class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { } -class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; -} - class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); @@ -5394,44 +4080,6 @@ struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { public bool includeViewportOffset; } -class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { - public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); - public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); - public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; - public virtual void lockRevisions() override; - public virtual void unlockRevisions() override; -} - -class facebook::react::LeakChecker { - public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); - public void stopSurface(facebook::react::SurfaceId surfaceId); - public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; -} - -class facebook::react::LegacyViewManagerInteropComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public LegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public LegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::ComponentHandle getComponentHandle() const override; - public virtual facebook::react::ComponentName getComponentName() const override; -} - -class facebook::react::LegacyViewManagerInteropState { - public std::shared_ptr coordinator; -} - -class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { - public LegacyViewManagerInteropViewProps() = default; - public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public const folly::dynamic otherProps; -} - -class facebook::react::LineMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::Size size; -} - class facebook::react::LongLivedObject { protected LongLivedObject(facebook::jsi::Runtime& runtime); protected facebook::jsi::Runtime& runtime_; @@ -5513,25 +4161,6 @@ class facebook::react::MapBufferBuilder { public void putString(facebook::react::MapBuffer::Key key, const std::string& value); } -class facebook::react::MergedValueDispatcher { - public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); - public using DispatchFunction = std::function&&)>; - public using MergedValueFunction = std::function&& tagToProps)>; - public void dispatch(const std::unordered_map& value); -} - -class facebook::react::MessageQueueThread { - public virtual void quitSynchronous() = 0; - public virtual void runOnQueue(std::function&&) = 0; - public virtual void runOnQueueSync(std::function&&) = 0; - public virtual ~MessageQueueThread() = default; -} - -class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ModalHostViewEventEmitter : public facebook::react::BaseViewEventEmitter { public static char const* toString(const facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation value); public void onDismiss(facebook::react::ModalHostViewEventEmitter::OnDismiss value) const; @@ -5573,95 +4202,6 @@ class facebook::react::ModalHostViewProps : public facebook::react::HostPlatform public int identifier; } -class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::ModalHostViewState { - public ModalHostViewState(); - public ModalHostViewState(facebook::react::Size screenSize_); - public const facebook::react::Size screenSize; - public using Shared = std::shared_ptr; -} - -class facebook::react::ModuleRegistry { - public ModuleRegistry(std::vector> modules, facebook::react::ModuleRegistry::ModuleNotFoundCallback callback = nullptr); - public facebook::react::MethodCallResult callSerializableNativeHook(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params); - public std::optional getConfig(const std::string& name); - public std::string getModuleName(unsigned int moduleId); - public std::string getModuleSyncMethodName(unsigned int moduleId, unsigned int methodId); - public std::vector moduleNames(); - public using ModuleNotFoundCallback = std::function; - public void callNativeMethod(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params, int callId); - public void registerModules(std::vector> modules); -} - -class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { - public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MountingCoordinator { - public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); - public bool hasPendingTransactions() const; - public bool waitForTransaction(std::chrono::duration timeout) const; - public const facebook::react::TelemetryController& getTelemetryController() const; - public facebook::react::ShadowTreeRevision getBaseRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional pullTransaction(bool willPerformAsynchronously = false) const; - public void didPerformAsyncTransactions() const; - public void setMountingOverrideDelegate(std::weak_ptr delegate) const; -} - -class facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const = 0; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; - public virtual ~MountingOverrideDelegate() = default; -} - -class facebook::react::MountingTransaction { - public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; - public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; - public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); - public const facebook::react::ShadowViewMutationList& getMutations() const; - public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; - public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; - public facebook::react::MountingTransaction::Number getNumber() const; - public facebook::react::ShadowViewMutationList getMutations(); - public facebook::react::SurfaceId getSurfaceId() const; - public facebook::react::TransactionTelemetry& getTelemetry() const; - public using Number = int64_t; - public void mergeWith(facebook::react::MountingTransaction&& transaction); -} - -class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { - public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MutationObserver { - public MutationObserver(const facebook::react::MutationObserver&) = delete; - public MutationObserver(facebook::react::MutationObserver&&) = default; - public MutationObserver(facebook::react::MutationObserverId mutationObserverId); - public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; - public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; - public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); - public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; -} - -class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { - public MutationObserverManager(); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); - public void disconnect(facebook::react::UIManager& uiManager); - public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); - public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); -} - class facebook::react::NSDataBigString : public facebook::react::JSBigString { public NSDataBigString(NSData* data); public virtual bool isAscii() const override; @@ -5689,68 +4229,6 @@ class facebook::react::NativeAnimatedModuleSpecJSI : public facebook::react::Obj public NativeAnimatedModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { - public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; - public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; - public bool commitProps(); - public bool hasManagedProps() const noexcept; - public bool isOnRenderThread() const noexcept; - public bool useSharedAnimatedBackend() const noexcept; - public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); - public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); - public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; - public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; - public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; - public std::optional getValue(facebook::react::Tag tag) noexcept; - public std::shared_ptr getEventEmitterListener() noexcept; - public using DirectManipulationCallback = std::function; - public using FabricCommitCallback = std::function&)>; - public using FrameRateListenerCallback = std::function; - public using ResolvePlatformColor = std::function; - public using StartOnRenderCallback = std::function&&, bool isAsync)>; - public using StopOnRenderCallback = std::function; - public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; - public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; - public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void dropAnimatedNode(facebook::react::Tag tag) noexcept; - public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); - public void flattenAnimatedNodeOffset(facebook::react::Tag tag); - public void flushAnimatedNodesCreatedAsync() noexcept; - public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); - public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; - public void onRender(); - public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; - public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; - public void restoreDefaultValues(facebook::react::Tag tag) noexcept; - public void scheduleOnUI(facebook::react::UiTask&& task); - public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; - public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); - public void setAnimatedNodeValue(facebook::react::Tag tag, double value); - public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; - public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; - public void startRenderCallbackIfNeeded(bool isAsync); - public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; - public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; - public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; - public ~NativeAnimatedNodesManager() noexcept; - template >> - public T* getAnimatedNode(facebook::react::Tag tag) const; -} - -class facebook::react::NativeAnimatedNodesManagerProvider { - public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); - public std::shared_ptr getEventEmitterListener(); - public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); - public void addEventEmitterListener(const std::shared_ptr& listener); -} - class facebook::react::NativeAnimatedTurboModuleSpecJSI : public facebook::react::ObjCTurboModule { public NativeAnimatedTurboModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5767,41 +4245,10 @@ class facebook::react::NativeBlobModuleSpecJSI : public facebook::react::ObjCTur public NativeBlobModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeCPUTime : public facebook::react::NativeCPUTimeCxxSpec { - public NativeCPUTime(std::shared_ptr jsInvoker); - public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); - public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); -} - class facebook::react::NativeClipboardSpecJSI : public facebook::react::ObjCTurboModule { public NativeClipboardSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeDOM : public facebook::react::NativeDOMCxxSpec { - public NativeDOM(std::shared_ptr jsInvoker); - public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); - public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); - public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); - public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); - public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); - public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); - public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); - public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); - public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); -} - class facebook::react::NativeDevLoadingViewSpecJSI : public facebook::react::ObjCTurboModule { public NativeDevLoadingViewSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5842,12 +4289,6 @@ class facebook::react::NativeI18nManagerSpecJSI : public facebook::react::ObjCTu public NativeI18nManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeIdleCallbacks : public facebook::react::NativeIdleCallbacksCxxSpec { - public NativeIdleCallbacks(std::shared_ptr jsInvoker); - public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); - public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); -} - class facebook::react::NativeImageEditorSpecJSI : public facebook::react::ObjCTurboModule { public NativeImageEditorSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5860,15 +4301,6 @@ class facebook::react::NativeImageStoreIOSSpecJSI : public facebook::react::ObjC public NativeImageStoreIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeIntersectionObserver : public facebook::react::NativeIntersectionObserverCxxSpec { - public NativeIntersectionObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeJSCHeapCaptureSpecJSI : public facebook::react::ObjCTurboModule { public NativeJSCHeapCaptureSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5891,101 +4323,10 @@ class facebook::react::NativeMethodCallInvoker { public virtual ~NativeMethodCallInvoker() = default; } -class facebook::react::NativeMicrotasks : public facebook::react::NativeMicrotasksCxxSpec { - public NativeMicrotasks(std::shared_ptr jsInvoker); - public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); -} - -class facebook::react::NativeModule { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& args) = 0; - public virtual folly::dynamic getConstants() = 0; - public virtual std::string getName() = 0; - public virtual std::string getSyncMethodName(unsigned int methodId) = 0; - public virtual std::vector getMethods() = 0; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) = 0; - public virtual ~NativeModule() = default; -} - -class facebook::react::NativeModulePerfLogger { - public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; - public virtual void asyncMethodCallBatchPreprocessStart() = 0; - public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; - public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual ~NativeModulePerfLogger() = default; -} - -class facebook::react::NativeMutationObserver : public facebook::react::NativeMutationObserverCxxSpec { - public NativeMutationObserver(std::shared_ptr jsInvoker); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); - public void disconnect(facebook::jsi::Runtime& runtime); - public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); - public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); -} - class facebook::react::NativeNetworkingIOSSpecJSI : public facebook::react::ObjCTurboModule { public NativeNetworkingIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativePerformance : public facebook::react::NativePerformanceCxxSpec { - public NativePerformance(std::shared_ptr jsInvoker); - public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); - public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); - public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); - public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); - public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); - public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); - public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); - public std::vector getEntries(facebook::jsi::Runtime& rt); - public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); - public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); - public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); - public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); - public std::vector> getEventCounts(facebook::jsi::Runtime& rt); - public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); - public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); - public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); - public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); - public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); -} - class facebook::react::NativePlatformConstantsIOSSpecJSI : public facebook::react::ObjCTurboModule { public NativePlatformConstantsIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -6006,15 +4347,6 @@ class facebook::react::NativeRedBoxSpecJSI : public facebook::react::ObjCTurboMo public NativeRedBoxSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeResizeObserver : public facebook::react::NativeResizeObserverCxxSpec { - public NativeResizeObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeResizeObserverObserveOptions& options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::NativeResizeObserverNotifyCallback notifyResizeObserversFunction); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserve(facebook::jsi::Runtime& runtime, facebook::react::ResizeObserverObserverId resizeObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::ObjCTurboModule { public NativeSegmentFetcherSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -6043,26 +4375,6 @@ class facebook::react::NativeTimingSpecJSI : public facebook::react::ObjCTurboMo public NativeTimingSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeToJsBridge { - public NativeToJsBridge(facebook::react::JSExecutorFactory* jsExecutorFactory, std::shared_ptr registry, std::shared_ptr jsQueue, std::shared_ptr callback); - public bool isBatchActive(); - public bool isInspectable(); - public facebook::react::jsinspector_modern::RuntimeTargetDelegate& getInspectorTargetDelegate(); - public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker) const; - public virtual ~NativeToJsBridge(); - public void callFunction(std::string&& module, std::string&& method, folly::dynamic&& arguments); - public void destroy(); - public void handleMemoryPressure(int pressureLevel); - public void initializeRuntime(); - public void invokeCallback(double callbackId, folly::dynamic&& arguments); - public void loadBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); - public void loadBundleSync(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); - public void registerBundle(uint32_t bundleId, const std::string& bundlePath); - public void runOnExecutorQueue(std::function&& task) noexcept; - public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); - public void* getJavaScriptContext(); -} - class facebook::react::NativeVibrationSpecJSI : public facebook::react::ObjCTurboModule { public NativeVibrationSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -6079,24 +4391,6 @@ class facebook::react::NativeWebSocketModuleSpecJSI : public facebook::react::Ob public NativeWebSocketModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NetworkReporter { - public bool isDebuggingEnabled() const; - public static facebook::react::NetworkReporter& getInstance(); - public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); - public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); - public void reportRequestFailed(const std::string& requestId, bool cancelled) const; - public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); - public void reportResponseEnd(const std::string& requestId, int encodedDataLength); - public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); - public void reportWebSocketClosed(const std::string& requestId) const; - public void reportWebSocketCreated(const std::string& requestId, const std::string& url) const; - public void reportWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t statusCode, const facebook::react::Headers& headers) const; - public void reportWebSocketMessageReceived(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketMessageSent(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::Headers& headers) const; - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - class facebook::react::ObjCInteropTurboModule : public facebook::react::ObjCTurboModule { protected virtual NSString* getArgumentTypeName(facebook::jsi::Runtime& runtime, NSString* methodName, int argIndex) override; protected virtual facebook::jsi::Value convertReturnIdToJSIValue(facebook::jsi::Runtime& runtime, const char* methodName, facebook::react::TurboModuleMethodValueKind returnType, id result) override; @@ -6133,179 +4427,10 @@ struct facebook::react::ObjCTurboModule::InitParams { public std::string moduleName; } -class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { - public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(std::string propKey, folly::dynamic& props); -} - -class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { - protected std::vector inputNodes_; - public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); -} - -class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { - public bool adjustsFontSizeToFit; - public bool includeFontPadding; - public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; - public facebook::react::EllipsizeMode ellipsizeMode; - public facebook::react::Float minimumFontScale; - public facebook::react::Float minimumFontSize; - public facebook::react::HyphenationFrequency android_hyphenationFrequency; - public facebook::react::TextBreakStrategy textBreakStrategy; - public facebook::react::TextWidthMode textWidthMode; - public int maximumNumberOfLines; - public std::optional textAlignVertical; -} - -class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; -} - -class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; - public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - -class facebook::react::ParagraphShadowNode::Content { - public facebook::react::AttributedString attributedString; - public facebook::react::BaseTextShadowNode::Attachments attachments; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::PerformanceEntryBuffer { - public PerformanceEntryBuffer() = default; - public facebook::react::HighResDuration durationThreshold; - public size_t droppedEntriesCount; - public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; - public virtual void clear() = 0; - public virtual void clear(const std::string& name) = 0; - public virtual void getEntries(std::vector& target) const = 0; - public virtual void getEntries(std::vector& target, const std::string& name) const = 0; - public virtual ~PerformanceEntryBuffer() = default; -} - -class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryCircularBuffer(size_t size); - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; - public ~PerformanceEntryCircularBuffer() override = default; -} - -class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryKeyedBuffer() = default; - public std::optional find(const std::string& name) const; - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; -} - -class facebook::react::PerformanceEntryReporter { - public PerformanceEntryReporter(); - public const std::unordered_map& getEventCounts() const; - public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); - public static std::shared_ptr& getInstance(); - public static std::vector getSupportedEntryTypes(); - public std::optional getMarkTime(const std::string& markName) const; - public std::vector getEntries() const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; - public using UserTimingDetailProvider = std::function; - public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void clearEntries(); - public void clearEntries(facebook::react::PerformanceEntryType entryType); - public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); - public void clearEventCounts(); - public void getEntries(std::vector& dest) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); - public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); - public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); -} - -class facebook::react::PerformanceEntryReporterEventListener { - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); - public virtual ~PerformanceEntryReporterEventListener() = default; -} - -class facebook::react::PerformanceObserver : public std::enable_shared_from_this { - public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public std::vector takeRecords(); - public uint32_t getDroppedEntriesCount() noexcept; - public void disconnect() noexcept; - public void handleEntry(const facebook::react::PerformanceEntry& entry); - public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); - public void observe(std::unordered_set types); - public ~PerformanceObserver() = default; -} - -class facebook::react::PerformanceObserverRegistry { - public PerformanceObserverRegistry() = default; - public void addObserver(std::shared_ptr observer); - public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); - public void removeObserver(std::shared_ptr observer); -} - -class facebook::react::PlatformRunLoopObserver : public facebook::react::RunLoopObserver { - public PlatformRunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner, CFRunLoopRef runLoop); - public virtual bool isOnRunLoopThread() const noexcept override; - public ~PlatformRunLoopObserver(); -} - -class facebook::react::PlatformTimerRegistry { - public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; - public virtual void createTimer(uint32_t timerID, double delayMS) = 0; - public virtual void deleteTimer(uint32_t timerID) = 0; - public virtual void quit(); - public virtual void setTimerManager(std::weak_ptr); - public virtual ~PlatformTimerRegistry() noexcept = default; -} - -class facebook::react::PointerEventsProcessor { - public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); - public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); - public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); -} - -class facebook::react::PointerHoverTracker { - public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); - public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; - public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; - public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; - public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; - public using EventPath = std::vector>; - public using Unique = std::unique_ptr; - public void markAsOld(); -} - -class facebook::react::PreparedTextCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::Float pointScaleFactor; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; +class facebook::react::PlatformRunLoopObserver : public facebook::react::RunLoopObserver { + public PlatformRunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner, CFRunLoopRef runLoop); + public virtual bool isOnRunLoopThread() const noexcept override; + public ~PlatformRunLoopObserver(); } class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { @@ -6319,21 +4444,6 @@ class facebook::react::Props : public virtual facebook::react::Sealable, public public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { - public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::SurfaceId connectedRootTag() const; - public facebook::react::Tag connectedViewTag() const; - public folly::dynamic props(); - public virtual void update() override; - public void collectProps(); - public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); - public void connectToView(facebook::react::Tag viewTag); - public void disconnectFromShadowNodeFamily(); - public void disconnectFromView(facebook::react::Tag viewTag); - public void restoreDefaultValues(); - public void update(bool forceFabricCommit); -} - class facebook::react::PullToRefreshViewEventEmitter : public facebook::react::BaseViewEventEmitter { public void onRefresh(facebook::react::PullToRefreshViewEventEmitter::OnRefresh value) const; } @@ -6351,30 +4461,12 @@ class facebook::react::PullToRefreshViewProps : public facebook::react::HostPlat public std::string title; } -class facebook::react::RAMBundleRegistry { - public RAMBundleRegistry(facebook::react::RAMBundleRegistry&&) = default; - public RAMBundleRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory = nullptr); - public facebook::react::JSModulesUnbundle::Module getModule(uint32_t bundleId, uint32_t moduleId); - public facebook::react::RAMBundleRegistry& operator=(facebook::react::RAMBundleRegistry&&) = default; - public static constexpr uint32_t MAIN_BUNDLE_ID; - public virtual ~RAMBundleRegistry() = default; - public void registerBundle(uint32_t bundleId, std::string bundlePath); -} - class facebook::react::RCTBlobCollector : public facebook::jsi::HostObject { public RCTBlobCollector(RCTBlobManager* blobManager, const std::string& blobId); public static void install(facebook::jsi::Runtime& runtime, RCTBlobManager* blobManager); public ~RCTBlobCollector(); } -class facebook::react::RCTHermesInstance : public facebook::react::JSRuntimeFactory { - public RCTHermesInstance(); - public RCTHermesInstance(facebook::react::CrashManagerProvider crashManagerProvider); - public RCTHermesInstance(facebook::react::CrashManagerProvider crashManagerProvider, bool allocInOldGenBeforeTTI); - public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept override; - public ~RCTHermesInstance() override; -} - class facebook::react::RCTImageResponseObserverProxy : public facebook::react::ImageResponseObserver { public RCTImageResponseObserverProxy(id delegate = nil); public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const override; @@ -6382,12 +4474,6 @@ class facebook::react::RCTImageResponseObserverProxy : public facebook::react::I public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const override; } -class facebook::react::RCTJscInstance : public facebook::react::JSRuntimeFactory { - public RCTJscInstance(); - public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept override; - public ~RCTJscInstance(); -} - class facebook::react::RCTMessageThread : public facebook::react::MessageQueueThread, public std::enable_shared_from_this { public RCTMessageThread(NSRunLoop* runLoop, RCTJavaScriptCompleteBlock errorBlock); public virtual void quitSynchronous() override; @@ -6435,15 +4521,6 @@ class facebook::react::RawPropsParser { public void prepare() noexcept; } -class facebook::react::RawTextProps : public facebook::react::Props { - public RawTextProps() = default; - public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public std::string text; -} - -class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { -} - class facebook::react::RawValue { public RawValue() noexcept; public RawValue(const folly::dynamic& dynamic) noexcept; @@ -6460,258 +4537,6 @@ class facebook::react::RawValue { public operator T() const; } -class facebook::react::ReactInstance { - public ReactInstance(const facebook::react::ReactInstance&) = delete; - public ReactInstance(facebook::react::ReactInstance&&) = delete; - public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); - public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; - public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; - public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; - public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; - public std::shared_ptr createJSCallInvoker() noexcept; - public std::shared_ptr getRuntimeScheduler() noexcept; - public using BindingsInstallFunc = std::function; - public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); - public void handleMemoryPressureJs(int pressureLevel); - public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; - public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); - public void registerSegment(uint32_t segmentId, const std::string& segmentPath); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~ReactInstance() noexcept override; -} - -struct facebook::react::ReactInstance::JSRuntimeFlags { - public bool isProfiling; - public const std::string runtimeDiagnosticFlags; -} - -class facebook::react::ReactPerfettoLogger { - public static bool isTracing(); - public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); - public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); -} - -class facebook::react::ResizeObserver { - public ResizeObserver(facebook::react::ResizeObserverObserverId resizeObserverId, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions, uint64_t observationSequence); - public bool hasDeliveredDetachedState() const; - public bool needsInitialDeliveryCheck() const; - public facebook::react::ResizeObservationResult computeActiveObservation(const facebook::react::RootShadowNode& rootShadowNode) const; - public facebook::react::ResizeObserverObserverId getResizeObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public uint64_t getObservationSequence() const; - public void markAsReported(const facebook::react::ResizeObservationResult& result); - public void updateDetachedState(bool detached); -} - -class facebook::react::ResizeObserverManager : public facebook::react::UIManagerCommitHook, public facebook::react::RuntimeSchedulerResizeObserverDelegate { - public ResizeObserverManager(); - public std::vector takeRecords(); - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyResizeObserversFunction); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions); - public void unobserve(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily); -} - -class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { - public RootProps() = default; - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; -} - -class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { - public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public bool layoutIfNeeded(std::vector* affectedNodes = {}); - public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using Shared = std::shared_ptr; - public using Unshared = std::shared_ptr; - public virtual facebook::react::Transform getTransform() const override; - public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; -} - -class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { - public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::RunLoopObserver { - protected const facebook::react::RunLoopObserver::Activity activities_; - protected const facebook::react::RunLoopObserver::WeakOwner owner_; - protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; - protected mutable std::atomic enabled_; - protected virtual void startObserving() const noexcept = 0; - protected virtual void stopObserving() const noexcept = 0; - protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; - public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; - public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; - public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; - public using Owner = std::shared_ptr; - public using WeakOwner = std::weak_ptr; - public virtual bool isOnRunLoopThread() const noexcept = 0; - public virtual ~RunLoopObserver() noexcept = default; - public void disable() const noexcept; - public void enable() const noexcept; - public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; -} - -class facebook::react::RunLoopObserver::Delegate { - public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; - public virtual ~Delegate() noexcept = default; -} - -enum facebook::react::RunLoopObserver::Activity : int32_t { - AfterWaiting, - BeforeWaiting, - None, -} - -class facebook::react::RuntimeScheduler : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; - public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); - public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; - public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; - public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeSchedulerBase : public facebook::hermes::IEventLoopControl { - public virtual bool getShouldYield() noexcept = 0; - public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; - public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; - public virtual void scheduleTask(const std::function& task) = 0; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) = 0; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; - public virtual ~RuntimeSchedulerBase() = default; -} - -class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { - public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); - public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public std::shared_ptr getRuntimeScheduler() noexcept; - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; -} - -class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { - public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - -class facebook::react::RuntimeSchedulerEventTimingDelegate { - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerEventTimingDelegate() = default; -} - -class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; -} - -class facebook::react::RuntimeSchedulerResizeObserverDelegate { - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) = 0; - public virtual ~RuntimeSchedulerResizeObserverDelegate() = default; -} - -class facebook::react::RuntimeScheduler_Legacy : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Legacy(const facebook::react::RuntimeScheduler_Legacy&) = delete; - public RuntimeScheduler_Legacy(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Legacy(facebook::react::RuntimeScheduler_Legacy&&) = delete; - public facebook::react::RuntimeScheduler_Legacy& operator=(const facebook::react::RuntimeScheduler_Legacy&) = delete; - public facebook::react::RuntimeScheduler_Legacy& operator=(facebook::react::RuntimeScheduler_Legacy&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; - public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { -} - class facebook::react::SafeAreaViewEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -6720,105 +4545,6 @@ class facebook::react::SafeAreaViewProps : public facebook::react::HostPlatformV public SafeAreaViewProps(const facebook::react::PropsParserContext& context, const facebook::react::SafeAreaViewProps& sourceProps, const facebook::react::RawProps& rawProps); } -class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { -} - -class facebook::react::SafeAreaViewState { - public facebook::react::EdgeInsets padding; -} - -class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { - public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); - public facebook::react::SchedulerDelegate* getDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr getUIManager() const; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidClearPendingSnapshots() override; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) override; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; - public void addEventListener(std::shared_ptr listener); - public void animationTick() const; - public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void setDelegate(facebook::react::SchedulerDelegate* delegate); - public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public ~Scheduler() override; -} - -class facebook::react::SchedulerDelegate { - public virtual void schedulerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidClearPendingSnapshots() = 0; - public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; - public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void schedulerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~SchedulerDelegate() noexcept = default; -} - -class facebook::react::ScopedShadowTreeRevisionLock { - public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ~ScopedShadowTreeRevisionLock() noexcept; -} - -class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { - public using EndDragMetrics = facebook::react::ScrollEndDragEvent; - public using Metrics = facebook::react::ScrollEvent; - public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; - public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; - public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; -} - -class facebook::react::ScrollViewMaintainVisibleContentPosition { - public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; - public int minIndexForVisible; - public std::optional autoscrollToTopThreshold; -} - -class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); - public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; -} - -class facebook::react::ScrollViewState { - public ScrollViewState() = default; - public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); - public bool disableViewCulling; - public facebook::react::Point contentOffset; - public facebook::react::Rect contentBoundingRect; - public facebook::react::Size getContentSize() const; - public int scrollAwayPaddingTop; -} - class facebook::react::Sealable { public Sealable(); public Sealable(const facebook::react::Sealable& other); @@ -6831,22 +4557,6 @@ class facebook::react::Sealable { public ~Sealable() noexcept; } -class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { - public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static constexpr facebook::react::ComponentName Name(); - public static facebook::react::ComponentHandle Handle(); -} - -class facebook::react::Selection { - public int end; - public int start; -} - class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { protected facebook::react::Props::Shared props_; protected facebook::react::ShadowNodeTraits traits_; @@ -6946,63 +4656,6 @@ enum facebook::react::ShadowNodeTraits::Trait : int32_t { ViewKind, } -class facebook::react::ShadowTree { - public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); - public bool promoteReactRevision() const; - public facebook::react::CommitMode getCommitMode() const; - public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::ShadowTreeRevision getCurrentRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional getCurrentReactRevision() const; - public std::shared_ptr getMountingCoordinator() const; - public using CommitMode = facebook::react::ShadowTreeCommitMode; - public using CommitOptions = facebook::react::ShadowTreeCommitOptions; - public using CommitSource = facebook::react::ShadowTreeCommitSource; - public using CommitStatus = facebook::react::ShadowTreeCommitStatus; - public using Unique = std::unique_ptr; - public void commitEmptyTree() const; - public void mergeReactRevision() const; - public void notifyDelegatesOfUpdates() const; - public void setCommitMode(facebook::react::CommitMode commitMode) const; - public ~ShadowTree(); -} - -class facebook::react::ShadowTreeDelegate { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) const; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; - public virtual ~ShadowTreeDelegate() noexcept = default; -} - -class facebook::react::ShadowTreeRegistry { - public ShadowTreeRegistry() = default; - public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; - public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; - public void add(std::unique_ptr&& shadowTree) const; - public void enumerate(const std::function& callback) const; - public ~ShadowTreeRegistry(); -} - -class facebook::react::ShadowTreeRevision { - public facebook::react::RootShadowNode::Shared rootShadowNode; - public facebook::react::ShadowTreeRevision::Number number; - public facebook::react::TransactionTelemetry telemetry; - public using Number = int64_t; -} - -class facebook::react::ShadowTreeRevisionConsistencyManager { - public virtual void lockRevisions() = 0; - public virtual void unlockRevisions() = 0; - public virtual ~ShadowTreeRevisionConsistencyManager() = default; -} - -class facebook::react::ShadowTreeRevisionProvider { - public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual ~ShadowTreeRevisionProvider() = default; -} - class facebook::react::SharedColor { public SharedColor(); public SharedColor(facebook::react::Color color); @@ -7014,15 +4667,6 @@ class facebook::react::SharedColor { public std::string toString() const noexcept; } -class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::StackTraceParser { - public static std::vector parse(bool isHermes, const std::string& stackString); -} - class facebook::react::State { protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); @@ -7046,90 +4690,6 @@ class facebook::react::StateUpdate { public using FailureCallback = std::function; } -class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { - public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool isLayoutStyleUpdated() const noexcept; - public void collectViewUpdates(folly::dynamic& props); -} - -class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::SurfaceHandler { - public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; - public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; - public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; - public facebook::react::DisplayMode getDisplayMode() const noexcept; - public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; - public facebook::react::LayoutContext getLayoutContext() const noexcept; - public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; - public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; - public facebook::react::SurfaceHandler::Status getStatus() const noexcept; - public facebook::react::SurfaceId getSurfaceId() const noexcept; - public folly::dynamic getProps() const noexcept; - public std::shared_ptr getMountingCoordinator() const noexcept; - public std::string getModuleName() const noexcept; - public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; - public virtual ~SurfaceHandler() noexcept; - public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public void setContextContainer(std::shared_ptr contextContainer) const noexcept; - public void setProps(const folly::dynamic& props) const noexcept; - public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; - public void start() const noexcept; - public void stop() const noexcept; -} - -enum facebook::react::SurfaceHandler::Status { - Registered, - Running, - Unregistered, -} - -class facebook::react::SurfaceManager { - public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; - public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; - public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; - public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; - public std::unordered_set getRunningSurfaces() const noexcept; - public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; - public void stopAllSurfaces() noexcept; - public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; - public ~SurfaceManager() noexcept; -} - -struct facebook::react::SurfaceManager::SurfaceProps { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; - public facebook::react::SurfaceId surfaceId; - public folly::dynamic props; - public std::string moduleName; -} - -class facebook::react::SurfaceTelemetry { - public facebook::react::TelemetryDuration getCommitTime() const; - public facebook::react::TelemetryDuration getDiffTime() const; - public facebook::react::TelemetryDuration getLayoutTime() const; - public facebook::react::TelemetryDuration getMountTime() const; - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public int getLastRevisionNumber() const; - public int getNumberOfMutations() const; - public int getNumberOfTextMeasurements() const; - public int getNumberOfTransactions() const; - public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; - public std::vector getRecentTransactionTelemetries() const; - public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); -} - -class facebook::react::SwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public SwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::SwitchEventEmitter : public facebook::react::BaseViewEventEmitter { public void onChange(facebook::react::SwitchEventEmitter::OnChange value) const; } @@ -7152,207 +4712,6 @@ class facebook::react::SwitchProps : public facebook::react::HostPlatformViewPro public facebook::react::SharedColor trackColorForTrue; } -class facebook::react::SwitchShadowNode : public facebook::react::ConcreteViewShadowNode { - public SwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; -} - -class facebook::react::TaskPriorityComparer { - public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); -} - -class facebook::react::TelemetryController { - public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; -} - -class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { - public bool operator==(const facebook::react::TextAttributes& rhs) const; - public facebook::react::Float fontSize; - public facebook::react::Float fontSizeMultiplier; - public facebook::react::Float letterSpacing; - public facebook::react::Float lineHeight; - public facebook::react::Float maxFontSizeMultiplier; - public facebook::react::Float opacity; - public facebook::react::Float textShadowRadius; - public facebook::react::SharedColor backgroundColor; - public facebook::react::SharedColor foregroundColor; - public facebook::react::SharedColor textDecorationColor; - public facebook::react::SharedColor textShadowColor; - public static facebook::react::TextAttributes defaultTextAttributes(); - public std::optional allowFontScaling; - public std::optional isHighlighted; - public std::optional isPressable; - public std::optional accessibilityRole; - public std::optional dynamicTypeRamp; - public std::optional fontStyle; - public std::optional fontVariant; - public std::optional fontWeight; - public std::optional layoutDirection; - public std::optional lineBreakMode; - public std::optional lineBreakStrategy; - public std::optional role; - public std::optional textShadowOffset; - public std::optional alignment; - public std::optional textDecorationLineType; - public std::optional textDecorationStyle; - public std::optional textTransform; - public std::optional baseWritingDirection; - public std::optional fontVariationSettings; - public std::string fontFamily; - public std::vector textEffects; - public void apply(facebook::react::TextAttributes textAttributes); -} - -class facebook::react::TextEffectProps : public facebook::react::Props { - public TextEffectProps() = default; - public TextEffectProps(const facebook::react::PropsParserContext& context, const facebook::react::TextEffectProps& sourceProps, const facebook::react::RawProps& rawProps); - public folly::dynamic effectProps; - public std::string effectName; -} - -class facebook::react::TextEffectShadowNode : public facebook::react::ConcreteShadowNode { -} - -class facebook::react::TextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public TextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; - public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; -} - -struct facebook::react::TextInputEventEmitter::KeyPressMetrics { - public int eventCount; - public std::string text; -} - -struct facebook::react::TextInputEventEmitter::Metrics { - public bool responderIgnoreScroll; - public facebook::react::AttributedString::Range selectionRange; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public facebook::react::Size layoutMeasurement; - public facebook::react::Tag target; - public int eventCount; - public std::string text; -} - -class facebook::react::TextInputProps : public facebook::react::BaseTextInputProps { - public TextInputProps() = default; - public TextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::TextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool onChangeSync; - public bool onKeyPressSync; - public const facebook::react::TextInputTraits traits; - public const std::string inputAccessoryViewButtonLabel; - public const std::string inputAccessoryViewID; - public std::optional selection; -} - -class facebook::react::TextInputShadowNode : public facebook::react::BaseTextInputShadowNode { -} - -class facebook::react::TextInputState { - public TextInputState() = default; - public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); - public facebook::react::AttributedString reactTreeAttributedString; - public facebook::react::AttributedStringBox attributedStringBox; - public facebook::react::ParagraphAttributes paragraphAttributes; - public int64_t mostRecentEventCount; -} - -class facebook::react::TextInputTraits { - public bool caretHidden; - public bool clearTextOnFocus; - public bool contextMenuHidden; - public bool editable; - public bool enablesReturnKeyAutomatically; - public bool scrollEnabled; - public bool secureTextEntry; - public bool selectTextOnFocus; - public bool showSoftInputOnFocus; - public facebook::react::AutocapitalizationType autocapitalizationType; - public facebook::react::KeyboardAppearance keyboardAppearance; - public facebook::react::KeyboardType keyboardType; - public facebook::react::ReturnKeyType returnKeyType; - public facebook::react::TextInputAccessoryVisibilityMode clearButtonMode; - public std::optional autoCorrect; - public std::optional smartInsertDelete; - public std::optional spellCheck; - public std::string passwordRules; - public std::string textContentType; - public std::vector dataDetectorTypes; -} - -class facebook::react::TextLayoutManager { - protected facebook::react::LineMeasureCache lineMeasureCache_; - protected facebook::react::TextMeasureCache textMeasureCache_; - protected std::shared_ptr contextContainer_; - protected std::shared_ptr nativeTextLayoutManager_; - public TextLayoutManager(const facebook::react::TextLayoutManager&) = delete; - public TextLayoutManager(const std::shared_ptr& contextContainer); - public TextLayoutManager(facebook::react::TextLayoutManager&&) = delete; - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size) const; - public facebook::react::TextLayoutManager& operator=(const facebook::react::TextLayoutManager&) = delete; - public facebook::react::TextLayoutManager& operator=(facebook::react::TextLayoutManager&&) = delete; - public facebook::react::TextMeasurement measure(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public std::shared_ptr getNativeTextLayoutManager() const; -} - -class facebook::react::TextMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::Float pointScaleFactor; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::TextMeasurement { - public facebook::react::Size size; - public facebook::react::TextMeasurement::Attachments attachments; - public using Attachments = std::vector; -} - -class facebook::react::TextMeasurement::Attachment { - public bool isClipped; - public facebook::react::Rect frame; -} - -class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { - public TextProps() = default; - public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::TimerManager { - public TimerManager(const facebook::react::TimerManager&) = delete; - public TimerManager(facebook::react::TimerManager&&) = delete; - public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; - public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; - public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; - public void attachGlobals(facebook::jsi::Runtime& runtime); - public void callTimer(facebook::react::TimerHandle handle); - public void quit(); - public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; - public ~TimerManager() noexcept; -} - class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); public void onClick(facebook::react::PointerEvent event) const; @@ -7372,48 +4731,6 @@ class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter public void onTouchStart(facebook::react::TouchEvent event) const; } -class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { - public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::TransactionTelemetry { - public TransactionTelemetry(); - public TransactionTelemetry(std::function now); - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public facebook::react::TelemetryTimePoint getCommitEndTime() const; - public facebook::react::TelemetryTimePoint getCommitStartTime() const; - public facebook::react::TelemetryTimePoint getDiffEndTime() const; - public facebook::react::TelemetryTimePoint getDiffStartTime() const; - public facebook::react::TelemetryTimePoint getLayoutEndTime() const; - public facebook::react::TelemetryTimePoint getLayoutStartTime() const; - public facebook::react::TelemetryTimePoint getMountEndTime() const; - public facebook::react::TelemetryTimePoint getMountStartTime() const; - public int getAffectedLayoutNodesCount() const; - public int getNumberOfTextMeasurements() const; - public int getRevisionNumber() const; - public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); - public void didCommit(); - public void didDiff(); - public void didLayout(); - public void didLayout(int affectedLayoutNodesCount); - public void didMeasureText(); - public void didMount(); - public void setAsThreadLocal(); - public void setRevisionNumber(int revisionNumber); - public void unsetAsThreadLocal(); - public void willCommit(); - public void willDiff(); - public void willLayout(); - public void willMeasureText(); - public void willMount(); -} - -class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { - public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(folly::dynamic& props); -} - class facebook::react::TurboModule : public facebook::jsi::HostObject { protected const std::string name_; protected std::shared_ptr jsInvoker_; @@ -7444,158 +4761,6 @@ class facebook::react::TurboModuleWithJSIBindings { public virtual ~TurboModuleWithJSIBindings() = default; } -class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { - public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); - public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; - public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; - public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; - public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); - public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); - public facebook::react::UIManagerDelegate* getDelegate(); - public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; - public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; - public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; - public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) const noexcept override; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; - public void addEventListener(std::shared_ptr listener); - public void addOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); - public void animationTick() const; - public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; - public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); - public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; - public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); - public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); - public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); - public void setDelegate(facebook::react::UIManagerDelegate* delegate); - public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; - public void setNativeAnimatedDelegate(std::weak_ptr delegate); - public void setSurfaceProps(facebook::react::SurfaceId surfaceId, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); - public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; - public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; - public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); - public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); - public void updateShadowTree(std::unordered_map&& tagToProps); - public void updateState(const facebook::react::StateUpdate& stateUpdate) const; - public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; - public ~UIManager() override; -} - -class facebook::react::UIManagerAnimationBackend { - public using Callback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) = 0; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; - public virtual void stop(facebook::react::CallbackId callbackId) = 0; - public virtual void trigger() = 0; - public virtual ~UIManagerAnimationBackend() = default; -} - -class facebook::react::UIManagerAnimationDelegate { - public virtual bool shouldAnimateFrame() const = 0; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; - public virtual ~UIManagerAnimationDelegate() = default; -} - -class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { - public UIManagerBinding(std::shared_ptr uiManager); - public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); - public facebook::react::UIManager& getUIManager(); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; - public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; - public void invalidate() const; - public ~UIManagerBinding() override; -} - -class facebook::react::UIManagerCommitHook { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) noexcept; - public virtual ~UIManagerCommitHook() noexcept = default; -} - -class facebook::react::UIManagerDelegate { - public using OnSurfaceStartCallback = std::function; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidClearPendingSnapshots() = 0; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~UIManagerDelegate() noexcept = default; -} - -class facebook::react::UIManagerMountHook { - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; - public virtual ~UIManagerMountHook() noexcept = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegate { - public virtual void runAnimationFrame() = 0; - public virtual ~UIManagerNativeAnimatedDelegate() = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { - public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); - public virtual void runAnimationFrame() override; -} - -class facebook::react::UIManagerViewTransitionDelegate { - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag) const; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); - public virtual void createViewTransitionInstance(const std::string&, facebook::react::Tag); - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); - public virtual void startViewTransitionEnd(); - public virtual void startViewTransitionReadyFinished(); - public virtual void suspendOnActiveViewTransition(); - public virtual void transitionAnimationFinished(int animationId); - public virtual void waitForTransitionAnimation(int animationId); - public virtual ~UIManagerViewTransitionDelegate() = default; -} - -struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { - public facebook::react::Float height; - public facebook::react::Float width; - public facebook::react::Float x; - public facebook::react::Float y; - public facebook::react::Tag nativeTag; -} - class facebook::react::UnimplementedNativeViewEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -7605,32 +4770,6 @@ class facebook::react::UnimplementedNativeViewProps : public facebook::react::Ho public std::string name; } -class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::ComponentHandle getComponentHandle() const override; - public virtual facebook::react::ComponentName getComponentName() const override; - public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; -} - -class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { - public facebook::react::ComponentName getComponentName() const; - public void setComponentName(facebook::react::ComponentName componentName); -} - -class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { - protected bool isColorValue_; - public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool getIsColorValue() const noexcept; - public bool setOffset(double offset) noexcept; - public bool setRawValue(double value) noexcept; - public double getOffset() const noexcept; - public double getRawValue() const noexcept; - public double getValue() const noexcept; - public void extractOffset() noexcept; - public void flattenOffset() noexcept; - public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; -} - class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { public ValueFactoryEventPayload(facebook::react::ValueFactory factory); public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; @@ -7646,41 +4785,6 @@ class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShad public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); } -class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate, public facebook::react::UIManagerCommitHook, public facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const override; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag tag) const override; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void createViewTransitionInstance(const std::string& name, facebook::react::Tag pseudoElementTag) override; - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; - public virtual void startViewTransitionEnd() override; - public virtual void startViewTransitionReadyFinished() override; - public virtual void suspendOnActiveViewTransition() override; - public virtual void transitionAnimationFinished(int animationId) override; - public virtual void waitForTransitionAnimation(int animationId) override; - public void initialize(facebook::react::UIManager* uiManager, std::weak_ptr weakThis); - public ~ViewTransitionModule() override; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; - public uint32_t transitionId; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { - public facebook::react::Float pointScaleFactor; - public facebook::react::Point originFromRoot; - public facebook::react::Size size; -} - class facebook::react::VirtualViewEventEmitter : public facebook::react::BaseViewEventEmitter { public void onModeChange(facebook::react::VirtualViewEventEmitter::OnModeChange value) const; } @@ -7713,19 +4817,6 @@ class facebook::react::VirtualViewProps : public facebook::react::HostPlatformVi public int renderState; } -class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::WeakFamilyRegistry { - public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; - public using WeakFamilies = std::vector; - public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; - public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; -} - class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { protected facebook::yoga::Config yogaConfig_; protected mutable facebook::yoga::Node yogaNode_; @@ -7849,61 +4940,6 @@ enum facebook::react::ActivityIndicatorViewSize { Small, } -enum facebook::react::AnimatedNodeType { - Addition, - Color, - Diffclamp, - Division, - Interpolation, - Modulus, - Multiplication, - Object, - Props, - Round, - Style, - Subtraction, - Tracking, - Transform, - Value, -} - -enum facebook::react::AnimationConfigurationType { - Create, - Delete, - Update, -} - -enum facebook::react::AnimationDriverType { - Decay, - Frames, - Spring, -} - -enum facebook::react::AnimationProperty { - NotApplicable, - Opacity, - ScaleX, - ScaleXY, - ScaleY, -} - -enum facebook::react::AnimationType { - EaseIn, - EaseInEaseOut, - EaseOut, - Keyboard, - Linear, - None, - Spring, -} - -enum facebook::react::AutocapitalizationType { - Characters, - None, - Sentences, - Words, -} - enum facebook::react::BackfaceVisibility : uint8_t { Auto, Hidden, @@ -7953,294 +4989,11 @@ enum facebook::react::BorderStyle : uint8_t { Solid, } -enum facebook::react::CSSAngleUnit : uint8_t { - Deg, - Grad, - Rad, - Turn, -} - -enum facebook::react::CSSDelimiter { - Comma, - CommaOrWhitespace, - None, - OptionalWhitespace, - Solidus, - SolidusOrWhitespace, - Whitespace, -} - -enum facebook::react::CSSFontVariant : std::underlying_type_t { - CommonLigatures, - Contextual, - DiscretionaryLigatures, - HistoricalLigatures, - LiningNums, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { - At, -} - -enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { - Bottom, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { - To, -} - -enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { - Inset, -} - -enum facebook::react::CSSKeyword : uint8_t { - Absolute, - At, - Auto, - Baseline, - Block, - Bottom, - Center, - Clip, - Column, - ColumnReverse, - CommonLigatures, - Content, - Contents, - Contextual, - Dashed, - DiscretionaryLigatures, - Dotted, - Double, - End, - Fixed, - Flex, - FlexEnd, - FlexStart, - Grid, - Groove, - Hidden, - HistoricalLigatures, - Inherit, - Initial, - Inline, - InlineBlock, - InlineFlex, - InlineGrid, - Inset, - Left, - LiningNums, - Ltr, - MaxContent, - Medium, - MinContent, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - NoWrap, - None, - Normal, - OldstyleNums, - Outset, - ProportionalNums, - Relative, - Ridge, - Right, - Row, - RowReverse, - Rtl, - Scroll, - SmallCaps, - Solid, - SpaceAround, - SpaceBetween, - SpaceEvenly, - Start, - Static, - Sticky, - Stretch, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, - Thick, - Thin, - To, - Top, - Unset, - Visible, - Wrap, - WrapReverse, -} - -enum facebook::react::CSSLengthUnit : uint8_t { - Cap, - Ch, - Cm, - Dvb, - Dvh, - Dvi, - Dvmax, - Dvmin, - Dvw, - Em, - Ex, - Ic, - In, - Lh, - Lvb, - Lvh, - Lvi, - Lvmax, - Lvmin, - Lvw, - Mm, - Pc, - Pt, - Px, - Q, - Rcap, - Rch, - Rem, - Rex, - Ric, - Rlh, - Svb, - Svh, - Svi, - Svmax, - Svmin, - Svw, - Vb, - Vh, - Vi, - Vmax, - Vmin, - Vw, -} - -enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { - ToBottomLeft, - ToBottomRight, - ToTopLeft, - ToTopRight, -} - -enum facebook::react::CSSRadialGradientShape : uint8_t { - Circle, - Ellipse, -} - -enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { - ClosestCorner, - ClosestSide, - FarthestCorner, - FarthestSide, -} - -enum facebook::react::CSSTokenType { - CloseCurly, - CloseParen, - CloseSquare, - Comma, - Delim, - Dimension, - EndOfFile, - Function, - Hash, - Ident, - Number, - OpenCurly, - OpenParen, - OpenSquare, - Percentage, - WhiteSpace, -} - -enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSWideKeyword : std::underlying_type_t { - Inherit, - Initial, - Unset, -} - enum facebook::react::ColorSpace { DisplayP3, sRGB, } -enum facebook::react::ContentInsetAdjustmentBehavior { - Always, - Automatic, - Never, - ScrollableAxes, -} - enum facebook::react::Cursor : uint8_t { Alias, AllScroll, @@ -8293,27 +5046,6 @@ enum facebook::react::DisplayType { None, } -enum facebook::react::DynamicTypeRamp : uint8_t { - Body, - Callout, - Caption1, - Caption2, - Footnote, - Headline, - LargeTitle, - Subheadline, - Title1, - Title2, - Title3, -} - -enum facebook::react::EllipsizeMode { - Clip, - Head, - Middle, - Tail, -} - enum facebook::react::EventPayloadType { PointerEvent, ScrollEvent, @@ -8333,66 +5065,9 @@ enum facebook::react::FilterType { Sepia, } -enum facebook::react::FontStyle : uint8_t { - Italic, - Normal, - Oblique, -} - -enum facebook::react::FontVariant : int { - Default, - LiningNums, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::FontWeight : uint16_t { - Black, - Bold, - Demibold, - Heavy, - Light, - Medium, - Regular, - Semibold, - Thin, - UltraLight, - Weight100, - Weight200, - Weight300, - Weight400, - Weight500, - Weight600, - Weight700, - Weight800, - Weight900, -} - -enum facebook::react::GradientDirectionType { - Angle, - Keyword, +enum facebook::react::GradientDirectionType { + Angle, + Keyword, } enum facebook::react::GradientKeyword : uint8_t { @@ -8402,12 +5077,6 @@ enum facebook::react::GradientKeyword : uint8_t { ToTopRight, } -enum facebook::react::HyphenationFrequency { - Full, - None, - Normal, -} - enum facebook::react::ImageResizeMode : int8_t { Center, Contain, @@ -8429,29 +5098,6 @@ enum facebook::react::Isolation { Isolate, } -enum facebook::react::KeyboardAppearance { - Dark, - Default, - Light, -} - -enum facebook::react::KeyboardType { - ASCIICapable, - ASCIICapableNumberPad, - DecimalPad, - Default, - EmailAddress, - NamePhonePad, - NumberPad, - NumbersAndPunctuation, - Numeric, - PhonePad, - Twitter, - URL, - VisiblePassword, - WebSearch, -} - enum facebook::react::LayoutConformance : uint8_t { Compatibility, Strict, @@ -8463,22 +5109,6 @@ enum facebook::react::LayoutDirection { Undefined, } -enum facebook::react::LineBreakMode : uint8_t { - Char, - Clip, - Head, - Middle, - Tail, - Word, -} - -enum facebook::react::LineBreakStrategy : uint8_t { - HangulWordPriority, - None, - PushOut, - Standard, -} - enum facebook::react::ModalHostViewAnimationType { Fade, None, @@ -8511,15 +5141,6 @@ enum facebook::react::OutlineStyle : uint8_t { Solid, } -enum facebook::react::PerformanceEntryType { - EVENT, - LONGTASK, - MARK, - MEASURE, - RESOURCE, - _NEXT, -} - enum facebook::react::PointerEventsMode : uint8_t { Auto, BoxNone, @@ -8533,61 +5154,6 @@ enum facebook::react::PositionType { Static, } -enum facebook::react::PropName { - ALIGN_CONTENT, - ALIGN_ITEMS, - ALIGN_SELF, - ASPECT_RATIO, - BACKFACE_VISIBILITY, - BACKGROUND_COLOR, - BORDER_COLOR, - BORDER_CURVES, - BORDER_RADII, - BORDER_STYLES, - BORDER_WIDTH, - BOX_SHADOW, - BOX_SIZING, - COLUMN_GAP, - CURSOR, - DIRECTION, - DISPLAY, - FILTER, - FLEX, - FLEX_BASIS, - FLEX_DIRECTION, - FLEX_GROW, - FLEX_SHRINK, - FLEX_WRAP, - HEIGHT, - ISOLATION, - JUSTIFY_CONTENT, - MARGIN, - MAX_HEIGHT, - MAX_WIDTH, - MIN_HEIGHT, - MIN_WIDTH, - MIX_BLEND_MODE, - OPACITY, - OUTLINE_COLOR, - OUTLINE_OFFSET, - OUTLINE_STYLE, - OUTLINE_WIDTH, - PADDING, - POINTER_EVENTS, - POSITION, - POSITION_TYPE, - ROW_GAP, - SHADOW_COLOR, - SHADOW_OFFSET, - SHADOW_OPACITY, - SHADOW_RADIUS, - STYLE_OVERFLOW, - TRANSFORM, - TRANSFORM_ORIGIN, - WIDTH, - Z_INDEX, -} - enum facebook::react::RadialGradientShape { Circle, Ellipse, @@ -8600,29 +5166,6 @@ enum facebook::react::ReactEventPriority { Idle, } -enum facebook::react::ResizeObserverBoxOptions { - BorderBox, - ContentBox, - DevicePixelContentBox, -} - -enum facebook::react::ReturnKeyType { - Continue, - Default, - Done, - EmergencyCall, - Go, - Google, - Join, - Next, - None, - Previous, - Route, - Search, - Send, - Yahoo, -} - enum facebook::react::Role : uint8_t { Alert, Alertdialog, @@ -8704,114 +5247,6 @@ enum facebook::react::ScriptTag { String, } -enum facebook::react::ScrollViewIndicatorStyle { - Black, - Default, - White, -} - -enum facebook::react::ScrollViewKeyboardDismissMode { - Interactive, - None, - OnDrag, -} - -enum facebook::react::ScrollViewSnapToAlignment { - Center, - End, - Start, -} - -enum facebook::react::ShadowTreeCommitMode { - Normal, - Suspended, -} - -enum facebook::react::ShadowTreeCommitSource { - AnimationEndSync, - React, - ReactRevisionMerge, - Unknown, -} - -enum facebook::react::ShadowTreeCommitStatus { - Cancelled, - Failed, - Succeeded, -} - -enum facebook::react::SubmitBehavior { - BlurAndSubmit, - Default, - Newline, - Submit, -} - -enum facebook::react::TextAlignment : uint8_t { - Center, - End, - Justified, - Left, - Natural, - Right, - Start, -} - -enum facebook::react::TextAlignmentVertical { - Auto, - Bottom, - Center, - Top, -} - -enum facebook::react::TextBreakStrategy { - Balanced, - HighQuality, - Simple, -} - -enum facebook::react::TextDecorationLineType : uint8_t { - None, - Strikethrough, - Underline, - UnderlineStrikethrough, -} - -enum facebook::react::TextDecorationStyle : uint8_t { - Dashed, - Dotted, - Double, - Solid, - Wavy, -} - -enum facebook::react::TextInputAccessoryVisibilityMode { - Always, - Never, - UnlessEditing, - WhileEditing, -} - -enum facebook::react::TextTransform : uint8_t { - Capitalize, - Lowercase, - None, - Unset, - Uppercase, -} - -enum facebook::react::TextWidthMode { - Auto, - LongestLine, -} - -enum facebook::react::TimerSource { - RequestAnimationFrame, - SetInterval, - SetTimeout, - Unknown, -} - enum facebook::react::TransformOperationType : uint8_t { Arbitrary, Identity, @@ -8840,18 +5275,6 @@ enum facebook::react::UnitType { Undefined, } -enum facebook::react::WritingDirection : uint8_t { - LeftToRight, - Natural, - RightToLeft, -} - -struct facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public std::string name; -} - struct facebook::react::AccessibilityAction { public std::optional label; public std::string name; @@ -8883,116 +5306,6 @@ struct facebook::react::AccessibilityValue { public std::optional text; } -struct facebook::react::ActivePointer { - public bool shouldLeaveWhenReleased; - public facebook::react::PointerEvent event; -} - -struct facebook::react::AnimatedPropBase { - public AnimatedPropBase(facebook::react::PropName propName); - public facebook::react::PropName propName; - public virtual ~AnimatedPropBase() = default; -} - -struct facebook::react::AnimatedProps { - public std::unique_ptr rawProps; - public std::vector> props; -} - -struct facebook::react::AnimatedPropsBuilder { - public facebook::react::AnimatedProps get(); - public std::unique_ptr rawProps; - public std::vector> props; - public void setAlignContent(facebook::yoga::Align value); - public void setAlignItems(facebook::yoga::Align value); - public void setAlignSelf(facebook::yoga::Align value); - public void setAspectRatio(facebook::yoga::FloatOptional value); - public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); - public void setBackgroundColor(facebook::react::SharedColor value); - public void setBorderColor(facebook::react::CascadedBorderColors& value); - public void setBorderCurves(facebook::react::CascadedBorderCurves& value); - public void setBorderRadii(facebook::react::CascadedBorderRadii& value); - public void setBorderStyles(facebook::react::CascadedBorderStyles& value); - public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); - public void setBoxShadow(const std::vector& value); - public void setBoxSizing(facebook::yoga::BoxSizing value); - public void setColumnGap(facebook::yoga::Style::Length value); - public void setCursor(facebook::react::Cursor value); - public void setDirection(facebook::yoga::Direction value); - public void setDisplay(facebook::yoga::Display value); - public void setFilter(const std::vector& value); - public void setFlex(facebook::yoga::FloatOptional value); - public void setFlexBasis(facebook::yoga::Style::SizeLength value); - public void setFlexDirection(facebook::yoga::FlexDirection value); - public void setFlexGrow(facebook::yoga::FloatOptional value); - public void setFlexShrink(facebook::yoga::FloatOptional value); - public void setFlexWrap(facebook::yoga::Wrap value); - public void setHeight(facebook::yoga::Style::SizeLength value); - public void setIsolation(facebook::react::Isolation value); - public void setJustifyContent(facebook::yoga::Justify value); - public void setMargin(facebook::react::CascadedRectangleEdges& value); - public void setMaxHeight(facebook::yoga::Style::SizeLength value); - public void setMaxWidth(facebook::yoga::Style::SizeLength value); - public void setMinHeight(facebook::yoga::Style::SizeLength value); - public void setMinWidth(facebook::yoga::Style::SizeLength value); - public void setMixBlendMode(facebook::react::BlendMode value); - public void setOpacity(facebook::react::Float value); - public void setOutlineColor(facebook::react::SharedColor value); - public void setOutlineOffset(facebook::react::Float value); - public void setOutlineStyle(facebook::react::OutlineStyle value); - public void setOutlineWidth(facebook::react::Float value); - public void setOverflow(facebook::yoga::Overflow value); - public void setPadding(facebook::react::CascadedRectangleEdges& value); - public void setPointerEvents(facebook::react::PointerEventsMode value); - public void setPosition(facebook::react::CascadedRectangleEdges& value); - public void setPositionType(facebook::yoga::PositionType value); - public void setRowGap(facebook::yoga::Style::Length value); - public void setShadowColor(facebook::react::SharedColor value); - public void setShadowOffset(facebook::react::Size value); - public void setShadowOpacity(facebook::react::Float value); - public void setShadowRadius(facebook::react::Float value); - public void setTransform(const facebook::react::Transform& t); - public void setTransformOrigin(const facebook::react::TransformOrigin& value); - public void setWidth(facebook::yoga::Style::SizeLength value); - public void setZIndex(std::optional value); - public void storeDynamic(folly::dynamic& d); - public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); -} - -struct facebook::react::AnimationConfig { - public double delay; - public double duration; - public facebook::react::AnimationProperty animationProperty; - public facebook::react::AnimationType animationType; - public facebook::react::Float initialVelocity; - public facebook::react::Float springDamping; -} - -struct facebook::react::AnimationKeyFrame { - public bool generateFinalSyntheticMutations; - public bool invalidated; - public double initialProgress; - public facebook::react::AnimationConfigurationType type; - public facebook::react::ShadowView viewEnd; - public facebook::react::ShadowView viewPrev; - public facebook::react::ShadowView viewStart; - public facebook::react::Tag parentTag; - public facebook::react::Tag tag; - public std::vector finalMutationsForKeyFrame; -} - -struct facebook::react::AnimationMutation { - public bool hasLayoutUpdates; - public facebook::react::AnimatedProps props; - public facebook::react::Tag tag; - public std::shared_ptr family; -} - -struct facebook::react::AnimationMutations { - public std::set asyncFlushSurfaces; - public std::vector batch; -} - struct facebook::react::BackgroundPosition { public BackgroundPosition(); public bool operator==(const facebook::react::BackgroundPosition& other) const = default; @@ -9092,13 +5405,6 @@ struct facebook::react::Bridging { public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); } -struct facebook::react::BufferEvent { - public std::string name; - public std::string track; - public uint64_t end; - public uint64_t start; -} - struct facebook::react::BundleHeader { public BundleHeader(); public facebook::react::Magic32 magic32; @@ -9106,286 +5412,6 @@ struct facebook::react::BundleHeader { public uint64_t magic64; } -struct facebook::react::CSSAngle { - public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSBlurFilter { - public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; - public facebook::react::CSSLength amount; -} - -struct facebook::react::CSSBrightnessFilter { - public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSColor { - public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; - public static constexpr facebook::react::CSSColor black(); - public uint8_t a; - public uint8_t b; - public uint8_t g; - public uint8_t r; -} - -struct facebook::react::CSSColorHint { - public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; - public std::variant position; -} - -struct facebook::react::CSSColorStop { - public bool operator==(const facebook::react::CSSColorStop& rhs) const; - public facebook::react::CSSColor color; - public std::optional> endPosition; - public std::optional> startPosition; -} - -struct facebook::react::CSSContrastFilter { - public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSDropShadowFilter { - public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength standardDeviation; -} - -struct facebook::react::CSSFunctionBlock { - public std::string_view name; -} - -struct facebook::react::CSSGrayscaleFilter { - public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSHueRotateFilter { - public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSInvertFilter { - public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSLength { - public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; - public facebook::react::CSSLengthUnit unit; - public float value; -} - -struct facebook::react::CSSLinearGradientDirection { - public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSLinearGradientFunction { - public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; - public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); - public std::optional direction; - public std::vector> items; -} - -struct facebook::react::CSSMatrix { - public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; - public std::array values; -} - -struct facebook::react::CSSNumber { - public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; - public float value; -} - -struct facebook::react::CSSOpacityFilter { - public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSPercentage { - public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; - public float value; -} - -struct facebook::react::CSSPerspective { - public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; - public facebook::react::CSSLength length; -} - -struct facebook::react::CSSRadialGradientExplicitSize { - public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; - public std::variant sizeX; - public std::variant sizeY; -} - -struct facebook::react::CSSRadialGradientFunction { - public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; - public std::optional position; - public std::optional shape; - public std::optional size; - public std::vector> items; -} - -struct facebook::react::CSSRadialGradientPosition { - public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; - public std::optional> bottom; - public std::optional> left; - public std::optional> right; - public std::optional> top; -} - -struct facebook::react::CSSRatio { - public constexpr bool isDegenerate() const; - public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; - public float denominator; - public float numerator; -} - -struct facebook::react::CSSRotate { - public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateX { - public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateY { - public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateZ { - public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSaturateFilter { - public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSScale { - public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; - public float x; - public float y; -} - -struct facebook::react::CSSScaleX { - public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; - public float value; -} - -struct facebook::react::CSSScaleY { - public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; - public float value; -} - -struct facebook::react::CSSSepiaFilter { - public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSShadow { - public bool inset; - public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength blurRadius; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength spreadDistance; -} - -struct facebook::react::CSSSimpleBlock { - public facebook::react::CSSTokenType openBracketType; -} - -struct facebook::react::CSSSkewX { - public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSkewY { - public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSTransformOrigin { - public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate3D { - public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate { - public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslateX { - public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSTranslateY { - public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSZero { - public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; -} - -struct facebook::react::CallbackWithId { - public facebook::react::Callback callback; - public facebook::react::CallbackId callbackId; -} - -struct facebook::react::CascadedRectangleCornersNames { - public const char* all; - public const char* bottomEnd; - public const char* bottomLeft; - public const char* bottomRight; - public const char* bottomStart; - public const char* endEnd; - public const char* endStart; - public const char* startEnd; - public const char* startStart; - public const char* topEnd; - public const char* topLeft; - public const char* topRight; - public const char* topStart; -} - -struct facebook::react::CascadedRectangleEdgesNames { - public const char* all; - public const char* block; - public const char* blockEnd; - public const char* blockStart; - public const char* bottom; - public const char* end; - public const char* horizontal; - public const char* left; - public const char* right; - public const char* start; - public const char* top; - public const char* vertical; -} - struct facebook::react::Color { public Color(); public Color(const facebook::react::ColorComponents& components); @@ -9422,21 +5448,9 @@ struct facebook::react::CornerRadii { public float vertical; } -struct facebook::react::CullingContext { - public bool operator==(const facebook::react::CullingContext& rhs) const = default; - public bool shouldConsiderCulling() const; - public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; - public facebook::react::Rect frame; - public facebook::react::Transform transform; -} - struct facebook::react::DebugStringConvertibleOptions { } -struct facebook::react::DefaultTurboModules { - public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); -} - struct facebook::react::DropShadowParams { public bool operator==(const facebook::react::DropShadowParams& other) const = default; public facebook::react::Float offsetX; @@ -9445,11 +5459,6 @@ struct facebook::react::DropShadowParams { public facebook::react::SharedColor color; } -struct facebook::react::DummyTraceSection { - template - public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); -} - struct facebook::react::DynamicColor { public int32_t darkColor; public int32_t highContrastDarkColor; @@ -9471,12 +5480,6 @@ struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEve public const std::optional>& getHitPathForEventListener() const; } -struct facebook::react::EventAnimationDriverKey { - public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; - public facebook::react::Tag viewTag; - public std::string eventName; -} - struct facebook::react::EventPayload { public EventPayload() = default; public EventPayload(const facebook::react::EventPayload&) = default; @@ -9502,50 +5505,6 @@ struct facebook::react::ImageURLLoaderAttribution { public std::string queryRootName; } -struct facebook::react::InspectorData { - public folly::dynamic props; - public int columnNumber; - public int lineNumber; - public int selectedIndex; - public std::string fileName; - public std::vector hierarchy; -} - -struct facebook::react::InstanceCallback { - public virtual void decrementPendingJSCalls(); - public virtual void incrementPendingJSCalls(); - public virtual void onBatchComplete(); - public virtual ~InstanceCallback() = default; -} - -struct facebook::react::IntersectionObserverEntry { - public bool isIntersectingAboveThresholds; - public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; - public facebook::react::HighResTimeStamp time; - public facebook::react::IntersectionObserverObserverId intersectionObserverId; - public facebook::react::Rect intersectionRect; - public facebook::react::Rect rootRect; - public facebook::react::Rect targetRect; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; -} - -struct facebook::react::LayoutAnimation { - public bool completed; - public facebook::react::LayoutAnimationCallbackWrapper failureCallback; - public facebook::react::LayoutAnimationCallbackWrapper successCallback; - public facebook::react::LayoutAnimationConfig layoutAnimationConfig; - public facebook::react::SurfaceId surfaceId; - public std::vector keyFrames; - public uint64_t startTime; -} - -struct facebook::react::LayoutAnimationConfig { - public double duration; - public facebook::react::AnimationConfig createConfig; - public facebook::react::AnimationConfig deleteConfig; - public facebook::react::AnimationConfig updateConfig; -} - struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { public LayoutConformanceProps() = default; public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -9585,19 +5544,6 @@ struct facebook::react::LayoutMetrics { public facebook::react::Rect getPaddingFrame() const; } -struct facebook::react::LineMeasurement { - public LineMeasurement(const folly::dynamic& data); - public LineMeasurement(std::string text, facebook::react::Rect frame, facebook::react::Float descender, facebook::react::Float capHeight, facebook::react::Float ascender, facebook::react::Float xHeight); - public bool operator==(const facebook::react::LineMeasurement& rhs) const; - public facebook::react::Float ascender; - public facebook::react::Float capHeight; - public facebook::react::Float descender; - public facebook::react::Float xHeight; - public facebook::react::Rect frame; - public static facebook::react::Float baseline(const std::vector& lines); - public std::string text; -} - struct facebook::react::LinearGradient { public bool operator==(const facebook::react::LinearGradient& other) const = default; public facebook::react::GradientDirection direction; @@ -9609,112 +5555,8 @@ struct facebook::react::Magic32 { public uint32_t value; } -struct facebook::react::MarginValue { - public bool isPercentage; - public facebook::react::Float value; -} - -struct facebook::react::MeasuredPreparedTextLayout { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::TextMeasurement measurement; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; -} - -struct facebook::react::MethodCall { - public MethodCall(int mod, int meth, folly::dynamic&& args, int cid); - public folly::dynamic arguments; - public int callId; - public int methodId; - public int moduleId; -} - -struct facebook::react::MethodDescriptor { - public MethodDescriptor(std::string n, std::string t); - public std::string name; - public std::string type; -} - -struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { - public facebook::react::ModalHostViewSupportedOrientationsMask value; -} - -struct facebook::react::ModuleConfig { - public folly::dynamic config; - public size_t index; -} - -struct facebook::react::MutationRecord { - public facebook::react::MutationObserverId mutationObserverId; - public std::shared_ptr targetShadowNode; - public std::vector> addedShadowNodes; - public std::vector> removedShadowNodes; -} - -struct facebook::react::NativePerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional fetchStart; - public std::optional processingEnd; - public std::optional processingStart; - public std::optional requestStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::optional interactionId; - public std::optional decodedBodySize; - public std::optional encodedBodySize; - public std::optional responseStatus; - public std::optional contentType; - public std::string name; -} - -struct facebook::react::PerformanceEntrySorter { - public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs) const; -} - -struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp processingEnd; - public facebook::react::HighResTimeStamp processingStart; - public facebook::react::HighResTimeStamp taskEndTime; - public facebook::react::PerformanceEntryInteractionId interactionId; - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceObserverObserveMultipleOptions { - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceObserverObserveSingleOptions { - public bool buffered; - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public static constexpr facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::string contentType; +struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { + public facebook::react::ModalHostViewSupportedOrientationsMask value; } struct facebook::react::Point { @@ -9755,11 +5597,6 @@ struct facebook::react::PointerEvent : public facebook::react::EventPayload { public virtual facebook::react::EventPayloadType getType() const override; } -struct facebook::react::PointerEventTarget { - public facebook::react::PointerEvent event; - public std::shared_ptr target; -} - struct facebook::react::ProcessedColorStop { public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; public facebook::react::SharedColor color; @@ -9782,12 +5619,6 @@ struct facebook::react::PropsParserContext { public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; } -struct facebook::react::PropsSnapshot { - public std::unique_ptr props; - public std::unique_ptr rawProps; - public std::unordered_set propNames; -} - struct facebook::react::RadialGradient { public bool operator==(const facebook::react::RadialGradient& other) const = default; public facebook::react::RadialGradientPosition position; @@ -9850,13 +5681,6 @@ struct facebook::react::ReactNativeVersionType { public std::string_view Prerelease; } -struct facebook::react::RecoverableError : public std::exception { - public RecoverableError(const std::string& what_); - public virtual const char* what() const noexcept override; - template - public static void runRethrowingAsRecoverable(std::function act); -} - struct facebook::react::Rect { public bool containsPoint(facebook::react::Point point) noexcept; public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; @@ -9874,82 +5698,6 @@ struct facebook::react::Rect { public void unionInPlace(const facebook::react::Rect& rect) noexcept; } -struct facebook::react::RequestInfo { - public std::optional headers; - public std::optional httpBody; - public std::string httpMethod; - public std::string url; -} - -struct facebook::react::ResizeObservationResult { - public bool detached; - public facebook::react::Size observedSize; - public size_t targetDepth; - public std::optional entry; -} - -struct facebook::react::ResizeObserverEntry { - public facebook::react::Rect contentRect; - public facebook::react::ResizeObserverObserverId resizeObserverId; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; - public facebook::react::Size borderBoxSize; - public facebook::react::Size contentBoxSize; - public facebook::react::Size devicePixelContentBoxSize; -} - -struct facebook::react::ResourceTimingData { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseStart; - public std::string contentType; - public std::string url; -} - -struct facebook::react::ResponseInfo { - public std::optional headers; - public std::string url; - public uint16_t statusCode; -} - -struct facebook::react::SchedulerToolbox { - public facebook::react::ComponentRegistryFactory componentRegistryFactory; - public facebook::react::EventBeat::Factory eventBeatFactory; - public facebook::react::RuntimeExecutor runtimeExecutor; - public std::optional bridgelessBindingsExecutor; - public std::shared_ptr contextContainer; - public std::shared_ptr animationChoreographer; - public std::vector> commitHooks; -} - -struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { - public ScrollEndDragEvent() = default; - public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); - public facebook::react::Point targetContentOffset; - public facebook::react::Point velocity; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; -} - -struct facebook::react::ScrollEvent : public facebook::react::EventPayload { - public ScrollEvent() = default; - public bool responderIgnoreScroll; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Float timestamp; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; - public virtual facebook::react::EventPayloadType getType() const override; - public virtual std::optional extractValue(const std::vector& path) const override; -} - struct facebook::react::ShadowNodeFamilyFragment { public const facebook::react::SurfaceId surfaceId; public const facebook::react::Tag tag; @@ -9966,82 +5714,12 @@ struct facebook::react::ShadowNodeFragment { public static const std::shared_ptr>>& childrenPlaceholder(); } -struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { - public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); - public std::shared_ptr>> shadowNodeList; - public ~ShadowNodeListWrapper() override; -} - struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { public ShadowNodeWrapper(std::shared_ptr shadowNode); public std::shared_ptr shadowNode; public ~ShadowNodeWrapper() override; } -struct facebook::react::ShadowTreeCommitOptions { - public bool enableStateReconciliation; - public bool mountSynchronously; - public facebook::react::ShadowTreeCommitSource source; -} - -struct facebook::react::ShadowView { - public ShadowView() = default; - public ShadowView(const facebook::react::ShadowNode& shadowNode); - public ShadowView(const facebook::react::ShadowView& shadowView) = default; - public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; - public bool operator==(const facebook::react::ShadowView& rhs) const; - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::EventEmitter::Shared eventEmitter; - public facebook::react::LayoutMetrics layoutMetrics; - public facebook::react::Props::Shared props; - public facebook::react::ShadowNodeTraits traits; - public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; - public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; - public facebook::react::State::Shared state; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; -} - -struct facebook::react::ShadowViewMutation { - public ShadowViewMutation() = delete; - public bool mutatedViewIsVirtual() const; - public facebook::react::ShadowView newChildShadowView; - public facebook::react::ShadowView oldChildShadowView; - public facebook::react::ShadowViewMutation::Type type; - public facebook::react::Tag parentTag; - public int index; - public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); - public using List = std::vector; -} - -enum facebook::react::ShadowViewMutation::Type : std::uint8_t { - Create, - Delete, - Insert, - Remove, - Update, -} - -struct facebook::react::ShadowViewNodePair { - public bool flattened; - public bool inOtherTree() const; - public bool isConcreteView; - public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; - public const facebook::react::ShadowNode* shadowNode; - public facebook::react::Point contextOrigin; - public facebook::react::ShadowView shadowView; - public mutable const facebook::react::ShadowViewNodePair* otherTreePair; - public size_t mountIndex; -} - struct facebook::react::Size { public facebook::react::Float height; public facebook::react::Float width; @@ -10053,44 +5731,6 @@ struct facebook::react::StateData { public using Shared = std::shared_ptr; } -struct facebook::react::SurfaceContext { - public std::unordered_map> map; - public std::unordered_map> pendingMap; - public std::unordered_set> families; - public std::unordered_set> pendingFamilies; -} - -struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { - template - public SystraceSection(const char* name, ConvertsToStringPiece &&... args); -} - -struct facebook::react::Task : public facebook::jsi::NativeState { - public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); - public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); -} - -struct facebook::react::TextEffectInfo { - public bool operator==(const facebook::react::TextEffectInfo&) const = default; - public folly::dynamic props; - public std::string name; -} - -struct facebook::react::TextLayoutContext { - public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; - public facebook::react::Float pointScaleFactor; - public facebook::react::SurfaceId surfaceId; -} - -struct facebook::react::TimerCallback { - public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); - public bool repeat; - public const std::vector args_; - public facebook::jsi::Function callback_; - public facebook::react::TimerSource source; - public void invoke(facebook::jsi::Runtime& runtime); -} - struct facebook::react::TouchEvent { public facebook::react::Touches changedTouches; public facebook::react::Touches targetTouches; @@ -10124,12 +5764,6 @@ struct facebook::react::Transform { public std::vector operations; } -struct facebook::react::TransformConfig { - public double value; - public facebook::react::Tag nodeTag; - public std::string property; -} - struct facebook::react::TransformOperation { public bool operator==(const facebook::react::TransformOperation& other) const = default; public facebook::react::TransformOperationType type; @@ -10206,64 +5840,6 @@ enum facebook::react::ViewEvents::Offset : std::size_t { TouchStart, } -template -struct facebook::react::CSSList : public std::vector { -} - -template -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSList { -} - -template ... VisitorsT> -struct facebook::react::CSSComponentValueVisitorDispatcher { - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); - public constexpr std::optional visitFunction(); - public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitPreservedToken(); - public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public facebook::react::CSSSyntaxParser& parser; -} - -template -struct facebook::react::CSSList : public std::vector { -} - -template -class facebook::react::CircularBuffer { - public CircularBuffer(size_t maxSize); - public T& operator[](size_t idx); - public bool add(const T& el); - public size_t size() const; - public std::vector getEntries() const; - public std::vector getEntries(std::function predicate) const; - public void clear(); - public void clear(std::function predicate); - public void getEntries(std::vector& res) const; - public void getEntries(std::vector& res, std::function predicate) const; -} - -template -class facebook::react::MoveWrapper { - public MoveWrapper() = default; - public MoveWrapper(T&& t); - public MoveWrapper(const facebook::react::MoveWrapper& other); - public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; - public T& operator*(); - public T&& move(); - public T* operator->(); - public const T& operator*() const; - public const T* operator->() const; - public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; - public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; -} - template class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); @@ -10276,20 +5852,6 @@ class facebook::react::ConcreteViewShadowNode : public facebook::react::Concrete public virtual facebook::react::Transform getTransform() const override; } -template -class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; - protected std::shared_ptr textLayoutManager_; - protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - protected virtual void layout(facebook::react::LayoutContext layoutContext) override; - public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - template class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { protected facebook::react::Props::Shared props_; @@ -10320,13 +5882,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging { } -template -struct facebook::react::TemplateStringLiteral { - public constexpr TemplateStringLiteral(const char(&str)[N]); - public constexpr operator std::string_view() const; - public std::array value; -} - template class facebook::react::RCTIdentifierPool { public int dequeue(); @@ -10334,10 +5889,6 @@ class facebook::react::RCTIdentifierPool { public void reset(); } -template -struct facebook::react::CSSDataTypeParser { -} - template class facebook::react::ConcreteState : public facebook::react::State { public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); @@ -10355,25 +5906,6 @@ template class facebook::react::SyncCallback { } -template -class facebook::react::SimpleThreadSafeCache { - public SimpleThreadSafeCache(); - public SimpleThreadSafeCache(unsigned long size); - public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; - public std::optional get(const KeyT& key) const; - public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; -} - -template -class facebook::react::OnScopeExit { - public OnScopeExit(const Lambda&& lambda) noexcept; - public OnScopeExit(const facebook::react::OnScopeExit&) = delete; - public OnScopeExit(facebook::react::OnScopeExit&&) = delete; - public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; - public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; - public ~OnScopeExit() noexcept; -} - template struct facebook::react::NativePerformanceRawPerformanceEntry { public P0 name; @@ -10683,13 +6215,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging> { } -template -class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::ComponentName getComponentName() const override; -} - template class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; @@ -10713,29 +6238,6 @@ class facebook::react::ConcreteComponentDescriptor : public facebook::react::Com public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; } -template -class facebook::react::Element { - public Element(); - public facebook::react::Element& children(std::vector children); - public facebook::react::Element& finalize(std::function finalizeCallback); - public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); - public facebook::react::Element& props(std::function callback); - public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); - public facebook::react::Element& reference(std::function callback); - public facebook::react::Element& stateData(std::function callback); - public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); - public facebook::react::Element& tag(facebook::react::Tag tag); - public operator facebook::react::ElementFragment(); - public using ConcreteProps = typename ShadowNodeT::ConcreteProps; - public using ConcreteReferenceCallback = std::function& shadowNode)>; - public using ConcreteShadowNode = ShadowNodeT; - public using ConcreteState = typename ShadowNodeT::ConcreteState; - public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; - public using ConcreteUnsharedShadowNode = std::shared_ptr; - public using SharedConcreteProps = std::shared_ptr; - public using SharedConcreteState = std::shared_ptr; -} - template struct facebook::react::Bridging { } @@ -11046,13 +6548,6 @@ class facebook::react::NativeWebSocketModuleCxxSpec : public facebook::react::Tu public static constexpr std::string_view kModuleName; } -template -struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { - public AnimatedProp() = default; - public AnimatedProp(facebook::react::PropName propName, const T& value); - public T value; -} - template struct facebook::react::CascadedRectangleCorners { public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; @@ -11415,2140 +6910,268 @@ struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfile } template -struct facebook::react::NativeResizeObserverNativeResizeObserverEntryBridging { - public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); - public static T types; - public static double resizeObserverIdToJs(facebook::jsi::Runtime& rt, decltype(types.resizeObserverId) value); - public static facebook::jsi::Array borderBoxSizeToJs(facebook::jsi::Runtime& rt, decltype(types.borderBoxSize) value); - public static facebook::jsi::Array contentBoxSizeToJs(facebook::jsi::Runtime& rt, decltype(types.contentBoxSize) value); - public static facebook::jsi::Array contentRectToJs(facebook::jsi::Runtime& rt, decltype(types.contentRect) value); - public static facebook::jsi::Array devicePixelContentBoxSizeToJs(facebook::jsi::Runtime& rt, decltype(types.devicePixelContentBoxSize) value); - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); - public static facebook::jsi::Value targetInstanceHandleToJs(facebook::jsi::Runtime& rt, decltype(types.targetInstanceHandle) value); -} - -template -struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptionsBridging { - public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); - public static T types; - public static double resizeObserverIdToJs(facebook::jsi::Runtime& rt, decltype(types.resizeObserverId) value); - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); - public static facebook::jsi::Value targetShadowNodeToJs(facebook::jsi::Runtime& rt, decltype(types.targetShadowNode) value); - public static std::optional boxToJs(facebook::jsi::Runtime& rt, decltype(types.box) value); -} - -template -struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging { - public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); - public static T types; - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); - public static facebook::jsi::String scriptURLToJs(facebook::jsi::Runtime& rt, decltype(types.scriptURL) value); -} - -template -struct facebook::react::RectangleCorners { - public T bottomLeft; - public T bottomRight; - public T topLeft; - public T topRight; - public bool isUniform() const noexcept; - public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; -} - -template -struct facebook::react::RectangleEdges { - public T bottom; - public T left; - public T right; - public T top; - public bool isUniform() const noexcept; - public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; - public static const facebook::react::RectangleEdges ZERO; -} - -template -class facebook::react::AsyncCallback { - public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); - public void call(Args... args) const noexcept; - public void call(std::function&& callImpl) const noexcept; - public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; - public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; - public void operator()(Args... args) const noexcept; -} - -template -class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { - public AsyncEventEmitter(); - public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; - public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; - public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; - public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; - public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; - public void emit(Args... value); - public void emit(std::function&& converter); - public ~AsyncEventEmitter() override = default; -} - -template -class facebook::react::SharedFunction { - public SharedFunction(const facebook::react::SharedFunction& other) = default; - public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; - public SharedFunction(std::function&& function = nullptr); - public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; - public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; - public void assign(std::function function) const; - public void operator()(ArgumentT... args) const; -} - -template -class facebook::react::AsyncPromise { - public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); - public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; - public void reject(facebook::react::Error error); - public void resolve(T... value); -} - -template -class facebook::react::EventListenerContainerT { - public bool willDispatchEvent(TArgs... args); - public void addListener(std::shared_ptr> listener); - public void removeListener(const std::shared_ptr>& listener); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); - public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); -} - -struct facebook::react::Bridging { - public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); -} - -struct facebook::react::Bridging { - public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); - public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); -} - -template -struct facebook::react::Bridging> { - public static constexpr size_t kArgumentCount; - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); - public using Func = std::function; - public using IndexSequence = std::index_sequence_for; -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { - public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { - public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); - public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); - template - public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { - public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { - public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { -} - -struct facebook::react::Bridging { - public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); -} - -struct facebook::react::Bridging { - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); - public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); -} - -struct facebook::react::Bridging : public facebook::react::NativeAnimatedTurboModuleEndResultBridging { -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); - public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); - public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); - public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationRecordBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativePerformanceRawPerformanceEntryBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativePerformancePerformanceObserverInitBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { -} - -struct facebook::react::Bridging { - public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); - public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSDataTypeParser> { - public static std::optional> consume(facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); - public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); - public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); -} - -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); -} - -template -struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - - -bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); -bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); -bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); - - -constexpr bool facebook::react::detail::isHexDigit(char c); -constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); -constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); -constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); -constexpr uint8_t facebook::react::detail::clamp255Component(float f); -constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); -constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); -float facebook::react::detail::normalizeHue(float hue); -std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); -std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); -std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); -template -constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); -template -C facebook::react::detail::memberFunctionClass(T C::*); -template -constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); - -class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { - public OwnedBytesBuffer(std::vector bytes) noexcept; - public virtual size_t size() const override; - public virtual uint8_t* data() override; -} - -enum facebook::react::detail::HexColorType { - Long, - Short, -} - -template -struct facebook::react::detail::merge_data_types { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types { -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = typename T::PreparedTextLayout; -} - -template -struct facebook::react::detail::CSSVariantComponentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSAngleTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSFilterSimpleAmountParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSNumberPercentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = std::nullptr_t; -} - -template -struct facebook::react::detail::is_variant_of_data_types : public std::false_type { -} - -template -class facebook::react::detail::TextLayoutManagerExtended { - public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); - public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public static constexpr bool supportsLineMeasurement(); - public static constexpr bool supportsPreparedTextLayout(); - public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; -} - -template -struct facebook::react::detail::merge_variant { -} - -template -struct facebook::react::detail::merge_data_types, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_variant, RestT...> { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types> { - public using type = std::variant; -} - -template -struct facebook::react::detail::is_variant_of_data_types> : public std::true_type { -} - -template -struct facebook::react::detail::merge_data_types, std::variant, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - - -constexpr std::string_view facebook::react::detail::css::keywords::Absolute; -constexpr std::string_view facebook::react::detail::css::keywords::At; -constexpr std::string_view facebook::react::detail::css::keywords::Auto; -constexpr std::string_view facebook::react::detail::css::keywords::Baseline; -constexpr std::string_view facebook::react::detail::css::keywords::Block; -constexpr std::string_view facebook::react::detail::css::keywords::Bottom; -constexpr std::string_view facebook::react::detail::css::keywords::Center; -constexpr std::string_view facebook::react::detail::css::keywords::Clip; -constexpr std::string_view facebook::react::detail::css::keywords::Column; -constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; -constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Content; -constexpr std::string_view facebook::react::detail::css::keywords::Contents; -constexpr std::string_view facebook::react::detail::css::keywords::Contextual; -constexpr std::string_view facebook::react::detail::css::keywords::Dashed; -constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Dotted; -constexpr std::string_view facebook::react::detail::css::keywords::Double; -constexpr std::string_view facebook::react::detail::css::keywords::End; -constexpr std::string_view facebook::react::detail::css::keywords::Fixed; -constexpr std::string_view facebook::react::detail::css::keywords::Flex; -constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; -constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; -constexpr std::string_view facebook::react::detail::css::keywords::Grid; -constexpr std::string_view facebook::react::detail::css::keywords::Groove; -constexpr std::string_view facebook::react::detail::css::keywords::Hidden; -constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Inherit; -constexpr std::string_view facebook::react::detail::css::keywords::Initial; -constexpr std::string_view facebook::react::detail::css::keywords::Inline; -constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; -constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; -constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; -constexpr std::string_view facebook::react::detail::css::keywords::Inset; -constexpr std::string_view facebook::react::detail::css::keywords::Left; -constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; -constexpr std::string_view facebook::react::detail::css::keywords::Ltr; -constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; -constexpr std::string_view facebook::react::detail::css::keywords::Medium; -constexpr std::string_view facebook::react::detail::css::keywords::MinContent; -constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; -constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; -constexpr std::string_view facebook::react::detail::css::keywords::None; -constexpr std::string_view facebook::react::detail::css::keywords::Normal; -constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; -constexpr std::string_view facebook::react::detail::css::keywords::Outset; -constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; -constexpr std::string_view facebook::react::detail::css::keywords::Relative; -constexpr std::string_view facebook::react::detail::css::keywords::Ridge; -constexpr std::string_view facebook::react::detail::css::keywords::Right; -constexpr std::string_view facebook::react::detail::css::keywords::Row; -constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; -constexpr std::string_view facebook::react::detail::css::keywords::Rtl; -constexpr std::string_view facebook::react::detail::css::keywords::Scroll; -constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; -constexpr std::string_view facebook::react::detail::css::keywords::Solid; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; -constexpr std::string_view facebook::react::detail::css::keywords::Start; -constexpr std::string_view facebook::react::detail::css::keywords::Static; -constexpr std::string_view facebook::react::detail::css::keywords::Sticky; -constexpr std::string_view facebook::react::detail::css::keywords::Stretch; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; -constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; -constexpr std::string_view facebook::react::detail::css::keywords::Thick; -constexpr std::string_view facebook::react::detail::css::keywords::Thin; -constexpr std::string_view facebook::react::detail::css::keywords::To; -constexpr std::string_view facebook::react::detail::css::keywords::Top; -constexpr std::string_view facebook::react::detail::css::keywords::Unset; -constexpr std::string_view facebook::react::detail::css::keywords::Visible; -constexpr std::string_view facebook::react::detail::css::keywords::Wrap; -constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; -template -concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); -template -concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); -template -concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); -template -concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); -template -concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); -template -concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); -template -concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); -template -concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); -template -concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); -template -concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); -template -concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); -template -concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); -template -concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); -template -concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); -template -concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); -template -concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); -template -concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); -template -concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); -template -concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); -template -concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); -template -concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); -template -concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); -template -concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); -template -concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); -template -concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); -template -concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); -template -concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); -template -concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); -template -concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); -template -concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); -template -concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); -template -concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); -template -concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); -template -concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); -template -concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); -template -concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); -template -concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); -template -concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); -template -concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); -template -concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); -template -concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); -template -concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); -template -concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); -template -concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); -template -concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); -template -concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); -template -concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); -template -concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); -template -concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); -template -concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); -template -concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); -template -concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); -template -concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); -template -concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); -template -concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); -template -concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); -template -concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); -template -concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); -template -concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); -template -concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); -template -concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); -template -concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); -template -concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); -template -concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); -template -concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); -template -concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); -template -concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); -template -concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); -template -concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); - - -constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; -template -using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; -typedef std::function facebook::react::jsinspector_modern::FrontendChannel; -typedef std::map facebook::react::jsinspector_modern::Headers; -using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; -using facebook::react::jsinspector_modern::IOReadError = const std::string; -using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; -using facebook::react::jsinspector_modern::StreamID = const std::string; -using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; -bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); -facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); -folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); -folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); -std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); -std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); -std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); -template -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); -template -facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); -void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); -void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); -void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); -void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); - -class facebook::react::jsinspector_modern::BoundedRequestBuffer { - public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; - public std::shared_ptr get(const std::string& requestId) const; - public void clear(); -} - -struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { - public bool base64Encoded; - public std::string data; -} - -class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { - public CallbackLocalConnection(std::function handler); - public virtual void disconnect() override; - public virtual void sendMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public CallbackRemoteConnection(std::function handler); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::ConsoleTask { - public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; - public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; - public ConsoleTask(std::shared_ptr taskContext); - public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; - public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; - public ~ConsoleTask(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { - public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); - public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskId id() const; - public std::optional getSerializedStackTrace() const; - public void schedule(); - public ~ConsoleTaskContext(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskId { - public ConsoleTaskId() = default; - public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public operator bool() const; - public operator void *() const; - public ~ConsoleTaskId() = default; -} - -class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { - public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); - public std::shared_ptr top() const; - public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); - public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public ~ConsoleTaskOrchestrator() = default; -} - -class facebook::react::jsinspector_modern::EmulationAgent { - public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); -} - -class facebook::react::jsinspector_modern::ExecutionContextManager { - public int32_t allocateExecutionContextId(); -} - -class facebook::react::jsinspector_modern::ExecutionContextSelector { - public ExecutionContextSelector() = delete; - public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; - public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); - public ~ExecutionContextSelector() = default; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public FallbackRuntimeTargetDelegate(std::string engineDescription); - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; -} - -class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); - public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; - public ~HermesRuntimeTargetDelegate() override; -} - -class facebook::react::jsinspector_modern::HostAgent { - public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); - public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public bool isEligibleForBackgroundTrace() const; - public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public void emitSystemStateChanged(bool isSingleHost); - public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void setCurrentInstanceAgent(std::shared_ptr agent); - public ~HostAgent(); -} - -class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public bool stopAndMaybeEmitBackgroundTrace(); - public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public std::unique_ptr connect(std::unique_ptr connectionToFrontend); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); - public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); - public ~HostTarget(); -} - -class facebook::react::jsinspector_modern::HostTargetController { - public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); - public bool decrementPauseOverlayCounter(); - public bool hasInstance() const; - public bool maybeEmitStashedBackgroundTrace(); - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public void incrementPauseOverlayCounter(); -} - -class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public HostTargetDelegate() = default; - public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&); - public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; - public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); - public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&); - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; - public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; - public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; - public virtual ~HostTargetDelegate() override; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; - public std::optional message; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest { - public std::optional quality; - public std::optional format; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; - public std::optional ignoreCache; - public std::optional scriptToEvaluateOnLoad; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest& rhs) const; - public std::string colorScheme; -} - -class facebook::react::jsinspector_modern::HostTargetTraceRecording { - public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public bool isBackgroundInitiated() const; - public bool isUserInitiated() const; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); - public void start(); -} - -class facebook::react::jsinspector_modern::HostTargetTracingDelegate { - public HostTargetTracingDelegate() = default; - public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); - public virtual void onTracingStopped(); - public virtual ~HostTargetTracingDelegate() = default; -} - -class facebook::react::jsinspector_modern::HostTracingAgent { - public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); -} - -class facebook::react::jsinspector_modern::IDestructible { - public virtual ~IDestructible() = 0; -} - -class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { - public using ConnectFunc = std::function(std::unique_ptr)>; - public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; - public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; - public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; - public virtual std::vector getPages() const = 0; - public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; - public virtual void removePage(int pageId) = 0; - public virtual ~IInspector() = 0; -} - -class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void disconnect() = 0; - public virtual void sendMessage(std::string message) = 0; - public virtual ~ILocalConnection() = 0; -} - -class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onPageRemoved(int); - public virtual ~IPageStatusListener() = 0; -} - -class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onDisconnect() = 0; - public virtual void onMessage(std::string message) = 0; - public virtual ~IRemoteConnection() = 0; -} - -class facebook::react::jsinspector_modern::IWebSocket { - public virtual void send(std::string_view message) = 0; - public virtual ~IWebSocket() = default; -} - -class facebook::react::jsinspector_modern::IWebSocketDelegate { - public virtual void didClose() = 0; - public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; - public virtual void didOpen() = 0; - public virtual void didReceiveMessage(std::string_view message) = 0; - public virtual ~IWebSocketDelegate() = default; -} - -class facebook::react::jsinspector_modern::InspectorFlags { - public InspectorFlags(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public bool getAssertSingleHostState() const; - public bool getFrameRecordingEnabled() const; - public bool getFuseboxEnabled() const; - public bool getIsProfilingBuild() const; - public bool getPerfIssuesEnabled() const; - public bool getScreenshotCaptureEnabled() const; - public facebook::react::jsinspector_modern::InspectorFlags& operator=(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); - public void dangerouslyDisableFuseboxForTest(); - public void dangerouslyResetFlags(); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection { - public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public bool isConnected() const; - public void closeQuietly(); - public void connect(); - public void sendEventToAllConnections(std::string event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { - public bool isConnected() const; - public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public using SessionId = uint32_t; - public void closeQuietly(); - public void connect(); - public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); - public void sendEventToAllConnections(const std::string& event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { - public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; - public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; - public virtual ~InspectorPackagerConnectionDelegate() = default; -} - -class facebook::react::jsinspector_modern::InstanceAgent { - public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); -} - -class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); - public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); - public ~InstanceTarget(); -} - -class facebook::react::jsinspector_modern::InstanceTargetDelegate { - public InstanceTargetDelegate() = default; - public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public virtual ~InstanceTargetDelegate(); -} - -class facebook::react::jsinspector_modern::InstanceTracingAgent { - public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); - public ~InstanceTracingAgent(); -} - -class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public LoadNetworkResourceDelegate() = default; - public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; - public virtual ~LoadNetworkResourceDelegate() = default; -} - -class facebook::react::jsinspector_modern::NetworkHandler { - public bool isEnabled() const; - public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); - public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); - public std::optional> getResponseBody(const std::string& requestId); - public void disableAgent(size_t agentId); - public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); - public void onLoadingFailed(const std::string& requestId, bool cancelled); - public void onLoadingFinished(const std::string& requestId, int encodedDataLength); - public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); - public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); - public void onWebSocketClosed(const std::string& requestId); - public void onWebSocketCreated(const std::string& requestId, const std::string& url); - public void onWebSocketFrameReceived(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketFrameSent(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t status, const facebook::react::jsinspector_modern::Headers& headers); - public void onWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::jsinspector_modern::NetworkIOAgent { - public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); - public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public ~NetworkIOAgent(); -} - -class facebook::react::jsinspector_modern::NetworkRequestListener { - public NetworkRequestListener() = default; - public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public virtual void onCompletion() = 0; - public virtual void onData(std::string_view data) = 0; - public virtual void onError(const std::string& message) = 0; - public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; - public virtual void setCancelFunction(std::function cancelFunction) = 0; - public virtual ~NetworkRequestListener() = default; -} - -class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { - public NotImplementedException(std::string message); - public const char* what() const noexcept override; -} - -class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { -} - -class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { - public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); - public void handlePerfIssueAdded(const std::string& message); -} - -class facebook::react::jsinspector_modern::RAIIRemoteConnection { - public RAIIRemoteConnection(std::unique_ptr remote); - public void onMessage(std::string message); - public ~RAIIRemoteConnection(); -} - -class facebook::react::jsinspector_modern::RuntimeAgent { - public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); - public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); - public void notifyFastRefreshComplete(); - public ~RuntimeAgent(); -} - -struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { - public std::unique_ptr delegateState; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; - public virtual std::unique_ptr getExportedState(); - public virtual ~RuntimeAgentDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { - public virtual ~ExportedState() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public ~RuntimeTarget(); -} - -class facebook::react::jsinspector_modern::RuntimeTargetController { - public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); - public void disableSamplingProfiler(); - public void emitTracingStateChange(bool isTracing); - public void enableSamplingProfiler(); - public void installBindingHandler(const std::string& bindingName); - public void installScriptToEvaluateOnNewDocument(const std::string& source); - public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); -} - -enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { - Log, - Network, - Runtime, - kMaxValue, -} - -class facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public virtual bool supportsConsole() const = 0; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; - public virtual void disableSamplingProfiler() = 0; - public virtual void enableSamplingProfiler() = 0; - public virtual ~RuntimeTargetDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); - public ~RuntimeTracingAgent(); -} - -class facebook::react::jsinspector_modern::StackTrace { - public StackTrace() = default; - public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public static std::unique_ptr empty(); - public virtual ~StackTrace() = default; -} - -class facebook::react::jsinspector_modern::TracingAgent { - public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public ~TracingAgent(); -} - -enum facebook::react::jsinspector_modern::ConsoleAPIType { - kAssert, - kClear, - kCount, - kDebug, - kDir, - kDirXML, - kEndGroup, - kError, - kInfo, - kLog, - kStartGroup, - kStartGroupCollapsed, - kTable, - kTimeEnd, - kTrace, - kWarning, -} - -enum facebook::react::jsinspector_modern::HostCommand { - DebuggerResume, - DebuggerStepOver, -} - -struct facebook::react::jsinspector_modern::ConsoleMessage { - public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); - public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public std::unique_ptr stackTrace; - public std::vector args; - public ~ConsoleMessage() = default; -} - -struct facebook::react::jsinspector_modern::ExecutionContextDescription { - public int32_t id; - public std::optional uniqueId; - public std::string name; - public std::string origin; -} - -struct facebook::react::jsinspector_modern::GetResponseBodyResult { - public bool base64Encoded; - public folly::dynamic toDynamic() const; - public std::string body; +struct facebook::react::NativeResizeObserverNativeResizeObserverEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double resizeObserverIdToJs(facebook::jsi::Runtime& rt, decltype(types.resizeObserverId) value); + public static facebook::jsi::Array borderBoxSizeToJs(facebook::jsi::Runtime& rt, decltype(types.borderBoxSize) value); + public static facebook::jsi::Array contentBoxSizeToJs(facebook::jsi::Runtime& rt, decltype(types.contentBoxSize) value); + public static facebook::jsi::Array contentRectToJs(facebook::jsi::Runtime& rt, decltype(types.contentRect) value); + public static facebook::jsi::Array devicePixelContentBoxSizeToJs(facebook::jsi::Runtime& rt, decltype(types.devicePixelContentBoxSize) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Value targetInstanceHandleToJs(facebook::jsi::Runtime& rt, decltype(types.targetInstanceHandle) value); } -struct facebook::react::jsinspector_modern::HostTargetMetadata { - public std::optional appDisplayName; - public std::optional appIdentifier; - public std::optional deviceName; - public std::optional integrationName; - public std::optional platform; - public std::optional reactNativeVersion; +template +struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static double resizeObserverIdToJs(facebook::jsi::Runtime& rt, decltype(types.resizeObserverId) value); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Value targetShadowNodeToJs(facebook::jsi::Runtime& rt, decltype(types.targetShadowNode) value); + public static std::optional boxToJs(facebook::jsi::Runtime& rt, decltype(types.box) value); } -struct facebook::react::jsinspector_modern::IOReadResult { - public bool base64Encoded; - public bool eof; - public folly::dynamic toDynamic() const; - public std::string data; +template +struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::String scriptURLToJs(facebook::jsi::Runtime& rt, decltype(types.scriptURL) value); } -struct facebook::react::jsinspector_modern::InspectorPageDescription { - public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; - public const int id; - public const std::string description; - public const std::string vm; +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; } -struct facebook::react::jsinspector_modern::InspectorSystemState { - public int registeredHostsCount; +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; } -struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { - public bool nativePageReloads; - public bool nativeSourceCodeFetching; +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; } -struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { - public std::string url; +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; } -struct facebook::react::jsinspector_modern::NetworkResource { - public bool success; - public folly::dynamic toDynamic() const; - public std::optional headers; - public std::optional netErrorName; - public std::optional stream; - public std::optional httpStatusCode; +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; } -struct facebook::react::jsinspector_modern::PerfIssuePayload { - public std::optional description; - public std::optional learnMoreUrl; - public std::optional severity; - public std::string name; +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); } -struct facebook::react::jsinspector_modern::ReadStreamParams { - public facebook::react::jsinspector_modern::StreamID handle; - public std::optional offset; - public std::optional size; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); } -struct facebook::react::jsinspector_modern::SessionState { - public bool hasPendingTraceRecording; - public bool isDebuggerDomainEnabled; - public bool isLogDomainEnabled; - public bool isNetworkDomainEnabled; - public bool isReactNativeApplicationDomainEnabled; - public bool isRuntimeDomainEnabled; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; - public std::unordered_map subscribedBindings; - public std::vector scriptsToEvaluateOnNewDocument; - public std::vector pendingSimpleConsoleMessages; - public unsigned int nextScriptToEvaluateOnNewDocumentId; +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); } -struct facebook::react::jsinspector_modern::SessionState::ScriptToEvaluateOnNewDocument { - public std::string identifier; - public std::string source; +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); } -struct facebook::react::jsinspector_modern::SimpleConsoleMessage { - public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public std::vector args; - public ~SimpleConsoleMessage() = default; +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); } -template -class facebook::react::jsinspector_modern::EnumArray { - public constexpr ValueType& operator[](IndexType i); - public constexpr const ValueType& operator[](IndexType i) const; - public constexpr int size() const; +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; } -template -struct facebook::react::jsinspector_modern::UniqueMonostate { - public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -template -class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { - public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); - public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); - template - public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } template -class facebook::react::jsinspector_modern::WeakList { - public bool empty() const; - public size_t size() const; - public void insert(std::weak_ptr ptr); - template - public bool anyOf(Fn&& fn) const; - template - public bool anyOf(Fn&& fn); - template - public void forEach(Fn&& fn) const; - template - public void forEach(Fn&& fn); -} - - -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; -using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; -using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; -using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; -using facebook::react::jsinspector_modern::tracing::Headers = std::map; -using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; -using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; -using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; -int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); -std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); -std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); -std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); -std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); - -class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { - public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { - public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); - public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); - public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); -} - -class facebook::react::jsinspector_modern::tracing::PerformanceTracer { - public bool isTracing() const; - public bool startTracing(); - public bool startTracing(facebook::react::HighResDuration maxDuration); - public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); - public std::optional> stopTracing(); - public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); - public using TracingStateCallback = std::function; - public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); - public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); - public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); - public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); - public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); - public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); - public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); - public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); -} - -class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { - public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); - public bool hasParent() const; - public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; - public static constexpr uint32_t NO_PARENT; - public uint32_t getId() const; - public uint32_t getParentId() const; -} - -enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { - JavaScript, - Other, -} - -class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public virtual ~RawRuntimeProfile() = default; -} - -class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { - public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); - public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); -} - -class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; - public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public bool isRunningInBackgroundMode(); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { - public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); - public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { - public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); - public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); - public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); - public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); - public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); - public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); - public static size_t estimateJsonSize(const folly::dynamic& value); -} - -enum facebook::react::jsinspector_modern::tracing::Category { - Frame, - HiddenTimeline, - JavaScriptSampling, - RuntimeExecution, - Screenshot, - Timeline, - UserTiming, +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { - Error, - Primary, - PrimaryDark, - PrimaryLight, - Secondary, - SecondaryDark, - SecondaryLight, - Tertiary, - TertiaryDark, - TertiaryLight, - Warning, -} - -enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { - Microtasks, - Task, -} - -enum facebook::react::jsinspector_modern::tracing::Mode { - Background, - CDP, -} - -struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { - public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public ~EventLoopReporter(); -} - -struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { - public FrameTimingSequence() = delete; - public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); - public facebook::react::HighResDuration vsyncInterval; - public facebook::react::HighResTimeStamp beginTimestamp; - public facebook::react::HighResTimeStamp endTimestamp; - public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::optional> screenshot; -} - -struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { - public HostTracingProfile() = default; - public HostTracingProfile(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public HostTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public std::vector frameTimings; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~HostTracingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::IdGenerator { - public uint32_t getNext(); -} - -struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { - public std::vector performanceTraceEvents; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { - public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public std::string runtimeName; - public std::unique_ptr rawRuntimeProfile; - public std::vector samples; - public ~RuntimeSamplingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { - public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::vector callStack; - public uint64_t timestamp; - public ~Sample() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { - public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; - public std::optional scriptURL; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string_view functionName; - public uint32_t scriptId; -} - -enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { - GarbageCollector, - HostFunction, - JSFunction, - NativeFunction, -} - -struct facebook::react::jsinspector_modern::tracing::TraceEvent { - public char ph; - public facebook::react::HighResTimeStamp ts; - public facebook::react::jsinspector_modern::tracing::Categories cat; - public facebook::react::jsinspector_modern::tracing::ProcessId pid; - public facebook::react::jsinspector_modern::tracing::ThreadId tid; - public folly::dynamic args; - public std::optional s; - public std::optional dur; - public std::optional id; - public std::string name; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; - public using TimeDeltas = std::vector; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { - public std::vector nodes; - public std::vector samples; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; - public std::optional parentId; - public uint32_t id; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { - public std::optional url; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string codeType; - public std::string functionName; - public uint32_t scriptId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { - public TraceRecordingState(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public facebook::react::jsinspector_modern::tracing::Mode mode; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public std::optional windowSize; - public std::set enabledCategories; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~TraceRecordingState() = default; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } template -class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { - public TimeWindowedBuffer(); - public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); - public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); - public using TimestampAccessor = std::function; - public void clear(); - public void push(T&& element); - public void push(const T& element); +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); } -template -class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { - public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; - public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public ~PerformanceTracerSection() noexcept; -} - - -using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; -using facebook::react::jsinspector_modern::cdp::RequestId = long long; -using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; -facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); -std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); - -enum facebook::react::jsinspector_modern::cdp::ErrorCode { - InternalError, - InvalidParams, - InvalidRequest, - MethodNotFound, - ParseError, -} - -struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { - public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; - public facebook::react::jsinspector_modern::cdp::RequestId id; - public folly::dynamic params; - public std::string method; - public std::string toJson() const; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { } - -using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; -std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); - -struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { - public double requestTime; +struct facebook::react::Bridging { + public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); } -struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int dataLength; - public int encodedDataLength; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); } -struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { - public bool canceled; - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string errorText; - public std::string requestId; - public std::string type; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); } -struct facebook::react::jsinspector_modern::cdp::network::Request { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::optional postData; - public std::string method; - public std::string url; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { - public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { - public bool redirectHasExtraInfo; - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Request request; - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::optional redirectResponse; - public std::string documentURL; - public std::string loaderId; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::Response { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); - public std::string mimeType; - public std::string statusText; - public std::string url; - public uint16_t status; -} - -struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { - public bool hasExtraInfo; - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::Response response; - public folly::dynamic toDynamic() const; - public std::string loaderId; - public std::string requestId; - public std::string type; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketClosedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketCreatedParams { - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::string requestId; - public std::string url; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrame { - public bool mask; - public folly::dynamic toDynamic() const; - public int opcode; - public std::string payloadData; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrameParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketFrame response; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketHandshakeResponseReceivedParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketResponse response; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketResponse { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public static facebook::react::jsinspector_modern::cdp::network::WebSocketResponse fromInputParams(uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers); - public std::string statusText; - public uint16_t status; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketWillSendHandshakeRequestParams { - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } - -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; -bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); -facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); -std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); -std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); - -struct facebook::react::dom::DOMBorderWidthRounded { - public int bottom; - public int left; - public int right; - public int top; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -struct facebook::react::dom::DOMOffset { - public double left; - public double top; - public std::shared_ptr offsetParent; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); } -struct facebook::react::dom::DOMPoint { - public double x; - public double y; +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { } -struct facebook::react::dom::DOMRect { - public double height; - public double width; - public double x; - public double y; +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); } -struct facebook::react::dom::DOMSizeRounded { - public int height; - public int width; +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -struct facebook::react::dom::RNMeasureRect { - public double height; - public double pageX; - public double pageY; - public double width; - public double x; - public double y; -} + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); facebook::jsi::Value facebook::react::TurboModuleConvertUtils::convertObjCObjectToJSIValue(facebook::jsi::Runtime& runtime, id value); @@ -13558,9 +7181,6 @@ id facebook::react::TurboModuleConvertUtils::convertJSIValueToObjCObject(faceboo static const facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; -static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; - - template constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; template @@ -13694,6 +7314,16 @@ struct facebook::react::array_detail::BridgingDynamic { } +template +C facebook::react::detail::memberFunctionClass(T C::*); + +class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { + public OwnedBytesBuffer(std::vector bytes) noexcept; + public virtual size_t size() const override; + public virtual uint8_t* data() override; +} + + template struct facebook::react::map_detail::Bridging { public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); @@ -13701,112 +7331,6 @@ struct facebook::react::map_detail::Bridging { } -uint64_t facebook::react::oscompat::getCurrentProcessId(); -uint64_t facebook::react::oscompat::getCurrentThreadId(); - - -using facebook::react::ReactMarker::LogTaggedMarker = std::function; -using facebook::react::ReactMarker::LogTaggedMarkerBridgeless = facebook::react::ReactMarker::LogTaggedMarker; -void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); -void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -facebook::react::ReactMarker::AtomicLogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; - -class facebook::react::ReactMarker::StartupLogger { - public double getAppStartupEndTime(); - public double getAppStartupStartTime(); - public double getInitReactRuntimeStartTime(); - public double getRunJSBundleStartTime(); - public static facebook::react::ReactMarker::StartupLogger& getInstance(); - public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); - public void reset(); -} - -enum facebook::react::ReactMarker::ReactMarkerId { - APP_STARTUP_START, - APP_STARTUP_STOP, - CREATE_REACT_CONTEXT_STOP, - INIT_REACT_RUNTIME_START, - INIT_REACT_RUNTIME_STOP, - JS_BUNDLE_STRING_CONVERT_START, - JS_BUNDLE_STRING_CONVERT_STOP, - NATIVE_MODULE_SETUP_START, - NATIVE_MODULE_SETUP_STOP, - NATIVE_REQUIRE_START, - NATIVE_REQUIRE_STOP, - REACT_INSTANCE_INIT_START, - REACT_INSTANCE_INIT_STOP, - REGISTER_JS_SEGMENT_START, - REGISTER_JS_SEGMENT_STOP, - RUN_JS_BUNDLE_START, - RUN_JS_BUNDLE_STOP, -} - -struct facebook::react::ReactMarker::AtomicLogTaggedMarker { - public facebook::react::ReactMarker::AtomicLogTaggedMarker& operator=(facebook::react::ReactMarker::LogTaggedMarker marker); - public operator bool() const noexcept; - public void operator()(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag) const; -} - -struct facebook::react::ReactMarker::ReactMarkerEvent { - public const char* tag; - public const facebook::react::ReactMarker::ReactMarkerId markerId; - public double time; -} - - -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); -void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); - - -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); - - -void facebook::react::LowPriorityExecutor::execute(std::function&& workItem); - - void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); @@ -13850,9 +7374,6 @@ void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); -std::unique_ptr facebook::jsc::makeJSCRuntime(); - - using facebook::jsi::HostFunctionType = std::function; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); @@ -16025,22 +9546,10 @@ struct std::hash { public size_t operator()(const RCTComponentViewDescriptor& componentViewDescriptor) const; } -struct std::hash { - public size_t operator()(const facebook::react::AttributedString& attributedString) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; -} - struct std::hash { public size_t operator()(const facebook::react::Color& color) const; } -struct std::hash { - public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; } @@ -16049,30 +9558,14 @@ struct std::hash { public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; } -struct std::hash { - public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; -} - struct std::hash { public size_t operator()(const facebook::react::Point& point) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Rect& rect) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::ShadowView& shadowView) const; -} - struct std::hash { public size_t operator()(const facebook::react::SharedColor& color) const; } @@ -16081,18 +9574,6 @@ struct std::hash { public size_t operator()(const facebook::react::Size& size) const; } -struct std::hash { - public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextEffectInfo& info) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Transform& transform) const; } @@ -16107,23 +9588,6 @@ struct std::hash> { public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; -} - -template -struct std::hash> { - public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; -} - template FB::LazyIterator FB::operator+(typename FB::LazyIterator::difference_type n, const FB::LazyIterator& i); diff --git a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api new file mode 100644 index 000000000000..f8acfc9001b6 --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api @@ -0,0 +1,14534 @@ +// @generated by scripts/cxx-api + +category NSTextStorage(FontScaling) { + public virtual void scaleFontSizeToFitSize:minimumFontSize:maximumFontSize:(CGSize size, CGFloat minimumFontSize, CGFloat maximumFontSize); + public virtual void scaleFontSizeWithRatio:minimumFontSize:maximumFontSize:(CGFloat ratio, CGFloat minimumFontSize, CGFloat maximumFontSize); +} + +category RCTBridge(Inspector) { + public @property (assign, readonly) BOOL inspectable; + public @property (assign, readonly) facebook::react::jsinspector_modern::HostTarget* inspectorTarget; +} + +category RCTBridge(RCTAccessibilityManager) { + public @property (assign, readonly) RCTAccessibilityManager* accessibilityManager; +} + +category RCTBridge(RCTDevMenu) { + public @property (assign, readonly) RCTDevMenu* devMenu; +} + +category RCTBridge(RCTDevSettings) { + public @property (assign, readonly) RCTDevSettings* devSettings; +} + +category RCTBridge(RCTEventDispatcher) { + public virtual id eventDispatcher(); +} + +category RCTBridge(RCTImageLoader) { + public @property (assign, readonly) RCTImageLoader* imageLoader; +} + +category RCTBridge(RCTImageStoreManager) { + public @property (assign, readonly) RCTImageStoreManager* imageStoreManager; +} + +category RCTBridge(RCTNetworking) { + public @property (assign, readonly) RCTNetworking* networking; +} + +category RCTBridge(RCTSurfacePresenterStub) { + public virtual id surfacePresenter(); + public virtual void setSurfacePresenter:(id presenter); +} + +category RCTBridge(RCTTurboModule) { + public virtual std::shared_ptr jsCallInvoker(); + public virtual std::shared_ptr decorateNativeMethodCallInvoker:(std::shared_ptr nativeMethodCallInvoker); +} + +category RCTBridge(RCTUIManager) { + public @property (assign, readonly) RCTUIManager* uiManager; +} + +category RCTBridge(RCTWebSocketModule) { + public virtual RCTWebSocketModule* webSocketModule(); +} + +category RCTBridgeProxy(Cxx) { + public @property (assign) std::shared_ptr jsCallInvoker; +} + +category RCTBridgeProxy(RCTAccessibilityManager) { + public @property (assign, readonly) RCTAccessibilityManager* accessibilityManager; +} + +category RCTBridgeProxy(RCTDevMenu) { + public @property (assign, readonly) RCTDevMenu* devMenu; +} + +category RCTBridgeProxy(RCTDevSettings) { + public @property (assign, readonly) RCTDevSettings* devSettings; +} + +category RCTBridgeProxy(RCTEventDispatcher) { + public virtual id eventDispatcher(); +} + +category RCTBridgeProxy(RCTImageLoader) { + public @property (assign, readonly) RCTImageLoader* imageLoader; +} + +category RCTBridgeProxy(RCTImageStoreManager) { + public @property (assign, readonly) RCTImageStoreManager* imageStoreManager; +} + +category RCTBridgeProxy(RCTNetworking) { + public @property (assign, readonly) RCTNetworking* networking; +} + +category RCTBridgeProxy(RCTSurfacePresenterStub) { + public virtual id surfacePresenter(); + public virtual void setSurfacePresenter:(id presenter); +} + +category RCTBridgeProxy(RCTUIManager) { + public @property (assign, readonly) RCTUIManager* uiManager; +} + +category RCTBridgeProxy(RCTWebSocketModule) { + public virtual RCTWebSocketModule* webSocketModule(); +} + +category RCTConvert(CoreLocation) { + public virtual static CLLocationCoordinate2D CLLocationCoordinate2D:(id json); + public virtual static CLLocationDegrees CLLocationDegrees:(id json); + public virtual static CLLocationDistance CLLocationDistance:(id json); +} + +category RCTConvert(DynamicTypeRamp) { + public virtual static RCTDynamicTypeRamp RCTDynamicTypeRamp:(_Nullable id json); +} + +category RCTConvert(ImageSource) { + public virtual static NSArray* RCTImageSourceArray:(id json); + public virtual static RCTImageSource* RCTImageSource:(id json); +} + +category RCTConvert(RCTFont) { + public virtual static UIFont* UIFont:(id json); +} + +category RCTConvert(RCTResizeMode) { + public virtual static RCTResizeMode RCTResizeMode:(id json); +} + +category RCTConvert(RCTTextSelection) { + public virtual static RCTTextSelection* RCTTextSelection:(id json); +} + +category RCTConvert(Text) { + public virtual static RCTTextTransform RCTTextTransform:(_Nullable id json); + public virtual static UITextAutocorrectionType UITextAutocorrectionType:(_Nullable id json); + public virtual static UITextSmartInsertDeleteType UITextSmartInsertDeleteType:(_Nullable id json); + public virtual static UITextSpellCheckingType UITextSpellCheckingType:(_Nullable id json); +} + +category RCTConvert(Transform) { + public virtual static CATransform3D CATransform3D:(id json); + public virtual static RCTTransformOrigin RCTTransformOrigin:(id json); +} + +category RCTConvert(UIStatusBar) { + public virtual static UIStatusBarAnimation UIStatusBarAnimation:(id json); + public virtual static UIStatusBarStyle UIStatusBarStyle:(id json); +} + +category RCTCxxConvert(NativeAccessibilityManager_SpecAnnounceForAccessibilityWithOptionsOptions) { + public virtual static RCTManagedPointer* JS_NativeAccessibilityManager_SpecAnnounceForAccessibilityWithOptionsOptions:(id json); +} + +category RCTCxxConvert(NativeAccessibilityManager_SpecSetAccessibilityContentSizeMultipliersJSMultipliers) { + public virtual static RCTManagedPointer* JS_NativeAccessibilityManager_SpecSetAccessibilityContentSizeMultipliersJSMultipliers:(id json); +} + +category RCTCxxConvert(NativeActionSheetManager_SpecShowActionSheetWithOptionsOptions) { + public virtual static RCTManagedPointer* JS_NativeActionSheetManager_SpecShowActionSheetWithOptionsOptions:(id json); +} + +category RCTCxxConvert(NativeActionSheetManager_SpecShowShareActionSheetWithOptionsOptions) { + public virtual static RCTManagedPointer* JS_NativeActionSheetManager_SpecShowShareActionSheetWithOptionsOptions:(id json); +} + +category RCTCxxConvert(NativeAlertManager_Args) { + public virtual static RCTManagedPointer* JS_NativeAlertManager_Args:(id json); +} + +category RCTCxxConvert(NativeAnimatedModule_EventMapping) { + public virtual static RCTManagedPointer* JS_NativeAnimatedModule_EventMapping:(id json); +} + +category RCTCxxConvert(NativeAnimatedTurboModule_EventMapping) { + public virtual static RCTManagedPointer* JS_NativeAnimatedTurboModule_EventMapping:(id json); +} + +category RCTCxxConvert(NativeExceptionsManager_ExceptionData) { + public virtual static RCTManagedPointer* JS_NativeExceptionsManager_ExceptionData:(id json); +} + +category RCTCxxConvert(NativeExceptionsManager_StackFrame) { + public virtual static RCTManagedPointer* JS_NativeExceptionsManager_StackFrame:(id json); +} + +category RCTCxxConvert(NativeFrameRateLogger_SpecSetGlobalOptionsOptions) { + public virtual static RCTManagedPointer* JS_NativeFrameRateLogger_SpecSetGlobalOptionsOptions:(id json); +} + +category RCTCxxConvert(NativeImageEditor_Options) { + public virtual static RCTManagedPointer* JS_NativeImageEditor_Options:(id json); +} + +category RCTCxxConvert(NativeImageEditor_OptionsDisplaySize) { + public virtual static RCTManagedPointer* JS_NativeImageEditor_OptionsDisplaySize:(id json); +} + +category RCTCxxConvert(NativeImageEditor_OptionsOffset) { + public virtual static RCTManagedPointer* JS_NativeImageEditor_OptionsOffset:(id json); +} + +category RCTCxxConvert(NativeImageEditor_OptionsSize) { + public virtual static RCTManagedPointer* JS_NativeImageEditor_OptionsSize:(id json); +} + +category RCTCxxConvert(NativeNetworkingIOS_SpecSendRequestQuery) { + public virtual static RCTManagedPointer* JS_NativeNetworkingIOS_SpecSendRequestQuery:(id json); +} + +category RCTCxxConvert(NativePushNotificationManagerIOS_Notification) { + public virtual static RCTManagedPointer* JS_NativePushNotificationManagerIOS_Notification:(id json); +} + +category RCTCxxConvert(NativePushNotificationManagerIOS_SpecRequestPermissionsPermission) { + public virtual static RCTManagedPointer* JS_NativePushNotificationManagerIOS_SpecRequestPermissionsPermission:(id json); +} + +category RCTCxxConvert(NativeReactDevToolsRuntimeSettingsModule_PartialReloadAndProfileConfig) { + public virtual static RCTManagedPointer* JS_NativeReactDevToolsRuntimeSettingsModule_PartialReloadAndProfileConfig:(id json); +} + +category RCTCxxConvert(NativeShareModule_SpecShareContent) { + public virtual static RCTManagedPointer* JS_NativeShareModule_SpecShareContent:(id json); +} + +category RCTCxxConvert(NativeWebSocketModule_SpecConnectOptions) { + public virtual static RCTManagedPointer* JS_NativeWebSocketModule_SpecConnectOptions:(id json); +} + +category RCTScrollViewComponentView(ScrollableProtocol) { +} + +category RCTShadowView(Layout) { + public @property (assign, readonly) CGRect contentFrame; + public @property (assign, readonly) CGSize availableSize; + public @property (assign, readonly) UIEdgeInsets borderAsInsets; + public @property (assign, readonly) UIEdgeInsets compoundInsets; + public @property (assign, readonly) UIEdgeInsets paddingAsInsets; + public virtual void clearLayout(); + public virtual void dirtyLayout(); +} + +category RCTSurfacePresenter(Surface) { + public @property (assign, readonly) RCTMountingManager* mountingManager; + public @property (assign, readonly) RCTScheduler* scheduler; + public virtual _Nullable RCTFabricSurface* surfaceForRootTag:(ReactTag rootTag); + public virtual id createFabricSurfaceForModuleName:initialProperties:(NSString* moduleName, NSDictionary* initialProperties); + public virtual void addObserver:(id observer); + public virtual void registerSurface:(RCTFabricSurface* surface); + public virtual void removeObserver:(id observer); + public virtual void schedulerDidSynchronouslyUpdateViewOnUIThread:props:(ReactTag tag, folly::dynamic props); + public virtual void setupAnimationDriverWithSurfaceHandler:(const facebook::react::SurfaceHandler& surfaceHandler); + public virtual void synchronouslyUpdateViewOnUIThread:props:(NSNumber* reactTag, NSDictionary* props); + public virtual void unregisterSurface:(RCTFabricSurface* surface); +} + +category UIImage(React) { + public @property (assign) NSInteger reactDecodedImageBytes; +} + +category UIView(ComponentViewProtocol) { + public virtual facebook::react::Props::Shared props(); + public virtual static std::vector supplementalComponentDescriptorProviders(); + public virtual void finalizeUpdates:(RNComponentViewUpdateMask updateMask); + public virtual void invalidate(); + public virtual void mountChildComponentView:index:(UIView* childComponentView, NSInteger index); + public virtual void prepareForRecycle(); + public virtual void setIsJSResponder:(BOOL isJSResponder); + public virtual void unmountChildComponentView:index:(UIView* childComponentView, NSInteger index); + public virtual void updateClippedSubviewsWithClipRect:relativeToView:(CGRect clipRect, UIView* clipView); + public virtual void updateEventEmitter:(const facebook::react::EventEmitter::Shared& eventEmitter); + public virtual void updateLayoutMetrics:oldLayoutMetrics:(const facebook::react::LayoutMetrics& layoutMetrics, const facebook::react::LayoutMetrics& oldLayoutMetrics); + public virtual void updateProps:oldProps:(const facebook::react::Props::Shared& props, const facebook::react::Props::Shared& oldProps); + public virtual void updateState:oldState:(const facebook::react::State::Shared& state, const facebook::react::State::Shared& oldState); +} + +category UIView(RCTScrollViewComponentView) { + public virtual void reactUpdateResponderOffsetForScrollView:(RCTScrollViewComponentView* scrollView); +} + +category UIView(React) { + public @property (assign) BOOL shouldAccessibilityIgnoresInvertColors; + public @property (assign) CATransform3D reactTransform; + public @property (assign) NSInteger reactZIndex; + public @property (assign) RCTTransformOrigin reactTransformOrigin; + public @property (assign) UIAccessibilityTraits accessibilityRoleTraits; + public @property (assign) UIAccessibilityTraits roleTraits; + public @property (assign) UIUserInterfaceLayoutDirection reactLayoutDirection; + public @property (assign) YGDisplay reactDisplay; + public @property (assign, readonly) CGRect reactContentFrame; + public @property (assign, readonly) UIEdgeInsets reactBorderInsets; + public @property (assign, readonly) UIEdgeInsets reactCompoundInsets; + public @property (assign, readonly) UIEdgeInsets reactPaddingInsets; + public @property (assign, readonly) UIView* reactAccessibilityElement; + public @property (copy) NSArray* accessibilityActions; + public @property (copy) NSDictionary* accessibilityValueInternal; + public @property (copy) NSDictionary* accessibilityState; + public @property (copy) NSString* accessibilityLanguage; + public @property (copy) NSString* accessibilityRole; + public @property (copy) NSString* nativeID; + public @property (copy) NSString* role; + public virtual NSArray* reactSubviews(); + public virtual NSArray* reactZIndexSortedSubviews(); + public virtual NSString* react_recursiveDescription(); + public virtual UIView* reactSuperview(); + public virtual UIViewController* reactViewController(); + public virtual void didSetProps:(NSArray* changedProps); + public virtual void didUpdateReactSubviews(); + public virtual void insertReactSubview:atIndex:(UIView* subview, NSInteger atIndex); + public virtual void reactAddControllerToClosestParent:(UIViewController* controller); + public virtual void reactBlur(); + public virtual void reactFocus(); + public virtual void reactFocusIfNeeded(); + public virtual void reactSetFrame:(CGRect frame); + public virtual void removeReactSubview:(UIView* subview); +} + +class ObjCTimerRegistry : public facebook::react::PlatformTimerRegistry { + public ObjCTimerRegistry(); + public RCTTiming* _Null_unspecified timing; + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) override; + public virtual void createTimer(uint32_t timerID, double delayMS) override; + public virtual void deleteTimer(uint32_t timerID) override; + public virtual void setTimerManager(std::weak_ptr timerManager) override; +} + +class RCTComponentViewClassDescriptor { + public Class viewClass; + public bool observesMountingTransactionDidMount; + public bool observesMountingTransactionWillMount; + public bool shouldBeRecycled; +} + +class RCTComponentViewDescriptor { + public __strong UIView* const view; + public const bool observesMountingTransactionDidMount; + public const bool observesMountingTransactionWillMount; + public const bool shouldBeRecycled; +} + +class RCTMountingTransactionObserverCoordinator { + public void notifyObserversMountingTransactionDidMount(const facebook::react::MountingTransaction& transaction, const facebook::react::SurfaceTelemetry& surfaceTelemetry) const; + public void notifyObserversMountingTransactionWillMount(const facebook::react::MountingTransaction& transaction, const facebook::react::SurfaceTelemetry& surfaceTelemetry) const; + public void registerViewComponentDescriptor(const RCTComponentViewDescriptor& componentViewDescriptor, facebook::react::SurfaceId surfaceId); + public void unregisterViewComponentDescriptor(const RCTComponentViewDescriptor& componentViewDescriptor, facebook::react::SurfaceId surfaceId); +} + +interface CommonHostMetadata : public NSObject { + public @property (strong) NSString* appDisplayName; + public @property (strong) NSString* appIdentifier; + public @property (strong) NSString* deviceName; + public @property (strong) NSString* platform; + public @property (strong) NSString* reactNativeVersion; +} + +interface EventEmitterCallbackWrapper : public NSObject { + public facebook::react::EventEmitterCallback _eventEmitterCallback; +} + +interface NativeAccessibilityInfoSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAccessibilityManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeActionSheetManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAlertManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAnimatedModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAnimatedTurboModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAppStateSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeAppearanceSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeBlobModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeClipboardSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDevLoadingViewSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDevMenuSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDevSettingsSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDeviceEventManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeDeviceInfoSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeExceptionsManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeFileReaderModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeFrameRateLoggerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeHeadlessJsTaskSupportSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeI18nManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeImageEditorSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeImageLoaderIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeImageStoreIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeJSCHeapCaptureSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeKeyboardObserverSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeLinkingManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeLogBoxSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeNetworkingIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativePlatformConstantsIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativePushNotificationManagerIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeReactDevToolsRuntimeSettingsModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeReactDevToolsSettingsManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeRedBoxSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeSegmentFetcherSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeSettingsManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeShareModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeSoundManagerSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeSourceCodeSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeStatusBarManagerIOSSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeTimingSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeVibrationSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface NativeWebSocketModuleSpecBase : public NSObject { + protected facebook::react::EventEmitterCallback _eventEmitterCallback; + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +interface RCTAccessibilityElement : public UIAccessibilityElement { + public @property (assign) CGRect frameInContainerSpace; +} + +interface RCTAccessibilityManager : public NSObject { + public @property (assign) BOOL isBoldTextEnabled; + public @property (assign) BOOL isDarkerSystemColorsEnabled; + public @property (assign) BOOL isGrayscaleEnabled; + public @property (assign) BOOL isInvertColorsEnabled; + public @property (assign) BOOL isReduceMotionEnabled; + public @property (assign) BOOL isReduceTransparencyEnabled; + public @property (assign) BOOL isVoiceOverEnabled; + public @property (assign) BOOL prefersCrossFadeTransitions; + public @property (assign, readonly) CGFloat multiplier; + public @property (copy) NSDictionary* multipliers; +} + +interface RCTActionSheetManager : public NSObject { +} + +interface RCTActivityIndicatorViewComponentView : public RCTViewComponentView { +} + +interface RCTAdditionAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTAlertController : public UIAlertController { + public virtual void hide(); + public virtual void show:completion:(BOOL animated, void(^)(void) completion); +} + +interface RCTAlertManager : public NSObject { +} + +interface RCTAnimatedImage : public UIImage { +} + +interface RCTAnimatedModuleProvider : public NSObject { + public virtual std::shared_ptr getTurboModule:jsInvoker:(const std::string& name, std::shared_ptr jsInvoker); + public virtual void invalidate(); +} + +interface RCTAnimatedNode : public NSObject { + public @property (assign, readonly) BOOL needsUpdate; + public @property (assign, readonly) NSNumber* nodeTag; + public @property (copy, readonly) NSDictionary* config; + public @property (copy, readonly) NSMapTable* childNodes; + public @property (copy, readonly) NSMapTable* parentNodes; + public @property (weak) RCTNativeAnimatedNodesManager* manager; + public virtual BOOL isManagedByFabric(); + public virtual instancetype initWithTag:config:(NSNumber* tag, NSDictionary* config); + public virtual void addChild:(RCTAnimatedNode* child); + public virtual void detachNode(); + public virtual void onAttachedToNode:(RCTAnimatedNode* parent); + public virtual void onDetachedFromNode:(RCTAnimatedNode* parent); + public virtual void performUpdate(); + public virtual void removeChild:(RCTAnimatedNode* child); + public virtual void setNeedsUpdate(); + public virtual void updateNodeIfNecessary(); +} + +interface RCTAppDelegate : public RCTDefaultReactNativeFactoryDelegate { + public @property (assign) BOOL automaticallyLoadReactNativeWindow; + public @property (strong) NSDictionary* initialProps; + public @property (strong) NSString* moduleName; + public @property (strong) RCTReactNativeFactory* reactNativeFactory; + public @property (strong) UIWindow* window; + public virtual RCTRootViewFactory* rootViewFactory(); +} + +interface RCTAppDependencyProvider : public NSObject { +} + +interface RCTAppState : public RCTEventEmitter { +} + +interface RCTAppearance : public RCTEventEmitter { + public virtual instancetype init(); +} + +interface RCTArrayBuffer : public NSObject { + public @property (assign, readonly) BOOL owningBytes; + public @property (assign, readonly) NSUInteger length; + public @property (assign, readonly) void* mutableBytes NS_RETURNS_INNER_POINTER; + public virtual static instancetype arrayBufferWithCopiedBytes:length:(const void* _Nullable bytes, NSUInteger length); + public virtual static instancetype arrayBufferWithLength:(NSUInteger length); + public virtual static instancetype arrayBufferWithOwnedBytes:length:cleanup:(_Nullable void* bytes, NSUInteger length, _Nullable void(^)(void) cleanup); + public virtual static instancetype arrayBufferWithUnownedBytes:length:(_Nullable void* bytes, NSUInteger length); +} + +interface RCTBackedTextFieldDelegateAdapter : public NSObject { + public virtual instancetype initWithTextField:(UITextField* backedTextInputView); + public virtual void selectedTextRangeWasSet(); + public virtual void skipNextTextInputDidChangeSelectionEventWithTextRange:(UITextRange* textRange); +} + +interface RCTBackedTextViewDelegateAdapter : public NSObject { + public virtual instancetype initWithTextView:(UITextView* backedTextInputView); + public virtual void skipNextTextInputDidChangeSelectionEventWithTextRange:(UITextRange* textRange); +} + +interface RCTBackgroundImageUtils : public NSObject { + public virtual static CALayer* createBackgroundImageLayerWithSize:paintingArea:itemSize:backgroundPosition:backgroundRepeat:itemLayer:(const CGRect& positioningArea, const CGRect& paintingArea, const CGSize& itemSize, const facebook::react::BackgroundPosition& backgroundPosition, const facebook::react::BackgroundRepeat& backgroundRepeat, CALayer* itemLayer); + public virtual static CGSize calculateBackgroundImageSize:itemIntrinsicSize:backgroundSize:backgroundRepeat:(const CGRect& positioningArea, CGSize itemIntrinsicSize, const facebook::react::BackgroundSize& backgroundSize, const facebook::react::BackgroundRepeat& backgroundRepeat); +} + +interface RCTBlobManager : public NSObject { + public virtual NSData* resolve:(NSDictionary* blob); + public virtual NSData* resolve:offset:size:(NSString* blobId, NSInteger offset, NSInteger size); + public virtual NSData* resolveURL:(NSURL* url); + public virtual NSString* store:(NSData* data); + public virtual NSUInteger lengthOfBlobWithId:(NSString* blobId); + public virtual void createFromParts:withId:(NSArray*>* parts, NSString* blobId); + public virtual void remove:(NSString* blobId); + public virtual void store:withId:(NSData* data, NSString* blobId); +} + +interface RCTBridge : public NSObject { + public @property (assign, readonly) BOOL loading; + public @property (assign, readonly) BOOL valid; + public @property (copy, readonly) NSArray* moduleClasses; + public @property (copy, readonly) NSDictionary* launchOptions; + public @property (strong) Class executorClass; + public @property (strong, readonly) NSURL* bundleURL; + public @property (strong, readonly) RCTPerformanceLogger* performanceLogger; + public @property (weak, readonly) id delegate; + public virtual BOOL isBatchActive(); + public virtual BOOL moduleIsInitialized:(Class moduleClass); + public virtual NSArray* modulesConformingToProtocol:(Protocol* protocol); + public virtual RCTBridgeModuleDecorator* bridgeModuleDecorator(); + public virtual id moduleForClass:(Class moduleClass); + public virtual id moduleForName:(NSString* moduleName); + public virtual id moduleForName:lazilyLoadIfNecessary:(NSString* moduleName, BOOL lazilyLoad); + public virtual instancetype initWithBundleURL:moduleProvider:launchOptions:(NSURL* bundleURL, RCTBridgeModuleListProvider block, NSDictionary* launchOptions); + public virtual instancetype initWithDelegate:launchOptions:(id delegate, NSDictionary* launchOptions); + public virtual void enqueueJSCall:args:(NSString* moduleDotMethod, NSArray* args); + public virtual void enqueueJSCall:method:args:completion:(NSString* module, NSString* method, NSArray* args, dispatch_block_t completion); + public virtual void onFastRefresh(); + public virtual void registerSegmentWithId:path:(NSUInteger segmentId, NSString* path); + public virtual void reload(); + public virtual void reloadWithReason:(NSString* reason); + public virtual void requestReload(); + public virtual void setRCTTurboModuleRegistry:(id turboModuleRegistry); +} + +interface RCTBridgeModuleDecorator : public NSObject { + public @property (strong, readonly) RCTBundleManager* bundleManager; + public @property (strong, readonly) RCTCallableJSModules* callableJSModules; + public @property (strong, readonly) RCTModuleRegistry* moduleRegistry; + public virtual instancetype initWithViewRegistry:moduleRegistry:bundleManager:callableJSModules:(RCTViewRegistry* viewRegistry, RCTModuleRegistry* moduleRegistry, RCTBundleManager* bundleManager, RCTCallableJSModules* callableJSModules); + public virtual void attachInteropAPIsToModule:(id bridgeModule); +} + +interface RCTBridgeProxy : public NSProxy { + public @property (strong) RCTPerformanceLogger* performanceLogger; + public virtual NSMethodSignature* methodSignatureForSelector:(SEL sel); + public virtual id moduleForClass:(Class moduleClass); + public virtual id moduleForName:lazilyLoadIfNecessary:(NSString* moduleName, BOOL lazilyLoad); + public virtual instancetype initWithViewRegistry:moduleRegistry:bundleManager:callableJSModules:dispatchToJSThread:registerSegmentWithId:runtime:launchOptions:(RCTViewRegistry* viewRegistry, RCTModuleRegistry* moduleRegistry, RCTBundleManager* bundleManager, RCTCallableJSModules* callableJSModules, void(^)(dispatch_block_t) dispatchToJSThread, void(^)(NSNumber*, NSString*) registerSegmentWithId, void* runtime, _Nullable NSDictionary* launchOptions); + public virtual void forwardInvocation:(NSInvocation* invocation); + public virtual void logError:cmd:(NSString* message, SEL cmd); + public virtual void logWarning:cmd:(NSString* message, SEL cmd); +} + +interface RCTBundleAssetImageLoader : public NSObject { +} + +interface RCTBundleConfiguration : public NSObject { + public @property (assign, readonly) NSString* bundlePath; + public @property (assign, readonly) NSString* packagerServerHost; + public @property (assign, readonly) NSString* packagerServerScheme; + public @property (assign, readonly) NSURL* bundleFilePath; + public @property (copy) RCTPackagerOptionsUpdater packagerOptionsUpdater; + public virtual _Nonnull NSString* getPackagerServerHost(); + public virtual _Nonnull NSString* getPackagerServerScheme(); + public virtual _Nonnull instancetype initWithBundleFilePath:(_Nullable NSURL* bundleFilePath); + public virtual _Nonnull instancetype initWithPackagerServerScheme:packagerServerHost:bundlePath:(_Nullable NSString* packagerServerScheme, _Nullable NSString* packagerServerHost, _Nullable NSString* bundlePath); + public virtual _Nullable NSURL* getBundleURL(); + public virtual static _Nonnull instancetype defaultConfiguration(); +} + +interface RCTBundleManager : public NSObject { + public @property (assign) NSURL* bundleURL; + public @property (assign) NSURL* downloadedBundleFileURL; + public @property (assign) RCTBundleConfiguration* bundleConfig; + public virtual _Nullable instancetype initWithBundleConfig:(_Nullable RCTBundleConfiguration* bundleConfig); + public virtual void resetBundleURL(); + public virtual void setBridgelessBundleURLGetter:andSetter:andDefaultGetter:(_Nullable RCTBridgelessBundleURLGetter getter, _Nullable RCTBridgelessBundleURLSetter setter, _Nullable RCTBridgelessBundleURLGetter defaultGetter); +} + +interface RCTBundleURLProvider : public NSObject { + public @property (assign) BOOL enableDev; + public @property (assign) BOOL enableMinification; + public @property (assign) BOOL inlineSourceMap; + public @property (copy) NSString* jsLocation; + public @property (copy) NSString* packagerScheme; + public virtual NSString* packagerServerHost(); + public virtual NSString* packagerServerHostPort(); + public virtual NSURL* _Nullable jsBundleURLForBundleRoot:(NSString* bundleRoot); + public virtual NSURL* _Nullable jsBundleURLForBundleRoot:fallbackExtension:(NSString* bundleRoot, NSString* _Nullable extension); + public virtual NSURL* _Nullable jsBundleURLForBundleRoot:fallbackURLProvider:(NSString* bundleRoot, NSURL* _Nullable(^)(void) fallbackURLProvider); + public virtual NSURL* _Nullable jsBundleURLForBundleRoot:packagerServerScheme:packagerServerHost:packagerOptionsUpdater:(NSString* bundleRoot, NSString* packagerServerScheme, NSString* packagerServerHost, RCTPackagerOptionsUpdater packagerOptionsUpdater); + public virtual NSURL* _Nullable jsBundleURLForFallbackExtension:(NSString* _Nullable extension); + public virtual NSURL* _Nullable jsBundleURLForSplitBundleRoot:(NSString* bundleRoot); + public virtual NSURL* _Nullable resourceURLForResourceRoot:resourceName:resourceExtension:offlineBundle:(NSString* root, NSString* name, NSString* extension, NSBundle* offlineBundle); + public virtual static BOOL isPackagerRunning:(NSString* hostPort); + public virtual static BOOL isPackagerRunning:scheme:(NSString* hostPort, NSString* _Nullable scheme); + public virtual static NSArray* createJSBundleURLQuery:packagerScheme:enableDev:enableMinification:inlineSourceMap:modulesOnly:runModule:additionalOptions:(NSString* packagerHost, NSString* _Nullable scheme, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap, BOOL modulesOnly, BOOL runModule, NSDictionary* _Nullable additionalOptions); + public virtual static NSURL* _Nullable jsBundleURLForBundleRoot:packagerHost:enableDev:enableMinification:inlineSourceMap:(NSString* bundleRoot, NSString* packagerHost, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap); + public virtual static NSURL* _Nullable jsBundleURLForBundleRoot:packagerHost:enableDev:enableMinification:inlineSourceMap:additionalOptions:(NSString* bundleRoot, NSString* packagerHost, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap, NSDictionary* _Nullable additionalOptions); + public virtual static NSURL* _Nullable jsBundleURLForBundleRoot:packagerHost:packagerScheme:enableDev:enableMinification:inlineSourceMap:modulesOnly:runModule:(NSString* bundleRoot, NSString* packagerHost, NSString* _Nullable scheme, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap, BOOL modulesOnly, BOOL runModule); + public virtual static NSURL* _Nullable jsBundleURLForBundleRoot:packagerHost:packagerScheme:enableDev:enableMinification:inlineSourceMap:modulesOnly:runModule:additionalOptions:(NSString* bundleRoot, NSString* packagerHost, NSString* _Nullable scheme, BOOL enableDev, BOOL enableMinification, BOOL inlineSourceMap, BOOL modulesOnly, BOOL runModule, NSDictionary* _Nullable additionalOptions); + public virtual static NSURL* resourceURLForResourcePath:packagerHost:scheme:query:(NSString* path, NSString* packagerHost, NSString* _Nullable scheme, NSString* _Nullable query); + public virtual static NSURL* resourceURLForResourcePath:packagerHost:scheme:queryItems:(NSString* path, NSString* packagerHost, NSString* scheme, NSArray* _Nullable queryItems); + public virtual static instancetype sharedSettings(); + public virtual static void isPackagerRunningAsync:completion:(NSString* hostPort, void(^)(BOOL isRunning) completion); + public virtual static void isPackagerRunningAsync:scheme:completion:(NSString* hostPort, NSString* _Nullable scheme, void(^)(BOOL isRunning) completion); + public virtual void resetToDefaults(); +} + +interface RCTCallInvoker : public NSObject { + public virtual instancetype initWithCallInvoker:(std::shared_ptr callInvoker); + public virtual std::shared_ptr callInvoker(); +} + +interface RCTCallableJSModules : public NSObject { + public virtual void invokeModule:method:withArgs:(NSString* moduleName, NSString* methodName, NSArray* args); + public virtual void invokeModule:method:withArgs:onComplete:(NSString* moduleName, NSString* methodName, NSArray* args, dispatch_block_t onComplete); + public virtual void setBridgelessJSModuleMethodInvoker:(RCTBridgelessJSModuleMethodInvoker bridgelessJSModuleMethodInvoker); +} + +interface RCTClipboard : public NSObject { +} + +interface RCTColorAnimatedNode : public RCTAnimatedNode { + public @property (assign) int32_t color; +} + +interface RCTColorSpaceUtils : public NSObject { + public virtual static void applyDefaultColorSpace:(RCTColorSpace colorSpace); +} + +interface RCTComponentData : public NSObject { + public @property (assign, readonly) Class managerClass; + public @property (copy) void(^eventInterceptor)(NSString* eventName, NSDictionary* event, NSNumber* reactTag); + public @property (copy, readonly) NSString* name; + public @property (strong, readonly) RCTViewManager* bridgelessViewManager; + public @property (weak, readonly) RCTViewManager* manager; + public virtual NSDictionary* viewConfig(); + public virtual RCTShadowView* createShadowViewWithTag:(NSNumber* tag); + public virtual UIView* createViewWithTag:rootTag:(_Nullable NSNumber* tag, _Nullable NSNumber* rootTag); + public virtual instancetype initWithManagerClass:bridge:eventDispatcher:(Class managerClass, RCTBridge* bridge, id eventDispatcher); + public virtual static NSDictionary* viewConfigForViewMangerClass:(Class managerClass); + public virtual void setProps:forShadowView:(NSDictionary* props, RCTShadowView* shadowView); + public virtual void setProps:forView:(NSDictionary* props, id view); +} + +interface RCTComponentEvent : public NSObject { + public virtual instancetype initWithName:viewTag:body:(NSString* name, NSNumber* viewTag, NSDictionary* body); +} + +interface RCTComponentViewFactory : public NSObject { + public @property (weak) id thirdPartyFabricComponentsProvider; + public virtual RCTComponentViewDescriptor createComponentViewWithComponentHandle:(facebook::react::ComponentHandle componentHandle); + public virtual facebook::react::ComponentDescriptorRegistry::Shared createComponentDescriptorRegistryWithParameters:(facebook::react::ComponentDescriptorParameters parameters); + public virtual static RCTComponentViewFactory* currentComponentViewFactory(); + public virtual void registerComponentViewClass:(Class componentViewClass); +} + +interface RCTComponentViewRegistry : public NSObject { + public @property (strong, readonly) RCTComponentViewFactory* componentViewFactory; + public virtual _Nullable UIView* findComponentViewWithTag:(facebook::react::Tag tag); + public virtual const RCTComponentViewDescriptor& componentViewDescriptorWithTag:(facebook::react::Tag tag); + public virtual const RCTComponentViewDescriptor& dequeueComponentViewWithComponentHandle:tag:(facebook::react::ComponentHandle componentHandle, facebook::react::Tag tag); + public virtual void enqueueComponentViewWithComponentHandle:tag:componentViewDescriptor:(facebook::react::ComponentHandle componentHandle, facebook::react::Tag tag, RCTComponentViewDescriptor componentViewDescriptor); +} + +interface RCTComposedViewRegistry : public NSMutableDictionary { + public virtual instancetype initWithUIManager:andRegistry:(RCTUIManager* uiManager, NSDictionary* registry); +} + +interface RCTConvert : public NSObject { + public typedef BOOL css_backface_visibility_t; + public typedef NSArray CGColorArray; + public typedef NSURL RCTFileURL; + public typedef id NSPropertyList; + public virtual static BOOL BOOL:(id json); + public virtual static CGAffineTransform CGAffineTransform:(id json); + public virtual static CGColorRef CGColor:(id json); + public virtual static CGFloat CGFloat:(id json); + public virtual static CGLineCap CGLineCap:(id json); + public virtual static CGLineJoin CGLineJoin:(id json); + public virtual static CGPoint CGPoint:(id json); + public virtual static CGRect CGRect:(id json); + public virtual static CGSize CGSize:(id json); + public virtual static NSArray* NSArray:(id json); + public virtual static NSArray* NSArrayArray:(id json); + public virtual static NSArray*>* NSStringArrayArray:(id json); + public virtual static NSArray* NSDictionaryArray:(id json); + public virtual static NSArray* NSNumberArray:(id json); + public virtual static NSArray* NSStringArray:(id json); + public virtual static NSArray* NSURLArray:(id json); + public virtual static NSArray* RCTFileURLArray:(id json); + public virtual static NSArray* UIColorArray:(id json); + public virtual static NSData* NSData:(id json); + public virtual static NSDate* NSDate:(id json); + public virtual static NSDictionary* NSDictionary:(id json); + public virtual static NSIndexSet* NSIndexSet:(id json); + public virtual static NSInteger NSInteger:(id json); + public virtual static NSLineBreakMode NSLineBreakMode:(id json); + public virtual static NSLineBreakStrategy NSLineBreakStrategy:(id json); + public virtual static NSLocale* NSLocale:(id json); + public virtual static NSNumber* NSNumber:(id json); + public virtual static NSSet* NSSet:(id json); + public virtual static NSString* NSString:(id json); + public virtual static NSTextAlignment NSTextAlignment:(id json); + public virtual static NSTimeInterval NSTimeInterval:(id json); + public virtual static NSTimeZone* NSTimeZone:(id json); + public virtual static NSUInteger NSUInteger:(id json); + public virtual static NSURL* NSURL:(id json); + public virtual static NSURLRequest* NSURLRequest:(id json); + public virtual static NSURLRequestCachePolicy NSURLRequestCachePolicy:(id json); + public virtual static NSUnderlineStyle NSUnderlineStyle:(id json); + public virtual static NSWritingDirection NSWritingDirection:(id json); + public virtual static RCTAnimationType RCTAnimationType:(id json); + public virtual static RCTBorderCurve RCTBorderCurve:(id json); + public virtual static RCTBorderStyle RCTBorderStyle:(id json); + public virtual static RCTColorSpace RCTColorSpaceFromString:(NSString* colorSpace); + public virtual static RCTConvert::CGColorArray* CGColorArray:(id json); + public virtual static RCTConvert::NSPropertyList NSPropertyList:(id json); + public virtual static RCTConvert::RCTFileURL* RCTFileURL:(id json); + public virtual static RCTConvert::css_backface_visibility_t css_backface_visibility_t:(id json); + public virtual static RCTCursor RCTCursor:(id json); + public virtual static RCTPointerEvents RCTPointerEvents:(id json); + public virtual static RCTTextDecorationLineType RCTTextDecorationLineType:(id json); + public virtual static UIColor* UIColor:(id json); + public virtual static UIColor* UIColorWithRed:green:blue:alpha:(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha); + public virtual static UIColor* UIColorWithRed:green:blue:alpha:andColorSpace:(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha, RCTColorSpace colorSpace); + public virtual static UIDataDetectorTypes UIDataDetectorTypes:(id json); + public virtual static UIEdgeInsets UIEdgeInsets:(id json); + public virtual static UIInterfaceOrientationMask UIInterfaceOrientationMask:(NSString* orientation); + public virtual static UIKeyboardAppearance UIKeyboardAppearance:(id json); + public virtual static UIKeyboardType UIKeyboardType:(id json); + public virtual static UIModalPresentationStyle UIModalPresentationStyle:(id json); + public virtual static UIReturnKeyType UIReturnKeyType:(id json); + public virtual static UITextAutocapitalizationType UITextAutocapitalizationType:(id json); + public virtual static UITextFieldViewMode UITextFieldViewMode:(id json); + public virtual static UIUserInterfaceStyle UIUserInterfaceStyle:(id json); + public virtual static UIViewContentMode UIViewContentMode:(id json); + public virtual static YGAlign YGAlign:(id json); + public virtual static YGDirection YGDirection:(id json); + public virtual static YGDisplay YGDisplay:(id json); + public virtual static YGFlexDirection YGFlexDirection:(id json); + public virtual static YGJustify YGJustify:(id json); + public virtual static YGOverflow YGOverflow:(id json); + public virtual static YGPositionType YGPositionType:(id json); + public virtual static YGValue YGValue:(id json); + public virtual static YGWrap YGWrap:(id json); + public virtual static double double:(id json); + public virtual static float float:(id json); + public virtual static id id:(id json); + public virtual static int64_t int64_t:(id json); + public virtual static int int:(id json); + public virtual static uint64_t uint64_t:(id json); +} + +interface RCTCxxConvert : public NSObject { +} + +interface RCTDataRequestHandler : public NSObject { +} + +interface RCTDebuggingOverlay : public RCTView { + public virtual void clearElementsHighlights(); + public virtual void highlightElements:(NSArray* rectangles); + public virtual void highlightTraceUpdates:(NSArray* updates); +} + +interface RCTDebuggingOverlayComponentView : public RCTViewComponentView { +} + +interface RCTDecayAnimation : public NSObject { +} + +interface RCTDefaultReactNativeFactoryDelegate : public UIResponder { +} + +interface RCTDevLoadingView : public NSObject { +} + +interface RCTDevMenu : public NSObject { + public @property (assign) BOOL devMenuEnabled; + public @property (assign) BOOL hotLoadingEnabled; + public @property (assign) BOOL hotkeysEnabled; + public @property (assign) BOOL keyboardShortcutsEnabled; + public @property (assign) BOOL profilingEnabled; + public @property (assign) BOOL shakeToShow; + public @property (copy, readonly) NSArray* presentedItems; + public virtual BOOL isActionSheetShown(); + public virtual void addItem:(RCTDevMenuItem* item); + public virtual void addItem:handler:(NSString* title, void(^)(void) handler); + public virtual void disableReloadCommand(); + public virtual void reload(); + public virtual void show(); +} + +interface RCTDevMenuConfiguration : public NSObject { + public virtual static instancetype defaultConfiguration(); +} + +interface RCTDevMenuConfigurationDecorator : public NSObject { +} + +interface RCTDevMenuItem : public NSObject { + public @property (assign) BOOL disabled; + public virtual static instancetype buttonItemWithTitle:handler:(NSString* title, dispatch_block_t handler); + public virtual static instancetype buttonItemWithTitleBlock:handler:(RCTDevMenuItemTitleBlock titleBlock, dispatch_block_t handler); +} + +interface RCTDevSettings : public RCTEventEmitter { + public @property (assign) BOOL isHotLoadingEnabled; + public @property (assign) BOOL isPerfMonitorShown; + public @property (assign) BOOL isProfilingEnabled; + public @property (assign) BOOL isShakeGestureEnabled; + public @property (assign) BOOL isShakeToShowDevMenuEnabled; + public @property (assign) BOOL startSamplingProfilerOnLaunch; + public @property (assign, readonly) BOOL isDeviceDebuggingAvailable; + public @property (assign, readonly) BOOL isElementInspectorShown; + public @property (assign, readonly) BOOL isHotLoadingAvailable; + public virtual instancetype initWithDataSource:(id dataSource); + public virtual void setupHMRClientWithAdditionalBundleURL:(NSURL* bundleURL); + public virtual void setupHMRClientWithBundleURL:(NSURL* bundleURL); + public virtual void toggleElementInspector(); +} + +interface RCTDevSupportHttpHeaders : public NSObject { + public virtual NSDictionary* allHeaders(); + public virtual static instancetype sharedInstance(); + public virtual void addRequestHeader:value:(NSString* name, NSString* value); + public virtual void applyHeadersToRequest:(NSMutableURLRequest* request); + public virtual void removeRequestHeader:(NSString* name); +} + +interface RCTDevToolsRuntimeSettingsModule : public NSObject { +} + +interface RCTDeviceInfo : public NSObject { + public virtual instancetype initWithDimensionsProvider:(NSDictionary*(^)(void) dimensionsProvider); +} + +interface RCTDiffClampAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTDisplayLink : public NSObject { + public virtual instancetype initWithFrameUpdateObserver:(id observer); + public virtual void addToRunLoop:(NSRunLoop* runLoop); + public virtual void invalidate(); +} + +interface RCTDisplayWeakRefreshable : public NSObject { + public @property (weak) id refreshable; + public virtual static CADisplayLink* displayLinkWithWeakRefreshable:(id refreshable); +} + +interface RCTDivisionAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTEnhancedScrollView : public UIScrollView { + public @property (assign) BOOL centerContent; + public @property (assign) BOOL disableIntervalMomentum; + public @property (assign) BOOL inverted; + public @property (assign) BOOL pinchGestureEnabled; + public @property (assign) BOOL snapToEnd; + public @property (assign) BOOL snapToStart; + public @property (assign) CGFloat snapToInterval; + public @property (copy) NSArray* snapToOffsets; + public @property (copy) NSString* snapToAlignment; + public @property (strong, readonly) RCTGenericDelegateSplitter>* delegateSplitter; + public @property (weak) id overridingDelegate; + public virtual void preserveContentOffsetWithBlock:(void(^)() block); +} + +interface RCTErrorInfo : public NSObject { + public @property (copy, readonly) NSArray* stack; + public @property (copy, readonly) NSString* errorMessage; + public virtual instancetype initWithErrorMessage:stack:(NSString* errorMessage, NSArray* stack); +} + +interface RCTEventAnimation : public NSObject { + public @property (weak, readonly) RCTValueAnimatedNode* valueNode; + public virtual instancetype initWithEventPath:valueNode:(NSArray* eventPath, RCTValueAnimatedNode* valueNode); + public virtual void updateWithEvent:(id event); +} + +interface RCTEventDispatcher : public NSObject { +} + +interface RCTEventEmitter : public NSObject { + public @property (weak) RCTBridge* bridge; + public @property (weak) RCTModuleRegistry* moduleRegistry; + public virtual NSArray* supportedEvents(); + public virtual instancetype initWithDisabledObservation(); + public virtual void addListener:(NSString* eventName); + public virtual void invalidate(); + public virtual void removeListeners:(double count); + public virtual void sendEventWithName:body:(NSString* name, id body); + public virtual void startObserving(); + public virtual void stopObserving(); +} + +interface RCTExceptionsManager : public NSObject { + public @property (assign) NSUInteger maxReloadAttempts; + public @property (weak) id delegate; + public virtual instancetype initWithDelegate:(id delegate); + public virtual void reportFatalException:stack:exceptionId:(_Nullable NSString* message, _Nullable NSArray* stack, double exceptionId); + public virtual void reportJsException:stack:exceptionId:isFatal:(_Nullable NSString* message, _Nullable NSArray* stack, double exceptionId, bool isFatal); + public virtual void reportSoftException:stack:exceptionId:(_Nullable NSString* message, _Nullable NSArray* stack, double exceptionId); +} + +interface RCTFabricModalHostViewController : public UIViewController { + public @property (assign) UIInterfaceOrientationMask supportedInterfaceOrientations; + public @property (weak) id delegate; +} + +interface RCTFabricSurface : public NSObject { + public @property (assign, readonly) CGPoint viewportOffset; + public @property (assign, readonly) CGSize intrinsicSize; + public @property (assign, readonly) CGSize maximumSize; + public @property (assign, readonly) CGSize minimumSize; + public virtual BOOL synchronouslyWaitFor:(NSTimeInterval timeout); + public virtual CGSize sizeThatFitsMinimumSize:maximumSize:(CGSize minimumSize, CGSize maximumSize); + public virtual RCTSurfaceView* view(); + public virtual instancetype initWithSurfacePresenter:moduleName:initialProperties:(RCTSurfacePresenter* surfacePresenter, NSString* moduleName, NSDictionary* initialProperties); + public virtual void resetWithSurfacePresenter:(RCTSurfacePresenter* surfacePresenter); + public virtual void setSize:(CGSize size); +} + +interface RCTFileReaderModule : public NSObject { +} + +interface RCTFileRequestHandler : public NSObject { +} + +interface RCTFont : public NSObject { + public virtual static UIFont* updateFont:withFamily:(UIFont* font, NSString* family); + public virtual static UIFont* updateFont:withFamily:size:weight:style:variant:scaleMultiplier:(UIFont* font, NSString* family, NSNumber* size, NSString* weight, NSString* style, NSArray* variant, CGFloat scaleMultiplier); + public virtual static UIFont* updateFont:withSize:(UIFont* font, NSNumber* size); + public virtual static UIFont* updateFont:withStyle:(UIFont* font, NSString* style); + public virtual static UIFont* updateFont:withWeight:(UIFont* font, NSString* weight); +} + +interface RCTFrameAnimation : public NSObject { +} + +interface RCTFrameTimingsObserver : public NSObject { + public virtual instancetype initWithScreenshotsEnabled:callback:(BOOL screenshotsEnabled, RCTFrameTimingCallback callback); + public virtual void start(); + public virtual void stop(); +} + +interface RCTFrameUpdate : public NSObject { + public @property (assign, readonly) NSTimeInterval deltaTime; + public @property (assign, readonly) NSTimeInterval timestamp; + public virtual instancetype initWithDisplayLink:(CADisplayLink* displayLink); +} + +interface RCTGIFImageDecoder : public NSObject { +} + +interface RCTGenericDelegateSplitter : public NSObject { + public @property (copy) void(^delegateUpdateBlock)(DelegateT _Nullable delegate); + public virtual instancetype initWithDelegateUpdateBlock:(void(^)(DelegateT _Nullable delegate) block); + public virtual void addDelegate:(DelegateT delegate); + public virtual void removeAllDelegates(); + public virtual void removeDelegate:(DelegateT delegate); +} + +interface RCTGradientUtils : public NSObject { + public virtual static std::pair pointsForCAGradientLayerLinearGradient:endPoint:bounds:(CGPoint startPoint, CGPoint endPoint, CGSize bounds); + public virtual static std::vector getFixedColorStops:gradientLineLength:(const std::vector& colorStops, CGFloat gradientLineLength); + public virtual static void getColors:andLocations:fromColorStops:(NSMutableArray* colors, NSMutableArray* locations, const std::vector& colorStops); +} + +interface RCTHTTPRequestHandler : public NSObject { +} + +interface RCTHost : public NSObject { + public @property (assign, readonly) RCTModuleRegistry* moduleRegistry; + public @property (assign, readonly) RCTSurfacePresenter* surfacePresenter; + public @property (weak) id runtimeDelegate; + public virtual RCTFabricSurface* createSurfaceWithModuleName:initialProperties:(NSString* moduleName, NSDictionary* properties); + public virtual RCTFabricSurface* createSurfaceWithModuleName:mode:initialProperties:(NSString* moduleName, facebook::react::DisplayMode displayMode, NSDictionary* properties); + public virtual instancetype initWithBundleURL:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:(NSURL* bundleURL, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions); + public virtual instancetype initWithBundleURLProvider:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:(RCTHostBundleURLProvider provider, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions); + public virtual instancetype initWithBundleURLProvider:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:bundleConfiguration:devMenuConfiguration:(RCTHostBundleURLProvider provider, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); + public virtual std::shared_ptr jsCallInvoker(); + public virtual void callFunctionOnJSModule:method:args:(NSString* moduleName, NSString* method, NSArray* args); + public virtual void start(); +} + +interface RCTI18nManager : public NSObject { +} + +interface RCTI18nUtil : public NSObject { + public virtual BOOL doLeftAndRightSwapInRTL(); + public virtual BOOL isRTL(); + public virtual BOOL isRTLAllowed(); + public virtual BOOL isRTLForced(); + public virtual static instancetype sharedInstance(); + public virtual void allowRTL:(BOOL value); + public virtual void forceRTL:(BOOL value); + public virtual void swapLeftAndRightInRTL:(BOOL value); +} + +interface RCTImageCache : public NSObject { + protected void RCTSetImageCacheLimits(NSUInteger maxCacheableDecodedImageSizeInBytes, NSUInteger imageCacheTotalCostLimit); +} + +interface RCTImageComponentView : public RCTViewComponentView { + protected RCTUIImageViewAnimated* _imageView; +} + +interface RCTImageEditingManager : public NSObject { +} + +interface RCTImageLoader : public NSObject { + public virtual instancetype init(); + public virtual instancetype initWithRedirectDelegate:(id redirectDelegate); + public virtual instancetype initWithRedirectDelegate:loadersProvider:decodersProvider:(id redirectDelegate, NSArray>*(^)(RCTModuleRegistry*) getLoaders, NSArray>*(^)(RCTModuleRegistry*) getDecoders); +} + +interface RCTImageManager : public NSObject { + public virtual facebook::react::ImageRequest requestImage:surfaceId:(facebook::react::ImageSource imageSource, facebook::react::SurfaceId surfaceId); + public virtual instancetype initWithImageLoader:(id imageLoader); +} + +interface RCTImageSource : public NSObject { + public @property (assign, readonly) CGFloat scale; + public @property (assign, readonly) CGSize size; + public @property (copy, readonly) NSURLRequest* request; + public virtual instancetype imageSourceWithSize:scale:(CGSize size, CGFloat scale); + public virtual instancetype initWithURLRequest:size:scale:(NSURLRequest* request, CGSize size, CGFloat scale); +} + +interface RCTImageStoreManager : public NSObject { + public virtual void getImageDataForTag:withBlock:(NSString* imageTag, void(^)(NSData* imageData) block); + public virtual void removeImageForTag:withBlock:(NSString* imageTag, void(^)(void) block); + public virtual void storeImage:withBlock:(UIImage* image, void(^)(NSString* imageTag) block); + public virtual void storeImageData:withBlock:(NSData* imageData, void(^)(NSString* imageTag) block); +} + +interface RCTImageURLLoaderRequest : public NSObject { + public @property (copy, readonly) RCTImageLoaderCancellationBlock cancellationBlock; + public @property (strong, readonly) NSString* requestId; + public @property (strong, readonly) NSURL* imageURL; + public virtual instancetype initWithRequestId:imageURL:cancellationBlock:(NSString* requestId, NSURL* imageURL, RCTImageLoaderCancellationBlock cancellationBlock); + public virtual void cancel(); +} + +interface RCTInputAccessoryComponentView : public RCTViewComponentView { +} + +interface RCTInputAccessoryContentView : public UIView { +} + +interface RCTInspectorNetworkHelper : public NSObject { + public virtual instancetype init(); + public virtual void loadNetworkResourceWithParams:executor:(const RCTInspectorLoadNetworkResourceRequest& params, RCTInspectorNetworkExecutor executor); +} + +interface RCTInspectorNetworkReporter : public NSObject { + public virtual static void maybeStoreResponseBody:data:base64Encoded:(NSString* requestId, NSData* data, bool base64Encoded); + public virtual static void maybeStoreResponseBodyIncremental:data:(NSString* requestId, NSString* data); + public virtual static void reportConnectionTiming:request:(NSString* requestId, NSURLRequest* request); + public virtual static void reportDataReceived:data:(NSString* requestId, NSData* data); + public virtual static void reportRequestFailed:cancelled:(NSString* requestId, BOOL cancelled); + public virtual static void reportRequestStart:request:encodedDataLength:(NSString* requestId, NSURLRequest* request, int encodedDataLength); + public virtual static void reportResponseEnd:encodedDataLength:(NSString* requestId, int encodedDataLength); + public virtual static void reportResponseStart:response:statusCode:headers:(NSString* requestId, NSURLResponse* response, int statusCode, NSDictionary* headers); +} + +interface RCTInspectorUtils : public NSObject { + public virtual static CommonHostMetadata* getHostMetadata(); +} + +interface RCTInspectorWebSocketReporter : public NSObject { + public virtual static void reportHandshakeResponseReceived:httpMessage:(_Nullable NSString* requestId, _Nullable CFHTTPMessageRef httpMessage); + public virtual static void reportMessageReceived:message:(_Nullable NSString* requestId, _Nullable id message); + public virtual static void reportMessageSent:message:(_Nullable NSString* requestId, _Nullable id message); + public virtual static void reportWebSocketClosed:(_Nullable NSString* requestId); + public virtual static void reportWebSocketCreated:url:(_Nullable NSString* requestId, NSURL* url); + public virtual static void reportWillSendHandshakeRequest:request:(_Nullable NSString* requestId, NSURLRequest* request); +} + +interface RCTInstance : public NSObject { + public @property (assign, readonly) std::shared_ptr jsCallInvoker; + public @property (strong, readonly) RCTSurfacePresenter* surfacePresenter; + public virtual instancetype initWithDelegate:jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:moduleRegistry:parentInspectorTarget:launchOptions:(id delegate, std::shared_ptr jsRuntimeFactory, RCTBundleManager* bundleManager, id turboModuleManagerDelegate, RCTModuleRegistry* moduleRegistry, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget, _Nullable NSDictionary* launchOptions); + public virtual instancetype initWithDelegate:jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:moduleRegistry:parentInspectorTarget:launchOptions:devMenuConfiguration:(id delegate, std::shared_ptr jsRuntimeFactory, RCTBundleManager* bundleManager, id turboModuleManagerDelegate, RCTModuleRegistry* moduleRegistry, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget, _Nullable NSDictionary* launchOptions, RCTDevMenuConfiguration* _Nullable devMenuConfiguration); + public virtual void callFunctionOnBufferedRuntimeExecutor:(std::function&& executor); + public virtual void callFunctionOnJSModule:method:args:(NSString* moduleName, NSString* method, NSArray* args); + public virtual void invalidate(); + public virtual void registerSegmentWithId:path:(NSNumber* segmentId, NSString* path); +} + +interface RCTInterpolationAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTJSStackFrame : public NSObject { + public @property (assign, readonly) BOOL collapse; + public @property (assign, readonly) NSInteger column; + public @property (assign, readonly) NSInteger lineNumber; + public @property (copy, readonly) NSString* file; + public @property (copy, readonly) NSString* methodName; + public virtual NSDictionary* toDictionary(); + public virtual instancetype initWithMethodName:file:lineNumber:column:collapse:(NSString* methodName, NSString* file, NSInteger lineNumber, NSInteger column, BOOL collapse); + public virtual static NSArray* stackFramesWithDictionaries:(NSArray* dicts); + public virtual static NSArray* stackFramesWithLines:(NSString* lines); + public virtual static instancetype stackFrameWithDictionary:(NSDictionary* dict); + public virtual static instancetype stackFrameWithLine:(NSString* line); +} + +interface RCTJSThreadManager : public NSObject { + public virtual std::shared_ptr jsMessageThread(); + public virtual void dispatchToJSThread:(dispatch_block_t block); +} + +interface RCTJSTimerExecutor : public NSObject { + public virtual void setTimerManager:(std::weak_ptr timerManager); +} + +interface RCTJavaScriptLoader : public NSObject { + public virtual static NSData* attemptSynchronousLoadOfBundleAtURL:sourceLength:error:(NSURL* scriptURL, int64_t* sourceLength, NSError** error); + public virtual static void loadBundleAtURL:onProgress:onComplete:(NSURL* scriptURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock onComplete); +} + +interface RCTKeyCommands : public NSObject { + public virtual BOOL isKeyCommandRegisteredForInput:modifierFlags:(NSString* input, UIKeyModifierFlags flags); + public virtual static instancetype sharedInstance(); + public virtual void registerKeyCommandWithInput:modifierFlags:action:(NSString* input, UIKeyModifierFlags flags, void(^)(UIKeyCommand* command) block); + public virtual void unregisterKeyCommandWithInput:modifierFlags:(NSString* input, UIKeyModifierFlags flags); +} + +interface RCTKeyboardObserver : public RCTEventEmitter { +} + +interface RCTLayoutAnimation : public NSObject { + public @property (assign, readonly) CGFloat initialVelocity; + public @property (assign, readonly) CGFloat springDamping; + public @property (assign, readonly) NSTimeInterval delay; + public @property (assign, readonly) NSTimeInterval duration; + public @property (assign, readonly) RCTAnimationType animationType; + public @property (copy, readonly) NSString* property; + public virtual instancetype initWithDuration:config:(NSTimeInterval duration, NSDictionary* config); + public virtual instancetype initWithDuration:delay:property:springDamping:initialVelocity:animationType:(NSTimeInterval duration, NSTimeInterval delay, NSString* property, CGFloat springDamping, CGFloat initialVelocity, RCTAnimationType animationType); + public virtual static void initializeStatics(); + public virtual void performAnimations:withCompletionBlock:(void(^)(void) animations, void(^)(BOOL completed) completionBlock); +} + +interface RCTLayoutAnimationGroup : public NSObject { + public @property (assign, readonly) RCTLayoutAnimation* creatingLayoutAnimation; + public @property (assign, readonly) RCTLayoutAnimation* deletingLayoutAnimation; + public @property (assign, readonly) RCTLayoutAnimation* updatingLayoutAnimation; + public @property (copy) RCTResponseSenderBlock callback; + public virtual instancetype initWithConfig:callback:(NSDictionary* config, RCTResponseSenderBlock callback); + public virtual instancetype initWithCreatingLayoutAnimation:updatingLayoutAnimation:deletingLayoutAnimation:callback:(RCTLayoutAnimation* creatingLayoutAnimation, RCTLayoutAnimation* updatingLayoutAnimation, RCTLayoutAnimation* deletingLayoutAnimation, RCTResponseSenderBlock callback); +} + +interface RCTLegacyViewManagerInteropComponentView : public RCTViewComponentView { + public virtual UIView* paperView(); + public virtual static BOOL isSupported:(NSString* componentName); + public virtual static void supportLegacyViewManagerWithName:(NSString* componentName); + public virtual static void supportLegacyViewManagersWithPrefix:(NSString* prefix); +} + +interface RCTLegacyViewManagerInteropCoordinator : public NSObject { + public virtual NSString* componentViewName(); + public virtual UIView* createPaperViewWithTag:(NSInteger tag); + public virtual instancetype initWithComponentData:bridge:bridgeProxy:bridgelessInteropData:(RCTComponentData* componentData, _Nullable RCTBridge* bridge, _Nullable RCTBridgeProxy* bridgeProxy, RCTBridgeModuleDecorator* bridgelessInteropData); + public virtual void addObserveForTag:usingBlock:(NSInteger tag, InterceptorBlock block); + public virtual void handleCommand:args:reactTag:paperView:(NSString* commandName, NSArray* args, NSInteger tag, UIView* paperView); + public virtual void removeObserveForTag:(NSInteger tag); + public virtual void setProps:forView:(NSDictionary* props, UIView* view); +} + +interface RCTLegacyViewManagerInteropCoordinatorAdapter : public NSObject { + public @property (copy) void(^eventInterceptor)(std::string eventName, folly::dynamic&& event); + public @property (strong) UIView* paperView; + public virtual instancetype initWithCoordinator:reactTag:(RCTLegacyViewManagerInteropCoordinator* coordinator, NSInteger tag); + public virtual void handleCommand:args:(NSString* commandName, NSArray* args); + public virtual void setProps:(const folly::dynamic& props); +} + +interface RCTLinearGradient : public NSObject { + public virtual static CALayer* gradientLayerWithSize:gradient:(CGSize size, const facebook::react::LinearGradient& gradient); +} + +interface RCTLinkingManager : public RCTEventEmitter { + public virtual static BOOL application:continueUserActivity:restorationHandler:(_Nonnull UIApplication* application, _Nonnull NSUserActivity* userActivity, _Nonnull void(^)(NSArray>* _Nullable) restorationHandler); + public virtual static BOOL application:openURL:options:(_Nonnull UIApplication* app, _Nonnull NSURL* URL, _Nonnull NSDictionary* options); + public virtual static BOOL application:openURL:sourceApplication:annotation:(_Nonnull UIApplication* application, _Nonnull NSURL* URL, _Nullable NSString* sourceApplication, _Nonnull id annotation); + public virtual static void scene:continueUserActivity:(_Nonnull UIScene* scene, _Nonnull NSUserActivity* userActivity); + public virtual static void scene:openURLContexts:(_Nonnull UIScene* scene, _Nonnull NSSet* URLContexts); +} + +interface RCTLoadingProgress : public NSObject { + public @property (copy) NSString* status; + public @property (strong) NSNumber* done; + public @property (strong) NSNumber* percent; + public @property (strong) NSNumber* total; +} + +interface RCTLocalAssetImageLoader { +} + +interface RCTLocalizationProvider : public NSObject { + public virtual static NSString* RCTLocalizedString:withDescription:(NSString* oldString, NSString* description); +} + +interface RCTLogBox : public NSObject { +} + +interface RCTLogBoxView : public UIWindow { + public virtual instancetype initWithFrame:(CGRect frame); + public virtual instancetype initWithWindow:surfacePresenter:(UIWindow* window, id surfacePresenter); + public virtual void createRootViewController:(UIView* view); + public virtual void show(); +} + +interface RCTManagedPointer : public NSObject { + public @property (assign, readonly) void* voidPointer; + public virtual instancetype initWithPointer:(std::shared_ptr pointer); +} + +interface RCTMethodArgument : public NSObject { + public @property (assign, readonly) BOOL unused; + public @property (assign, readonly) RCTNullability nullability; + public @property (copy, readonly) NSString* type; +} + +interface RCTModalHostViewComponentView : public RCTViewComponentView { + public virtual void dismissViewController:animated:completion:(UIViewController* modalViewController, BOOL animated, void(^)(void) completion); + public virtual void presentViewController:animated:completion:(UIViewController* modalViewController, BOOL animated, void(^)(void) completion); +} + +interface RCTModuleData : public NSObject { + public @property (assign) BOOL requiresMainQueueSetup; + public @property (assign, readonly) BOOL hasConstantsToExport; + public @property (assign, readonly) BOOL hasInstance; + public @property (assign, readonly) BOOL implementsBatchDidComplete; + public @property (copy, readonly) NSArray>* methods; + public @property (copy, readonly) NSDictionary>* methodsByName; + public @property (copy, readonly) NSDictionary* exportedConstants; + public @property (copy, readonly) NSString* name; + public @property (strong) id instance; + public @property (strong, readonly) Class moduleClass; + public @property (strong, readonly) dispatch_queue_t methodQueue; + public @property (weak) id callInvokerProvider; + public virtual void gatherConstants(); +} + +interface RCTModuleMethod : public NSObject { + public @property (assign, readonly) Class moduleClass; + public @property (assign, readonly) SEL selector; + public virtual instancetype initWithExportedMethod:moduleClass:(const RCTMethodInfo* exportMethod, Class moduleClass); +} + +interface RCTModuleProviders : public NSObject { + public virtual static NSDictionary>* moduleProviders(); +} + +interface RCTModuleRegistry : public NSObject { + public virtual BOOL moduleIsInitialized:(Class moduleClass); + public virtual id moduleForClass:(Class moduleClass); + public virtual id moduleForName:(const char* moduleName); + public virtual id moduleForName:lazilyLoadIfNecessary:(const char* moduleName, BOOL lazilyLoad); + public virtual void setTurboModuleRegistry:(id turboModuleRegistry); +} + +interface RCTModulesConformingToProtocolsProvider : public NSObject { + public virtual static NSArray* URLRequestHandlerClassNames(); + public virtual static NSArray* imageDataDecoderClassNames(); + public virtual static NSArray* imageURLLoaderClassNames(); +} + +interface RCTModuloAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTMountingManager : public NSObject { + public @property (strong) RCTComponentViewRegistry* componentViewRegistry; + public @property (weak) id delegate; + public virtual void attachSurfaceToView:surfaceId:(UIView* view, facebook::react::SurfaceId surfaceId); + public virtual void detachSurfaceFromView:surfaceId:(UIView* view, facebook::react::SurfaceId surfaceId); + public virtual void dispatchCommand:commandName:args:(ReactTag reactTag, NSString* commandName, NSArray* args); + public virtual void scheduleTransaction:(std::shared_ptr mountingCoordinator); + public virtual void sendAccessibilityEvent:eventType:(ReactTag reactTag, NSString* eventType); + public virtual void setContextContainer:(std::shared_ptr contextContainer); + public virtual void setIsJSResponder:blockNativeResponder:forShadowView:(BOOL isJSResponder, BOOL blockNativeResponder, const facebook::react::ShadowView& shadowView); + public virtual void synchronouslyUpdateViewOnUIThread:changedProps:componentDescriptor:(ReactTag reactTag, folly::dynamic props, const facebook::react::ComponentDescriptor& componentDescriptor); +} + +interface RCTMultipartDataTask : public NSObject { + public virtual instancetype initWithURL:partHandler:progressHandler:(NSURL* url, RCTMultipartDataTaskCallback partHandler, RCTMultipartProgressCallback progressHandler); + public virtual void startTask(); +} + +interface RCTMultipartStreamReader : public NSObject { + public virtual BOOL readAllPartsWithCompletionCallback:progressCallback:(RCTMultipartCallback callback, RCTMultipartProgressCallback progressCallback); + public virtual instancetype initWithInputStream:boundary:(NSInputStream* stream, NSString* boundary); +} + +interface RCTMultiplicationAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTNativeAnimatedNodesManager : public NSObject { + public virtual BOOL isNodeManagedByFabric:(NSNumber* tag); + public virtual NSSet* getTagsOfConnectedNodesFrom:andEvent:(NSNumber* tag, NSString* eventName); + public virtual _Nonnull instancetype initWithSurfacePresenter:(id surfacePresenter); + public virtual void addAnimatedEventToView:eventName:eventMapping:(NSNumber* viewTag, NSString* eventName, NSDictionary* eventMapping); + public virtual void connectAnimatedNodeToView:viewTag:(NSNumber* nodeTag, NSNumber* viewTag); + public virtual void connectAnimatedNodes:childTag:(NSNumber* parentTag, NSNumber* childTag); + public virtual void createAnimatedNode:config:(NSNumber* tag, NSDictionary* config); + public virtual void disconnectAnimatedNodeFromView:viewTag:(NSNumber* nodeTag, NSNumber* viewTag); + public virtual void disconnectAnimatedNodes:childTag:(NSNumber* parentTag, NSNumber* childTag); + public virtual void dropAnimatedNode:(NSNumber* tag); + public virtual void extractAnimatedNodeOffset:(NSNumber* nodeTag); + public virtual void flattenAnimatedNodeOffset:(NSNumber* nodeTag); + public virtual void getValue:saveCallback:(NSNumber* nodeTag, RCTResponseSenderBlock saveCallback); + public virtual void handleAnimatedEvent:(id event); + public virtual void removeAnimatedEventFromView:eventName:animatedNodeTag:(NSNumber* viewTag, NSString* eventName, NSNumber* animatedNodeTag); + public virtual void restoreDefaultValues:(NSNumber* nodeTag); + public virtual void setAnimatedNodeOffset:offset:(NSNumber* nodeTag, NSNumber* offset); + public virtual void setAnimatedNodeValue:value:(NSNumber* nodeTag, NSNumber* value); + public virtual void startAnimatingNode:nodeTag:config:endCallback:(NSNumber* animationId, NSNumber* nodeTag, NSDictionary* config, _Nullable RCTResponseSenderBlock callBack); + public virtual void startListeningToAnimatedNodeValue:valueObserver:(NSNumber* tag, id valueObserver); + public virtual void stepAnimations:(CADisplayLink* displaylink); + public virtual void stopAnimation:(NSNumber* animationId); + public virtual void stopAnimationLoop(); + public virtual void stopListeningToAnimatedNodeValue:(NSNumber* tag); + public virtual void updateAnimatedNodeConfig:config:(NSNumber* tag, NSDictionary* config); + public virtual void updateAnimations(); +} + +interface RCTNativeAnimatedTurboModule : public RCTEventEmitter { +} + +interface RCTNetworkTask : public NSObject { + public @property (assign, readonly) NSNumber* requestID; + public @property (assign, readonly) NSString* devToolsRequestId; + public @property (assign, readonly) NSURLRequest* request; + public @property (assign, readonly) NSURLResponse* response; + public @property (assign, readonly) RCTNetworkTaskStatus status; + public @property (copy) RCTURLRequestCompletionBlock completionBlock; + public @property (copy) RCTURLRequestIncrementalDataBlock incrementalDataBlock; + public @property (copy) RCTURLRequestProgressBlock downloadProgressBlock; + public @property (copy) RCTURLRequestProgressBlock uploadProgressBlock; + public @property (copy) RCTURLRequestResponseBlock responseBlock; + public @property (weak, readonly) id requestToken; + public virtual instancetype initWithDevToolsRequestId:request:handler:callbackQueue:(NSString* devToolsRequestId, NSURLRequest* request, id handler, dispatch_queue_t callbackQueue); + public virtual instancetype initWithRequest:handler:callbackQueue:(NSURLRequest* request, id handler, dispatch_queue_t callbackQueue); + public virtual void cancel(); + public virtual void start(); +} + +interface RCTNetworking : public RCTEventEmitter { + public virtual BOOL canHandleRequest:(NSURLRequest* request); + public virtual RCTNetworkTask* networkTaskWithDevToolsRequestId:request:completionBlock:(NSString* devToolsRequestId, NSURLRequest* request, RCTURLRequestCompletionBlock completionBlock); + public virtual RCTNetworkTask* networkTaskWithRequest:completionBlock:(NSURLRequest* request, RCTURLRequestCompletionBlock completionBlock); + public virtual instancetype init(); + public virtual instancetype initWithHandlersProvider:(NSArray>*(^)(RCTModuleRegistry*) getHandlers); + public virtual void addRequestHandler:(id handler); + public virtual void addResponseHandler:(id handler); + public virtual void removeRequestHandler:(id handler); + public virtual void removeResponseHandler:(id handler); +} + +interface RCTObjectAnimatedNode : public RCTAnimatedNode { + public @property (strong, readonly) id value; +} + +interface RCTParagraphComponentAccessibilityProvider : public NSObject { + public virtual BOOL isUpToDate:(facebook::react::AttributedString currentAttributedString); + public virtual NSArray* accessibilityElements(); + public virtual instancetype initWithString:layoutManager:paragraphAttributes:frame:view:(facebook::react::AttributedString attributedString, RCTTextLayoutManager* layoutManager, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, UIView* view); +} + +interface RCTParagraphComponentView : public RCTViewComponentView { + public @property (assign, readonly) NSAttributedString* attributedText; +} + +interface RCTPausedInDebuggerOverlayController : public NSObject { + public virtual void hide(); + public virtual void showWithMessage:onResume:(NSString* message, void(^)(void) onResume); +} + +interface RCTPerformanceLogger : public NSObject { + public virtual NSArray* valuesForTags(); + public virtual int64_t durationForTag:(RCTPLTag tag); + public virtual int64_t valueForTag:(RCTPLTag tag); + public virtual void addValue:forTag:(int64_t value, RCTPLTag tag); + public virtual void appendStartForTag:(RCTPLTag tag); + public virtual void appendStopForTag:(RCTPLTag tag); + public virtual void markStartForTag:(RCTPLTag tag); + public virtual void markStopForTag:(RCTPLTag tag); + public virtual void setValue:forTag:(int64_t value, RCTPLTag tag); +} + +interface RCTPlatform : public NSObject { +} + +interface RCTPropsAnimatedNode : public RCTAnimatedNode { + public virtual void connectToView:surfacePresenter:(NSNumber* viewTag, id surfacePresenter); + public virtual void disconnectFromView:(NSNumber* viewTag); + public virtual void restoreDefaultValues(); +} + +interface RCTPullToRefreshViewComponentView : public RCTViewComponentView { +} + +interface RCTRadialGradient : public NSObject { + public virtual static CALayer* gradientLayerWithSize:gradient:(CGSize size, const facebook::react::RadialGradient& gradient); +} + +interface RCTReactNativeFactory : public NSObject { + public @property (assign) RCTBridge* bridge; + public @property (assign) RCTDevMenuConfiguration* devMenuConfiguration; + public @property (strong) RCTBundleConfiguration* bundleConfiguration; + public @property (strong) RCTRootViewFactory* rootViewFactory; + public @property (weak) id delegate; + public virtual instancetype initWithDelegate:(id delegate); + public virtual instancetype initWithDelegate:releaseLevel:(id delegate, RCTReleaseLevel releaseLevel); + public virtual void startReactNativeWithModuleName:inWindow:(NSString* moduleName, UIWindow* _Nullable window); + public virtual void startReactNativeWithModuleName:inWindow:connectionOptions:(NSString* moduleName, UIWindow* _Nullable window, UISceneConnectionOptions* _Nullable connectionOptions); + public virtual void startReactNativeWithModuleName:inWindow:initialProperties:connectionOptions:(NSString* moduleName, UIWindow* _Nullable window, NSDictionary* _Nullable initialProperties, UISceneConnectionOptions* _Nullable connectionOptions); + public virtual void startReactNativeWithModuleName:inWindow:initialProperties:launchOptions:(NSString* moduleName, UIWindow* _Nullable window, NSDictionary* _Nullable initialProperties, NSDictionary* _Nullable launchOptions); + public virtual void startReactNativeWithModuleName:inWindow:launchOptions:(NSString* moduleName, UIWindow* _Nullable window, NSDictionary* _Nullable launchOptions); +} + +interface RCTReactTaggedView : public NSObject { + protected NSInteger _tag; + protected UIView* _view; + public virtual BOOL isEqual:(id other); + public virtual NSInteger tag(); + public virtual NSUInteger hash(); + public virtual _Nullable UIView* view(); + public virtual instancetype initWithView:(UIView* view); + public virtual static RCTReactTaggedView* wrap:(UIView* view); +} + +interface RCTRedBox : public NSObject { + public @property (strong) NSURL* overrideBundleURL; + public @property (strong) dispatch_block_t overrideReloadAction; + public virtual void addCustomButton:onPressHandler:(NSString* title, RCTRedBoxButtonPressHandler handler); + public virtual void dismiss(); + public virtual void registerErrorCustomizer:(id errorCustomizer); + public virtual void showError:(NSError* error); + public virtual void showErrorMessage:(NSString* message); + public virtual void showErrorMessage:withDetails:(NSString* message, NSString* details); + public virtual void showErrorMessage:withParsedStack:(NSString* message, NSArray* stack); + public virtual void showErrorMessage:withParsedStack:errorCookie:(NSString* message, NSArray* stack, int errorCookie); + public virtual void showErrorMessage:withRawStack:(NSString* message, NSString* rawStack); + public virtual void showErrorMessage:withRawStack:errorCookie:(NSString* message, NSString* rawStack, int errorCookie); + public virtual void showErrorMessage:withStack:(NSString* message, NSArray* stack); + public virtual void showErrorMessage:withStack:errorCookie:(NSString* message, NSArray* stack, int errorCookie); + public virtual void updateErrorMessage:withParsedStack:(NSString* message, NSArray* stack); + public virtual void updateErrorMessage:withParsedStack:errorCookie:(NSString* message, NSArray* stack, int errorCookie); + public virtual void updateErrorMessage:withStack:(NSString* message, NSArray* stack); + public virtual void updateErrorMessage:withStack:errorCookie:(NSString* message, NSArray* stack, int errorCookie); +} + +interface RCTRedBoxExtraDataViewController : public UIViewController { + public @property (weak) id actionDelegate; + public virtual void addExtraData:forIdentifier:(NSDictionary* data, NSString* identifier); +} + +interface RCTRootComponentView : public RCTViewComponentView { +} + +interface RCTRootView : public UIView { + public @property (assign) BOOL passThroughTouches; + public @property (assign) CGSize minimumSize; + public @property (assign) NSTimeInterval loadingViewFadeDelay; + public @property (assign) NSTimeInterval loadingViewFadeDuration; + public @property (assign) RCTRootViewSizeFlexibility sizeFlexibility; + public @property (copy) NSDictionary* appProperties; + public @property (copy, readonly) NSString* moduleName; + public @property (strong) UIView* loadingView; + public @property (strong, readonly) RCTBridge* bridge; + public @property (strong, readonly) UIView* contentView; + public @property (strong, readonly) UIView* view; + public @property (weak) UIViewController* reactViewController; + public @property (weak) id delegate; + public virtual instancetype initWithBridge:moduleName:initialProperties:(RCTBridge* bridge, NSString* moduleName, _Nullable NSDictionary* initialProperties); + public virtual instancetype initWithBundleURL:moduleName:initialProperties:launchOptions:(NSURL* bundleURL, NSString* moduleName, _Nullable NSDictionary* initialProperties, _Nullable NSDictionary* launchOptions); + public virtual instancetype initWithFrame:bridge:moduleName:initialProperties:(CGRect frame, RCTBridge* bridge, NSString* moduleName, _Nullable NSDictionary* initialProperties); +} + +interface RCTRootViewFactory : public NSObject { + public @property (strong) RCTHost* reactHost; + public virtual RCTHost* createReactHost:(NSDictionary* _Nullable launchOptions); + public virtual RCTHost* createReactHost:bundleConfiguration:devMenuConfiguration:(NSDictionary* _Nullable launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); + public virtual UIView* _Nonnull viewWithModuleName:(NSString* moduleName); + public virtual UIView* _Nonnull viewWithModuleName:initialProperties:(NSString* moduleName, NSDictionary* _Nullable initialProperties); + public virtual UIView* _Nonnull viewWithModuleName:initialProperties:launchOptions:(NSString* moduleName, NSDictionary* _Nullable initialProperties, NSDictionary* _Nullable launchOptions); + public virtual UIView* _Nonnull viewWithModuleName:initialProperties:launchOptions:bundleConfiguration:devMenuConfiguration:(NSString* moduleName, NSDictionary* _Nullable initialProperties, NSDictionary* _Nullable launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); + public virtual instancetype initWithConfiguration:(RCTRootViewFactoryConfiguration* configuration); + public virtual instancetype initWithConfiguration:andTurboModuleManagerDelegate:(RCTRootViewFactoryConfiguration* configuration, id _Nullable turboModuleManagerDelegate); + public virtual instancetype initWithTurboModuleDelegate:hostDelegate:configuration:(id turboModuleManagerDelegate, id hostDelegate, RCTRootViewFactoryConfiguration* configuration); + public virtual void initializeReactHostWithLaunchOptions:bundleConfiguration:devMenuConfiguration:(NSDictionary* _Nullable launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); +} + +interface RCTRootViewFactoryConfiguration : public NSObject { + public @property (assign) RCTBridgeDidNotFindModuleBlock bridgeDidNotFindModule; + public @property (assign) RCTBundleURLBlock bundleURLBlock; + public @property (assign) RCTCreateBridgeWithDelegateBlock createBridgeWithDelegate; + public @property (assign) RCTCreateRootViewWithBridgeBlock createRootViewWithBridge; + public @property (assign) RCTCustomizeRootViewBlock customizeRootView; + public @property (assign) RCTExtraLazyModuleClassesForBridge extraLazyModuleClassesForBridge; + public @property (assign) RCTExtraModulesForBridgeBlock extraModulesForBridge; + public @property (assign) RCTLoadSourceForBridgeBlock loadSourceForBridge; + public @property (assign) RCTLoadSourceForBridgeWithProgressBlock loadSourceForBridgeWithProgress; + public @property (assign) RCTSourceURLForBridgeBlock sourceURLForBridge; + public @property (weak) id jsRuntimeConfiguratorDelegate; + public virtual instancetype initWithBundleURL:newArchEnabled:(NSURL* bundleURL, BOOL newArchEnabled); + public virtual instancetype initWithBundleURLBlock:newArchEnabled:(RCTBundleURLBlock bundleURLBlock, BOOL newArchEnabled); +} + +interface RCTSafeAreaViewComponentView : public RCTViewComponentView { +} + +interface RCTScheduler : public NSObject { + public @property (assign, readonly) const std::shared_ptr uiManager; + public @property (weak) id delegate; + public virtual instancetype initWithToolbox:(facebook::react::SchedulerToolbox toolbox); + public virtual void addEventListener:(const std::shared_ptr& listener); + public virtual void animationTick(); + public virtual void onAllAnimationsComplete(); + public virtual void onAnimationStarted(); + public virtual void registerSurface:(const facebook::react::SurfaceHandler& surfaceHandler); + public virtual void removeEventListener:(const std::shared_ptr& listener); + public virtual void reportMount:(facebook::react::SurfaceId surfaceId); + public virtual void setupAnimationDriver:(const facebook::react::SurfaceHandler& surfaceHandler); + public virtual void unregisterSurface:(const facebook::react::SurfaceHandler& surfaceHandler); +} + +interface RCTScrollEvent : public NSObject { + public virtual instancetype initWithEventName:reactTag:scrollViewContentOffset:scrollViewContentInset:scrollViewContentSize:scrollViewFrame:scrollViewZoomScale:userData:coalescingKey:(NSString* eventName, NSNumber* reactTag, CGPoint scrollViewContentOffset, UIEdgeInsets scrollViewContentInset, CGSize scrollViewContentSize, CGRect scrollViewFrame, CGFloat scrollViewZoomScale, NSDictionary* userData, uint16_t coalescingKey); +} + +interface RCTScrollViewComponentView { + protected __pad0__; + public @property (assign) CGRect firstResponderFocus; + public @property (strong) UIScrollView* scrollView; + public @property (strong, readonly) RCTGenericDelegateSplitter>* scrollViewDelegateSplitter; + public @property (strong, readonly) UIView* containerView; + public @property (weak) UIView* firstResponderViewOutsideScrollView; + public virtual static _Nullable RCTScrollViewComponentView* findScrollViewComponentViewForView:(UIView* view); +} + +interface RCTSettingsManager : public NSObject { + public virtual instancetype initWithUserDefaults:(NSUserDefaults* defaults); +} + +interface RCTShadowView : public NSObject { + public @property (assign) BOOL newView; + public @property (assign) CGSize intrinsicContentSize; + public @property (assign) CGSize size; + public @property (assign) RCTLayoutMetrics layoutMetrics; + public @property (assign) YGAlign alignContent; + public @property (assign) YGAlign alignItems; + public @property (assign) YGAlign alignSelf; + public @property (assign) YGDirection direction; + public @property (assign) YGDisplay display; + public @property (assign) YGFlexDirection flexDirection; + public @property (assign) YGJustify justifyContent; + public @property (assign) YGOverflow overflow; + public @property (assign) YGPositionType position; + public @property (assign) YGValue bottom; + public @property (assign) YGValue columnGap; + public @property (assign) YGValue end; + public @property (assign) YGValue flexBasis; + public @property (assign) YGValue gap; + public @property (assign) YGValue height; + public @property (assign) YGValue left; + public @property (assign) YGValue margin; + public @property (assign) YGValue marginBottom; + public @property (assign) YGValue marginEnd; + public @property (assign) YGValue marginHorizontal; + public @property (assign) YGValue marginLeft; + public @property (assign) YGValue marginRight; + public @property (assign) YGValue marginStart; + public @property (assign) YGValue marginTop; + public @property (assign) YGValue marginVertical; + public @property (assign) YGValue maxHeight; + public @property (assign) YGValue maxWidth; + public @property (assign) YGValue minHeight; + public @property (assign) YGValue minWidth; + public @property (assign) YGValue padding; + public @property (assign) YGValue paddingBottom; + public @property (assign) YGValue paddingEnd; + public @property (assign) YGValue paddingHorizontal; + public @property (assign) YGValue paddingLeft; + public @property (assign) YGValue paddingRight; + public @property (assign) YGValue paddingStart; + public @property (assign) YGValue paddingTop; + public @property (assign) YGValue paddingVertical; + public @property (assign) YGValue right; + public @property (assign) YGValue rowGap; + public @property (assign) YGValue start; + public @property (assign) YGValue top; + public @property (assign) YGValue width; + public @property (assign) YGWrap flexWrap; + public @property (assign) float aspectRatio; + public @property (assign) float borderBottomWidth; + public @property (assign) float borderEndWidth; + public @property (assign) float borderLeftWidth; + public @property (assign) float borderRightWidth; + public @property (assign) float borderStartWidth; + public @property (assign) float borderTopWidth; + public @property (assign) float borderWidth; + public @property (assign) float flex; + public @property (assign) float flexGrow; + public @property (assign) float flexShrink; + public @property (assign, readonly) YGNodeRef yogaNode; + public @property (copy) NSString* viewName; + public @property (copy) RCTDirectEventBlock onLayout; + public @property (weak, readonly) RCTShadowView* superview; + public virtual BOOL canHaveSubviews(); + public virtual BOOL isYogaLeafNode(); + public virtual BOOL viewIsDescendantOf:(RCTShadowView* ancestor); + public virtual CGRect measureLayoutRelativeToAncestor:(RCTShadowView* ancestor); + public virtual CGSize sizeThatFitsMinimumSize:maximumSize:(CGSize minimumSize, CGSize maximumSize); + public virtual NSArray* reactSubviews(); + public virtual RCTShadowView* reactSuperview(); + public virtual static YGConfigRef yogaConfig(); + public virtual void didSetProps:(NSArray* changedProps); + public virtual void didUpdateReactSubviews(); + public virtual void insertReactSubview:atIndex:(RCTShadowView* subview, NSInteger atIndex); + public virtual void layoutSubviewsWithContext:(RCTLayoutContext layoutContext); + public virtual void layoutWithMetrics:layoutContext:(RCTLayoutMetrics layoutMetrics, RCTLayoutContext layoutContext); + public virtual void layoutWithMinimumSize:maximumSize:layoutDirection:layoutContext:(CGSize minimumSize, CGSize maximumSize, UIUserInterfaceLayoutDirection layoutDirection, RCTLayoutContext layoutContext); + public virtual void removeReactSubview:(RCTShadowView* subview); + public virtual void setLocalData:(NSObject* localData); +} + +interface RCTSource : public NSObject { + public @property (assign, readonly) NSInteger filesChangedCount; + public @property (assign, readonly) NSUInteger length; + public @property (strong, readonly) NSData* data; + public @property (strong, readonly) NSURL* downloadedBundleFileURL; + public @property (strong, readonly) NSURL* url; +} + +interface RCTSourceCode : public NSObject { +} + +interface RCTSpringAnimation : public NSObject { +} + +interface RCTStatusBarManager : public RCTEventEmitter { +} + +interface RCTStyleAnimatedNode : public RCTAnimatedNode { + public virtual NSDictionary* propsDictionary(); +} + +interface RCTSubtractionAnimatedNode : public RCTValueAnimatedNode { +} + +interface RCTSurface { + protected __pad0__; + public @property (assign, readonly) CGSize maximumSize; + public @property (assign, readonly) CGSize minimumSize; + public virtual BOOL synchronouslyWaitForStage:timeout:(RCTSurfaceStage stage, NSTimeInterval timeout); + public virtual void mountReactComponentWithBridge:moduleName:params:(RCTBridge* bridge, NSString* moduleName, NSDictionary* params); + public virtual void setSize:(CGSize size); + public virtual void unmountReactComponentWithBridge:rootViewTag:(RCTBridge* bridge, NSNumber* rootViewTag); +} + +interface RCTSurfaceHostingProxyRootView : public RCTSurfaceHostingView { + public @property (assign) BOOL passThroughTouches; + public @property (assign) CGSize minimumSize; + public @property (assign) NSTimeInterval loadingViewFadeDelay; + public @property (assign) NSTimeInterval loadingViewFadeDuration; + public @property (assign) RCTRootViewSizeFlexibility sizeFlexibility; + public @property (copy) NSDictionary* appProperties; + public @property (copy, readonly) NSString* moduleName; + public @property (strong) UIView* loadingView; + public @property (strong, readonly) RCTBridge* bridge; + public @property (strong, readonly) UIView* contentView; + public @property (strong, readonly) UIView* view; + public @property (weak) UIViewController* reactViewController; + public @property (weak) id delegate; + public virtual instancetype initWithSurface:(id surface); + public virtual void cancelTouches(); +} + +interface RCTSurfaceHostingView : public UIView { + public @property (assign) RCTSurfaceSizeMeasureMode sizeMeasureMode; + public @property (copy) RCTSurfaceHostingViewActivityIndicatorViewFactory activityIndicatorViewFactory; + public @property (strong, readonly) id surface; + public virtual instancetype initWithSurface:sizeMeasureMode:(id surface, RCTSurfaceSizeMeasureMode sizeMeasureMode); + public virtual void disableActivityIndicatorAutoHide:(BOOL disabled); +} + +interface RCTSurfacePointerHandler : public UIGestureRecognizer { + public @property (assign) CGPoint viewOriginOffset; + public virtual void attachToView:(UIView* view); + public virtual void detachFromView:(UIView* view); +} + +interface RCTSurfacePresenter : public NSObject { + public @property (assign) facebook::react::RuntimeExecutor runtimeExecutor; + public @property (assign) std::shared_ptr contextContainer; + public virtual BOOL resume(); + public virtual BOOL suspend(); + public virtual instancetype initWithContextContainer:runtimeExecutor:bridgelessBindingsExecutor:(std::shared_ptr contextContainer, facebook::react::RuntimeExecutor runtimeExecutor, std::optional bridgelessBindingsExecutor); +} + +interface RCTSurfacePresenterBridgeAdapter : public NSObject { + public @property (assign, readonly) RCTSurfacePresenter* surfacePresenter; + public @property (weak) RCTBridge* bridge; + public virtual instancetype initWithBridge:contextContainer:(RCTBridge* bridge, std::shared_ptr contextContainer); +} + +interface RCTSurfaceRegistry : public NSObject { + public virtual _Nullable RCTFabricSurface* surfaceForRootTag:(ReactTag rootTag); + public virtual void enumerateWithBlock:(RCTSurfaceEnumeratorBlock block); + public virtual void registerSurface:(RCTFabricSurface* surface); + public virtual void unregisterSurface:(RCTFabricSurface* surface); +} + +interface RCTSurfaceRootShadowView { + protected __pad0__; + protected assign; + protected readonly CGSize minimumSize; + public @property (assign) YGDirection baseDirection; + public @property (assign, readonly) CGSize intrinsicSize; + public @property (assign, readonly) CGSize maximumSize; + public @property (weak) id delegate; + public virtual void layoutWithAffectedShadowViews:(NSPointerArray* affectedShadowViews); + public virtual void setMinimumSize:maximumSize:(CGSize size, CGSize maximumSize); +} + +interface RCTSurfaceRootView : public RCTView { +} + +interface RCTSurfaceTouchHandler : public UIGestureRecognizer { + public @property (assign) CGPoint viewOriginOffset; + public virtual void attachToView:(UIView* view); + public virtual void detachFromView:(UIView* view); +} + +interface RCTSurfaceView : public UIView { + public @property (weak, readonly) id surface; + public virtual instancetype initWithSurface:(id surface); +} + +interface RCTSwiftUIContainerViewWrapper : public NSObject { + public virtual UIView* _Nullable contentView(); + public virtual UIView* _Nullable hostingView(); + public virtual void resetStyles(); + public virtual void updateBlurRadius:(NSNumber* radius); + public virtual void updateContentView:(UIView* view); + public virtual void updateContrast:(NSNumber* contrast); + public virtual void updateDropShadow:x:y:color:(NSNumber* standardDeviation, NSNumber* x, NSNumber* y, UIColor* color); + public virtual void updateGrayscale:(NSNumber* grayscale); + public virtual void updateHueRotate:(NSNumber* degrees); + public virtual void updateLayoutWithBounds:(CGRect bounds); + public virtual void updateSaturation:(NSNumber* saturation); +} + +interface RCTSwitchComponentView : public RCTViewComponentView { +} + +interface RCTSyncImageManager : public NSObject { + public virtual facebook::react::ImageRequest requestImage:surfaceId:(facebook::react::ImageSource imageSource, facebook::react::SurfaceId surfaceId); + public virtual instancetype initWithImageLoader:(id imageLoader); +} + +interface RCTTextInputComponentView : public RCTViewComponentView { +} + +interface RCTTextLayoutManager : public NSObject { + public virtual facebook::react::LinesMeasurements getLinesForAttributedString:paragraphAttributes:size:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGSize size); + public virtual facebook::react::TextMeasurement measureAttributedString:paragraphAttributes:layoutContext:layoutConstraints:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, facebook::react::TextLayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints); + public virtual facebook::react::TextMeasurement measureNSAttributedString:paragraphAttributes:layoutContext:layoutConstraints:(NSAttributedString* attributedString, facebook::react::ParagraphAttributes paragraphAttributes, facebook::react::TextLayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints); + public virtual std::shared_ptr getEventEmitterWithAttributeString:paragraphAttributes:frame:atPoint:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, CGPoint point); + public virtual void drawAttributedString:paragraphAttributes:frame:drawHighlightPath:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, void(^)(UIBezierPath* highlightPath) block); + public virtual void getRectWithAttributedString:paragraphAttributes:enumerateAttribute:frame:usingBlock:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, NSString* enumerateAttribute, CGRect frame, RCTTextLayoutFragmentEnumerationBlock block); +} + +interface RCTTextSelection : public NSObject { + public @property (assign, readonly) NSInteger end; + public @property (assign, readonly) NSInteger start; + public virtual instancetype initWithStart:end:(NSInteger start, NSInteger end); +} + +interface RCTThirdPartyComponentsProvider : public NSObject { + public virtual static NSDictionary>* thirdPartyFabricComponents(); +} + +interface RCTTiming : public NSObject { + public virtual instancetype initWithDelegate:(id delegate); + public virtual void createTimerForNextFrame:duration:jsSchedulingTime:repeats:(NSNumber* callbackID, NSTimeInterval jsDuration, _Nullable NSDate* jsSchedulingTime, BOOL repeats); + public virtual void deleteTimer:(double timerID); +} + +interface RCTTouchEvent : public NSObject { + public virtual instancetype initWithEventName:reactTag:reactTouches:changedIndexes:coalescingKey:(NSString* eventName, NSNumber* reactTag, NSArray* reactTouches, NSArray* changedIndexes, uint16_t coalescingKey); +} + +interface RCTTouchHandler : public UIGestureRecognizer { + public virtual instancetype initWithBridge:(RCTBridge* bridge); + public virtual void attachToView:(UIView* view); + public virtual void cancel(); + public virtual void detachFromView:(UIView* view); +} + +interface RCTTrackingAnimatedNode : public RCTAnimatedNode { +} + +interface RCTTransformAnimatedNode : public RCTAnimatedNode { + public virtual NSDictionary* propsDictionary(); +} + +interface RCTTurboModuleManager : public NSObject { + public virtual instancetype initWithBridgeProxy:bridgeModuleDecorator:delegate:jsInvoker:devMenuConfigurationDecorator:(RCTBridgeProxy* bridgeProxy, RCTBridgeModuleDecorator* bridgeModuleDecorator, id delegate, std::shared_ptr jsInvoker, RCTDevMenuConfigurationDecorator* devMenuConfigurationDecorator); + public virtual void installJSBindings:(facebook::jsi::Runtime& runtime); + public virtual void invalidate(); +} + +interface RCTUIImageViewAnimated : public UIImageView { +} + +interface RCTUIManager : public NSObject { + public @property (retain, readonly) RCTUIManagerObserverCoordinator* observerCoordinator; + public virtual NSString* viewNameForReactTag:(NSNumber* reactTag); + public virtual RCTShadowView* shadowViewForReactTag:(NSNumber* reactTag); + public virtual UIView* viewForNativeID:withRootTag:(NSString* nativeID, NSNumber* rootTag); + public virtual UIView* viewForReactTag:(NSNumber* reactTag); + public virtual static UIView* JSResponder(); + public virtual void addUIBlock:(RCTViewManagerUIBlock block); + public virtual void prependUIBlock:(RCTViewManagerUIBlock block); + public virtual void registerRootView:(UIView* rootView); + public virtual void registerRootViewTag:(NSNumber* rootTag); + public virtual void rootViewForReactTag:withCompletion:(NSNumber* reactTag, void(^)(UIView* view) completion); + public virtual void setAvailableSize:forRootView:(CGSize availableSize, UIView* rootView); + public virtual void setIntrinsicContentSize:forView:(CGSize intrinsicContentSize, UIView* view); + public virtual void setLocalData:forView:(NSObject* localData, UIView* view); + public virtual void setNativeID:forView:(NSString* nativeID, UIView* view); + public virtual void setNeedsLayout(); + public virtual void setNextLayoutAnimationGroup:(RCTLayoutAnimationGroup* layoutAnimationGroup); + public virtual void setSize:forView:(CGSize size, UIView* view); + public virtual void synchronouslyUpdateViewOnUIThread:viewName:props:(NSNumber* reactTag, NSString* viewName, NSDictionary* props); +} + +interface RCTUIManagerObserverCoordinator : public NSObject { + public virtual void addObserver:(id observer); + public virtual void removeObserver:(id observer); +} + +interface RCTUITextField : public UITextField { + public @property (assign) BOOL caretHidden; + public @property (assign) BOOL contextMenuHidden; + public @property (assign) BOOL disableKeyboardShortcuts; + public @property (assign) BOOL editable; + public @property (assign) BOOL scrollEnabled; + public @property (assign) UIEdgeInsets textContainerInset; + public @property (assign, readonly) BOOL dictationRecognizing; + public @property (assign, readonly) BOOL textWasPasted; + public @property (assign, readonly) CGFloat zoomScale; + public @property (assign, readonly) CGPoint contentOffset; + public @property (assign, readonly) UIEdgeInsets contentInset; + public @property (strong) NSString* inputAccessoryViewButtonLabel; + public @property (strong) NSString* inputAccessoryViewID; + public @property (strong) UIColor* placeholderColor; + public @property (weak) id textInputDelegate; +} + +interface RCTUITextView : public UITextView { + public @property (assign) BOOL caretHidden; + public @property (assign) BOOL contextMenuHidden; + public @property (assign) BOOL disableKeyboardShortcuts; + public @property (assign) CGFloat preferredMaxLayoutWidth; + public @property (assign) UITextFieldViewMode clearButtonMode; + public @property (assign, readonly) BOOL dictationRecognizing; + public @property (assign, readonly) BOOL textWasPasted; + public @property (copy) NSString* placeholder; + public @property (strong) NSString* inputAccessoryViewButtonLabel; + public @property (strong) NSString* inputAccessoryViewID; + public @property (strong) UIColor* placeholderColor; + public @property (weak) id textInputDelegate; +} + +interface RCTUnimplementedNativeComponentView : public RCTViewComponentView { +} + +interface RCTUnimplementedViewComponentView : public RCTViewComponentView { +} + +interface RCTUnstableModulesRequiringMainQueueSetupProvider : public NSObject { + public virtual static NSArray* modules(); +} + +interface RCTUtilsUIOverride : public NSObject { + public virtual static BOOL hasPresentedViewController(); + public virtual static UIViewController* presentedViewController(); + public virtual static void setPresentedViewController:(UIViewController* presentedViewController); +} + +interface RCTValueAnimatedNode : public RCTAnimatedNode { + public @property (assign) CGFloat value; + public @property (strong, readonly) id animatedObject; + public @property (weak) id valueObserver; + public virtual void extractOffset(); + public virtual void flattenOffset(); + public virtual void setOffset:(CGFloat offset); +} + +interface RCTVibration : public NSObject { +} + +interface RCTView : public UIView { + public @property (assign) BOOL removeClippedSubviews; + public @property (assign) CGFloat borderBlockEndWidth; + public @property (assign) CGFloat borderBlockStartWidth; + public @property (assign) CGFloat borderBlockWidth; + public @property (assign) CGFloat borderBottomEndRadius; + public @property (assign) CGFloat borderBottomLeftRadius; + public @property (assign) CGFloat borderBottomRightRadius; + public @property (assign) CGFloat borderBottomStartRadius; + public @property (assign) CGFloat borderBottomWidth; + public @property (assign) CGFloat borderEndEndRadius; + public @property (assign) CGFloat borderEndStartRadius; + public @property (assign) CGFloat borderEndWidth; + public @property (assign) CGFloat borderLeftWidth; + public @property (assign) CGFloat borderRadius; + public @property (assign) CGFloat borderRightWidth; + public @property (assign) CGFloat borderStartEndRadius; + public @property (assign) CGFloat borderStartStartRadius; + public @property (assign) CGFloat borderStartWidth; + public @property (assign) CGFloat borderTopEndRadius; + public @property (assign) CGFloat borderTopLeftRadius; + public @property (assign) CGFloat borderTopRightRadius; + public @property (assign) CGFloat borderTopStartRadius; + public @property (assign) CGFloat borderTopWidth; + public @property (assign) CGFloat borderWidth; + public @property (assign) RCTBorderCurve borderCurve; + public @property (assign) RCTBorderStyle borderStyle; + public @property (assign) RCTBubblingEventBlock onClick; + public @property (assign) RCTBubblingEventBlock onGotPointerCapture; + public @property (assign) RCTBubblingEventBlock onLostPointerCapture; + public @property (assign) RCTBubblingEventBlock onPointerCancel; + public @property (assign) RCTBubblingEventBlock onPointerDown; + public @property (assign) RCTBubblingEventBlock onPointerMove; + public @property (assign) RCTBubblingEventBlock onPointerOut; + public @property (assign) RCTBubblingEventBlock onPointerOver; + public @property (assign) RCTBubblingEventBlock onPointerUp; + public @property (assign) RCTCapturingEventBlock onPointerEnter; + public @property (assign) RCTCapturingEventBlock onPointerLeave; + public @property (assign) RCTCursor cursor; + public @property (assign) RCTPointerEvents pointerEvents; + public @property (assign) UIEdgeInsets hitTestEdgeInsets; + public @property (assign) UIUserInterfaceLayoutDirection reactLayoutDirection; + public @property (copy) RCTDirectEventBlock onAccessibilityAction; + public @property (copy) RCTDirectEventBlock onAccessibilityEscape; + public @property (copy) RCTDirectEventBlock onAccessibilityTap; + public @property (copy) RCTDirectEventBlock onMagicTap; + public @property (strong) UIColor* borderBlockColor; + public @property (strong) UIColor* borderBlockEndColor; + public @property (strong) UIColor* borderBlockStartColor; + public @property (strong) UIColor* borderBottomColor; + public @property (strong) UIColor* borderColor; + public @property (strong) UIColor* borderEndColor; + public @property (strong) UIColor* borderLeftColor; + public @property (strong) UIColor* borderRightColor; + public @property (strong) UIColor* borderStartColor; + public @property (strong) UIColor* borderTopColor; + public virtual static void autoAdjustInsetsForView:withScrollView:updateOffset:(UIView* parentView, UIScrollView* scrollView, BOOL updateOffset); + public virtual void updateClippedSubviews(); +} + +interface RCTViewComponentView : public UIView { + protected facebook::react::LayoutMetrics _layoutMetrics; + protected facebook::react::SharedViewEventEmitter _eventEmitter; + protected facebook::react::SharedViewProps _props; + public @property (assign) UIEdgeInsets hitTestEdgeInsets; + public @property (strong) NSString* nativeId; + public @property (strong) UIView* contentView; + public @property (strong, readonly) NSObject* accessibilityElement; + public virtual BOOL wantsToCooptLabel(); + public virtual NSString* accessibilityLabelForCoopting(); + public virtual UIView* betterHitTest:withEvent:(CGPoint point, UIEvent* event); + public virtual void finalizeUpdates:(RNComponentViewUpdateMask updateMask); + public virtual void prepareForRecycle(); + public virtual void updateEventEmitter:(const facebook::react::EventEmitter::Shared& eventEmitter); + public virtual void updateLayoutMetrics:oldLayoutMetrics:(const facebook::react::LayoutMetrics& layoutMetrics, const facebook::react::LayoutMetrics& oldLayoutMetrics); + public virtual void updateProps:oldProps:(const facebook::react::Props::Shared& props, const facebook::react::Props::Shared& oldProps); +} + +interface RCTViewManager : public NSObject { + public @property (weak) RCTBridge* bridge; + public CGFloat RCTJSONParseOnlyNumber(id json); + public virtual NSArray* customBubblingEventTypes(); + public virtual RCTShadowView* shadowView(); + public virtual UIView* view(); +} + +interface RCTViewRegistry : public NSObject { + public virtual UIView* viewForReactTag:(NSNumber* reactTag); + public virtual void addUIBlock:(RCTViewRegistryUIBlock block); + public virtual void setBridgelessComponentViewProvider:(RCTBridgelessComponentViewProvider bridgelessComponentViewProvider); +} + +interface RCTVirtualViewComponentView : public RCTViewComponentView { + public virtual instancetype initWithFrame:(CGRect frame); +} + +interface RCTVirtualViewContainerState : public NSObject { + public virtual instancetype initWithScrollView:(RCTScrollViewComponentView* scrollView); + public virtual void onChange:(id virtualView); + public virtual void remove:(id virtualView); +} + +interface RCTWebSocketModule : public RCTEventEmitter { + public virtual void sendData:forSocketID:(NSData* data, _Nonnull NSNumber* socketID); + public virtual void setContentHandler:forSocketID:(id _Nullable handler, NSNumber* socketID); +} + +interface RCTWrapperViewController : public UIViewController { + public virtual instancetype initWithContentView:(UIView* contentView); +} + +interface TraceUpdateTuple : public NSObject { + public @property (copy, readonly) dispatch_block_t cleanupBlock; + public @property (strong, readonly) UIView* view; + public virtual instancetype initWithView:cleanupBlock:(UIView* view, dispatch_block_t cleanupBlock); +} + +interface _RCTTypedModuleConstants : public NSDictionary { + public virtual static instancetype newWithUnsafeDictionary:(NSDictionary* dictionary); +} + +protocol NativeAccessibilityInfoSpec : public RCTBridgeModule, public RCTTurboModule { + public virtual void announceForAccessibility:(NSString* announcement); + public virtual void getRecommendedTimeoutMillis:onSuccess:(double mSec, RCTResponseSenderBlock onSuccess); + public virtual void isAccessibilityServiceEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isGrayscaleEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isHighTextContrastEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isInvertColorsEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isReduceMotionEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void isTouchExplorationEnabled:(RCTResponseSenderBlock onSuccess); + public virtual void setAccessibilityFocus:(double reactTag); +} + +protocol NativeAccessibilityManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void announceForAccessibility:(NSString* announcement); + public virtual void announceForAccessibilityWithOptions:options:(NSString* announcement, JS::NativeAccessibilityManager::SpecAnnounceForAccessibilityWithOptionsOptions& options); + public virtual void getCurrentBoldTextState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentDarkerSystemColorsState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentGrayscaleState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentInvertColorsState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentPrefersCrossFadeTransitionsState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentReduceMotionState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentReduceTransparencyState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void getCurrentVoiceOverState:onError:(RCTResponseSenderBlock onSuccess, RCTResponseSenderBlock onError); + public virtual void setAccessibilityContentSizeMultipliers:(JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers& JSMultipliers); + public virtual void setAccessibilityFocus:(double reactTag); +} + +protocol NativeActionSheetManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void dismissActionSheet(); + public virtual void showActionSheetWithOptions:callback:(JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions& options, RCTResponseSenderBlock callback); + public virtual void showShareActionSheetWithOptions:failureCallback:successCallback:(JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions& options, RCTResponseSenderBlock failureCallback, RCTResponseSenderBlock successCallback); +} + +protocol NativeAlertManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void alertWithArgs:callback:(JS::NativeAlertManager::Args& args, RCTResponseSenderBlock callback); +} + +protocol NativeAnimatedModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addAnimatedEventToView:eventName:eventMapping:(double viewTag, NSString* eventName, JS::NativeAnimatedModule::EventMapping& eventMapping); + public virtual void addListener:(NSString* eventName); + public virtual void connectAnimatedNodeToShadowNodeFamily:shadowNode:(double nodeTag, NSDictionary* shadowNode); + public virtual void connectAnimatedNodeToView:viewTag:(double nodeTag, double viewTag); + public virtual void connectAnimatedNodes:childTag:(double parentTag, double childTag); + public virtual void createAnimatedNode:config:(double tag, NSDictionary* config); + public virtual void disconnectAnimatedNodeFromView:viewTag:(double nodeTag, double viewTag); + public virtual void disconnectAnimatedNodes:childTag:(double parentTag, double childTag); + public virtual void dropAnimatedNode:(double tag); + public virtual void extractAnimatedNodeOffset:(double nodeTag); + public virtual void finishOperationBatch(); + public virtual void flattenAnimatedNodeOffset:(double nodeTag); + public virtual void getValue:saveValueCallback:(double tag, RCTResponseSenderBlock saveValueCallback); + public virtual void queueAndExecuteBatchedOperations:(NSArray* operationsAndArgs); + public virtual void removeAnimatedEventFromView:eventName:animatedNodeTag:(double viewTag, NSString* eventName, double animatedNodeTag); + public virtual void removeListeners:(double count); + public virtual void restoreDefaultValues:(double nodeTag); + public virtual void setAnimatedNodeOffset:offset:(double nodeTag, double offset); + public virtual void setAnimatedNodeValue:value:(double nodeTag, double value); + public virtual void startAnimatingNode:nodeTag:config:endCallback:(double animationId, double nodeTag, NSDictionary* config, RCTResponseSenderBlock endCallback); + public virtual void startListeningToAnimatedNodeValue:(double tag); + public virtual void startOperationBatch(); + public virtual void stopAnimation:(double animationId); + public virtual void stopListeningToAnimatedNodeValue:(double tag); + public virtual void updateAnimatedNodeConfig:config:(double tag, NSDictionary* config); +} + +protocol NativeAnimatedTurboModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addAnimatedEventToView:eventName:eventMapping:(double viewTag, NSString* eventName, JS::NativeAnimatedTurboModule::EventMapping& eventMapping); + public virtual void addListener:(NSString* eventName); + public virtual void connectAnimatedNodeToView:viewTag:(double nodeTag, double viewTag); + public virtual void connectAnimatedNodes:childTag:(double parentTag, double childTag); + public virtual void createAnimatedNode:config:(double tag, NSDictionary* config); + public virtual void disconnectAnimatedNodeFromView:viewTag:(double nodeTag, double viewTag); + public virtual void disconnectAnimatedNodes:childTag:(double parentTag, double childTag); + public virtual void dropAnimatedNode:(double tag); + public virtual void extractAnimatedNodeOffset:(double nodeTag); + public virtual void finishOperationBatch(); + public virtual void flattenAnimatedNodeOffset:(double nodeTag); + public virtual void getValue:saveValueCallback:(double tag, RCTResponseSenderBlock saveValueCallback); + public virtual void queueAndExecuteBatchedOperations:(NSArray* operationsAndArgs); + public virtual void removeAnimatedEventFromView:eventName:animatedNodeTag:(double viewTag, NSString* eventName, double animatedNodeTag); + public virtual void removeListeners:(double count); + public virtual void restoreDefaultValues:(double nodeTag); + public virtual void setAnimatedNodeOffset:offset:(double nodeTag, double offset); + public virtual void setAnimatedNodeValue:value:(double nodeTag, double value); + public virtual void startAnimatingNode:nodeTag:config:endCallback:(double animationId, double nodeTag, NSDictionary* config, RCTResponseSenderBlock endCallback); + public virtual void startListeningToAnimatedNodeValue:(double tag); + public virtual void startOperationBatch(); + public virtual void stopAnimation:(double animationId); + public virtual void stopListeningToAnimatedNodeValue:(double tag); + public virtual void updateAnimatedNodeConfig:config:(double tag, NSDictionary* config); +} + +protocol NativeAppStateSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void addListener:(NSString* eventName); + public virtual void getCurrentAppState:error:(RCTResponseSenderBlock success, RCTResponseSenderBlock error); + public virtual void removeListeners:(double count); +} + +protocol NativeAppearanceSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual NSString* getColorScheme(); + public virtual void addListener:(NSString* eventName); + public virtual void removeListeners:(double count); + public virtual void setColorScheme:(NSString* colorScheme); +} + +protocol NativeBlobModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void addNetworkingHandler(); + public virtual void addWebSocketHandler:(double id); + public virtual void createFromParts:withId:(NSArray* parts, NSString* withId); + public virtual void release:(NSString* blobId); + public virtual void removeWebSocketHandler:(double id); + public virtual void sendOverSocket:socketID:(NSDictionary* blob, double socketID); +} + +protocol NativeClipboardSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void getString:reject:(RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void setString:(NSString* content); +} + +protocol NativeDevLoadingViewSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void hide(); + public virtual void showMessage:withColor:withBackgroundColor:withDismissButton:(NSString* message, NSNumber* withColor, NSNumber* withBackgroundColor, NSNumber* withDismissButton); +} + +protocol NativeDevMenuSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void reload(); + public virtual void setHotLoadingEnabled:(BOOL enabled); + public virtual void setProfilingEnabled:(BOOL enabled); + public virtual void show(); +} + +protocol NativeDevSettingsSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void addMenuItem:(NSString* title); + public virtual void onFastRefresh(); + public virtual void openDebugger(); + public virtual void reload(); + public virtual void reloadWithReason:(NSString* reason); + public virtual void removeListeners:(double count); + public virtual void setHotLoadingEnabled:(BOOL isHotLoadingEnabled); + public virtual void setIsShakeToShowDevMenuEnabled:(BOOL enabled); + public virtual void setProfilingEnabled:(BOOL isProfilingEnabled); + public virtual void toggleElementInspector(); +} + +protocol NativeDeviceEventManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void invokeDefaultBackPressHandler(); +} + +protocol NativeDeviceInfoSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); +} + +protocol NativeExceptionsManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void dismissRedbox(); + public virtual void reportException:(JS::NativeExceptionsManager::ExceptionData& data); + public virtual void reportFatalException:stack:exceptionId:(NSString* message, NSArray* stack, double exceptionId); + public virtual void reportSoftException:stack:exceptionId:(NSString* message, NSArray* stack, double exceptionId); +} + +protocol NativeFileReaderModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void readAsDataURL:resolve:reject:(NSDictionary* data, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void readAsText:encoding:resolve:reject:(NSDictionary* data, NSString* encoding, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); +} + +protocol NativeFrameRateLoggerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void beginScroll(); + public virtual void endScroll(); + public virtual void setContext:(NSString* context); + public virtual void setGlobalOptions:(JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions& options); +} + +protocol NativeHeadlessJsTaskSupportSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void notifyTaskFinished:(double taskId); + public virtual void notifyTaskRetry:resolve:reject:(double taskId, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); +} + +protocol NativeI18nManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void allowRTL:(BOOL allowRTL); + public virtual void forceRTL:(BOOL forceRTL); + public virtual void swapLeftAndRightInRTL:(BOOL flipStyles); +} + +protocol NativeImageEditorSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void cropImage:cropData:successCallback:errorCallback:(NSString* uri, JS::NativeImageEditor::Options& cropData, RCTResponseSenderBlock successCallback, RCTResponseSenderBlock errorCallback); +} + +protocol NativeImageLoaderIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void getSize:resolve:reject:(NSString* uri, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void getSizeWithHeaders:headers:resolve:reject:(NSString* uri, NSDictionary* headers, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void prefetchImage:resolve:reject:(NSString* uri, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void prefetchImageWithMetadata:queryRootName:rootTag:resolve:reject:(NSString* uri, NSString* queryRootName, double rootTag, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void queryCache:resolve:reject:(NSArray* uris, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); +} + +protocol NativeImageStoreIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addImageFromBase64:successCallback:errorCallback:(NSString* base64ImageData, RCTResponseSenderBlock successCallback, RCTResponseSenderBlock errorCallback); + public virtual void getBase64ForTag:successCallback:errorCallback:(NSString* uri, RCTResponseSenderBlock successCallback, RCTResponseSenderBlock errorCallback); + public virtual void hasImageForTag:callback:(NSString* uri, RCTResponseSenderBlock callback); + public virtual void removeImageForTag:(NSString* uri); +} + +protocol NativeJSCHeapCaptureSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void captureComplete:error:(NSString* path, NSString* _Nullable error); +} + +protocol NativeKeyboardObserverSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void removeListeners:(double count); +} + +protocol NativeLinkingManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void canOpenURL:resolve:reject:(NSString* url, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void getInitialURL:reject:(RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void openSettings:reject:(RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void openURL:resolve:reject:(NSString* url, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void removeListeners:(double count); +} + +protocol NativeLogBoxSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void hide(); + public virtual void show(); +} + +protocol NativeNetworkingIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void abortRequest:(double requestId); + public virtual void addListener:(NSString* eventName); + public virtual void clearCookies:(RCTResponseSenderBlock callback); + public virtual void removeListeners:(double count); + public virtual void sendRequest:callback:(JS::NativeNetworkingIOS::SpecSendRequestQuery& query, RCTResponseSenderBlock callback); +} + +protocol NativePlatformConstantsIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); +} + +protocol NativePushNotificationManagerIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void abandonPermissions(); + public virtual void addListener:(NSString* eventType); + public virtual void cancelAllLocalNotifications(); + public virtual void cancelLocalNotifications:(NSDictionary* userInfo); + public virtual void checkPermissions:(RCTResponseSenderBlock callback); + public virtual void getApplicationIconBadgeNumber:(RCTResponseSenderBlock callback); + public virtual void getAuthorizationStatus:(RCTResponseSenderBlock callback); + public virtual void getDeliveredNotifications:(RCTResponseSenderBlock callback); + public virtual void getInitialNotification:reject:(RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void getScheduledLocalNotifications:(RCTResponseSenderBlock callback); + public virtual void onFinishRemoteNotification:fetchResult:(NSString* notificationId, NSString* fetchResult); + public virtual void presentLocalNotification:(JS::NativePushNotificationManagerIOS::Notification& notification); + public virtual void removeAllDeliveredNotifications(); + public virtual void removeDeliveredNotifications:(NSArray* identifiers); + public virtual void removeListeners:(double count); + public virtual void requestPermissions:resolve:reject:(JS::NativePushNotificationManagerIOS::SpecRequestPermissionsPermission& permission, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); + public virtual void scheduleLocalNotification:(JS::NativePushNotificationManagerIOS::Notification& notification); + public virtual void setApplicationIconBadgeNumber:(double num); +} + +protocol NativeReactDevToolsRuntimeSettingsModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual NSDictionary* getReloadAndProfileConfig(); + public virtual void setReloadAndProfileConfig:(JS::NativeReactDevToolsRuntimeSettingsModule::PartialReloadAndProfileConfig& config); +} + +protocol NativeReactDevToolsSettingsManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual NSString* _Nullable getGlobalHookSettings(); + public virtual void setGlobalHookSettings:(NSString* settings); +} + +protocol NativeRedBoxSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void dismiss(); + public virtual void setExtraData:forIdentifier:(NSDictionary* extraData, NSString* forIdentifier); +} + +protocol NativeSegmentFetcherSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void fetchSegment:options:callback:(double segmentId, NSDictionary* options, RCTResponseSenderBlock callback); + public virtual void getSegment:options:callback:(double segmentId, NSDictionary* options, RCTResponseSenderBlock callback); +} + +protocol NativeSettingsManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void deleteValues:(NSArray* values); + public virtual void setValues:(NSDictionary* values); +} + +protocol NativeShareModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void share:dialogTitle:resolve:reject:(JS::NativeShareModule::SpecShareContent& content, NSString* dialogTitle, RCTPromiseResolveBlock resolve, RCTPromiseRejectBlock reject); +} + +protocol NativeSoundManagerSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void playTouchSound(); +} + +protocol NativeSourceCodeSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); +} + +protocol NativeStatusBarManagerIOSSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual facebook::react::ModuleConstants constantsToExport(); + public virtual facebook::react::ModuleConstants getConstants(); + public virtual void addListener:(NSString* eventType); + public virtual void getHeight:(RCTResponseSenderBlock callback); + public virtual void removeListeners:(double count); + public virtual void setHidden:withAnimation:(BOOL hidden, NSString* withAnimation); + public virtual void setStyle:animated:(NSString* _Nullable statusBarStyle, BOOL animated); +} + +protocol NativeTimingSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void createTimer:duration:jsSchedulingTime:repeats:(double callbackID, double duration, double jsSchedulingTime, BOOL repeats); + public virtual void deleteTimer:(double timerID); + public virtual void setSendIdleEvents:(BOOL sendIdleEvents); +} + +protocol NativeVibrationSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void cancel(); + public virtual void vibrate:(double pattern); + public virtual void vibrateByPattern:repeat:(NSArray* pattern, double repeat); +} + +protocol NativeWebSocketModuleSpec : public NSObjectRCTBridgeModule, public RCTTurboModule { + public virtual void addListener:(NSString* eventName); + public virtual void close:reason:socketID:(double code, NSString* reason, double socketID); + public virtual void connect:protocols:options:socketID:(NSString* url, NSArray* _Nullable protocols, JS::NativeWebSocketModule::SpecConnectOptions& options, double socketID); + public virtual void ping:(double socketID); + public virtual void removeListeners:(double count); + public virtual void send:forSocketID:(NSString* message, double forSocketID); + public virtual void sendBinary:forSocketID:(NSString* base64String, double forSocketID); +} + +protocol RCTActivityIndicatorViewViewProtocol : public NSObject { +} + +protocol RCTAnimatedImage : public NSObject { + public @property (assign, readonly) NSUInteger animatedImageFrameCount; + public @property (assign, readonly) NSUInteger animatedImageLoopCount; + public virtual NSTimeInterval animatedImageDurationAtIndex:(NSUInteger index); + public virtual _Nullable UIImage* animatedImageFrameAtIndex:(NSUInteger index); +} + +protocol RCTAnimationDriver : public NSObject { + public @property (assign, readonly) BOOL animationHasBegun; + public @property (assign, readonly) BOOL animationHasFinished; + public @property (assign, readonly) NSNumber* animationId; + public @property (assign, readonly) RCTValueAnimatedNode* valueNode; + public virtual instancetype initWithId:config:forNode:callBack:(NSNumber* animationId, NSDictionary* config, RCTValueAnimatedNode* valueNode, _Nullable RCTResponseSenderBlock callback); + public virtual void resetAnimationConfig:(NSDictionary* config); + public virtual void startAnimation(); + public virtual void stepAnimationWithTime:(NSTimeInterval currentTime); + public virtual void stopAnimation(); +} + +protocol RCTAutoInsetsProtocol { + public @property (assign) BOOL automaticallyAdjustContentInsets; + public @property (assign) UIEdgeInsets contentInset; + public virtual void refreshContentInset(); +} + +protocol RCTBackedTextInputDelegate : public NSObject { + public virtual BOOL textInputShouldBeginEditing(); + public virtual BOOL textInputShouldEndEditing(); + public virtual BOOL textInputShouldReturn(); + public virtual BOOL textInputShouldSubmitOnReturn(); + public virtual NSString* textInputShouldChangeText:inRange:(NSString* text, NSRange range); + public virtual void scrollViewDidScroll:(UIScrollView* scrollView); + public virtual void textInputDidBeginEditing(); + public virtual void textInputDidChange(); + public virtual void textInputDidChangeSelection(); + public virtual void textInputDidEndEditing(); + public virtual void textInputDidReturn(); +} + +protocol RCTBackedTextInputViewProtocol : public UITextInput { + public @property (assign) BOOL caretHidden; + public @property (assign) BOOL contextMenuHidden; + public @property (assign) BOOL disableKeyboardShortcuts; + public @property (assign) BOOL editable; + public @property (assign) BOOL enablesReturnKeyAutomatically; + public @property (assign) BOOL scrollEnabled; + public @property (assign) UIDataDetectorTypes dataDetectorTypes; + public @property (assign) UIEdgeInsets textContainerInset; + public @property (assign) UITextFieldViewMode clearButtonMode; + public @property (assign, readonly) BOOL dictationRecognizing; + public @property (assign, readonly) BOOL textWasPasted; + public @property (assign, readonly) CGFloat zoomScale; + public @property (assign, readonly) CGPoint contentOffset; + public @property (assign, readonly) CGSize contentSize; + public @property (assign, readonly) UIEdgeInsets contentInset; + public @property (copy) NSAttributedString* attributedText; + public @property (copy) NSDictionary* typingAttributes; + public @property (copy) NSString* placeholder; + public @property (strong) NSArray* acceptDragAndDropTypes; + public @property (strong) NSDictionary* defaultTextAttributes; + public @property (strong) NSString* inputAccessoryViewButtonLabel; + public @property (strong) NSString* inputAccessoryViewID; + public @property (strong) UIColor* placeholderColor; + public @property (strong) UIView* inputAccessoryView; + public @property (strong) UIView* inputView; + public @property (weak) id textInputDelegate; + public virtual void scrollRangeToVisible:(NSRange selectedTextRange); + public virtual void setSelectedTextRange:notifyDelegate:(_Nullable UITextRange* selectedTextRange, BOOL notifyDelegate); +} + +protocol RCTBridgeDelegate : public NSObject { + public virtual NSURL* _Nullable sourceURLForBridge:(RCTBridge* bridge); +} + +protocol RCTBridgeMethod : public NSObject { + public @property (assign, readonly) RCTFunctionType functionType; + public @property (assign, readonly) const char* JSMethodName; + public virtual id invokeWithBridge:module:arguments:(RCTBridge* bridge, id module, NSArray* arguments); +} + +protocol RCTBridgeModule : public NSObject { + public @property (strong, readonly) dispatch_queue_t methodQueue; + public @property (weak) RCTBundleManager* bundleManager; + public @property (weak) RCTCallableJSModules* callableJSModules; + public @property (weak) RCTModuleRegistry* moduleRegistry; + public @property (weak, readonly) RCTBridge* bridge; + public virtual NSArray>* methodsToExport(); + public virtual NSDictionary* constantsToExport(); + public virtual static BOOL requiresMainQueueSetup(); + public virtual static NSString* moduleName(); + public virtual void batchDidComplete(); +} + +protocol RCTCallInvokerModule : public NSObject { + public @property (assign) RCTCallInvoker* callInvoker; +} + +protocol RCTComponent : public NSObject { + public @property (copy) NSNumber* reactTag; + public @property (copy) NSNumber* rootTag; + public virtual BOOL isReactRootView(); + public virtual NSArray>* reactSubviews(); + public virtual NSNumber* reactTagAtPoint:(CGPoint point); + public virtual id reactSuperview(); + public virtual void didSetProps:(NSArray* changedProps); + public virtual void didUpdateReactSubviews(); + public virtual void insertReactSubview:atIndex:(id subview, NSInteger atIndex); + public virtual void removeReactSubview:(id subview); +} + +protocol RCTComponentViewFactoryComponentProvider : public NSObject { + public virtual NSDictionary>* thirdPartyFabricComponents(); +} + +protocol RCTComponentViewProtocol : public NSObject { + public virtual BOOL isJSResponder(); + public virtual facebook::react::Props::Shared props(); + public virtual static facebook::react::ComponentDescriptorProvider componentDescriptorProvider(); + public virtual static std::vector supplementalComponentDescriptorProviders(); + public virtual void finalizeUpdates:(RNComponentViewUpdateMask updateMask); + public virtual void handleCommand:args:(const NSString* commandName, const NSArray* args); + public virtual void invalidate(); + public virtual void mountChildComponentView:index:(UIView* childComponentView, NSInteger index); + public virtual void prepareForRecycle(); + public virtual void setIsJSResponder:(BOOL isJSResponder); + public virtual void unmountChildComponentView:index:(UIView* childComponentView, NSInteger index); + public virtual void updateEventEmitter:(const facebook::react::EventEmitter::Shared& eventEmitter); + public virtual void updateLayoutMetrics:oldLayoutMetrics:(const facebook::react::LayoutMetrics& layoutMetrics, const facebook::react::LayoutMetrics& oldLayoutMetrics); + public virtual void updateProps:oldProps:(const facebook::react::Props::Shared& props, const facebook::react::Props::Shared& oldProps); + public virtual void updateState:oldState:(const facebook::react::State::Shared& state, const facebook::react::State::Shared& oldState); +} + +protocol RCTContextContainerHandling : public NSObject { + public virtual void didCreateContextContainer:(std::shared_ptr contextContainer); +} + +protocol RCTCustomPullToRefreshViewProtocol { +} + +protocol RCTCustomRefreshControlProtocol { + public @property (assign, readonly) BOOL refreshing; + public @property (copy) RCTDirectEventBlock onRefresh; + public @property (weak) UIScrollView* scrollView; +} + +protocol RCTCxxBridgeDelegate : public RCTBridgeDelegate { + public virtual std::unique_ptr jsExecutorFactoryForBridge:(RCTBridge* bridge); +} + +protocol RCTDebuggingOverlayViewProtocol : public NSObject { + public virtual void clearElementsHighlights(); + public virtual void highlightElements:(const NSArray* elements); + public virtual void highlightTraceUpdates:(const NSArray* updates); +} + +protocol RCTDependencyProvider : public NSObject { + public virtual NSArray* URLRequestHandlerClassNames(); + public virtual NSArray* imageDataDecoderClassNames(); + public virtual NSArray* imageURLLoaderClassNames(); + public virtual NSArray* unstableModulesRequiringMainQueueSetup(); + public virtual NSDictionary>* thirdPartyFabricComponents(); + public virtual _Nonnull NSDictionary>* moduleProviders(); +} + +protocol RCTDevLoadingViewProtocol : public NSObject { + public virtual static void setEnabled:(BOOL enabled); + public virtual void hide(); + public virtual void showMessage:color:backgroundColor:dismissButton:(NSString* message, UIColor* color, UIColor* backgroundColor, BOOL dismissButton); + public virtual void showWithURL:(NSURL* URL); + public virtual void updateProgress:(RCTLoadingProgress* progress); +} + +protocol RCTDevSettingsDataSource : public NSObject { + public virtual id settingForKey:(NSString* key); + public virtual void updateSettingWithValue:forKey:(id value, NSString* key); +} + +protocol RCTDevSettingsInspectable : public NSObject { + public @property (assign) BOOL isInspectable; +} + +protocol RCTDisplayRefreshable { + public virtual void displayDidRefresh:(CADisplayLink* displayLink); +} + +protocol RCTEnhancedScrollViewOverridingDelegate : public NSObject { + public virtual BOOL touchesShouldCancelInContentView:(UIView* view); +} + +protocol RCTErrorCustomizer : public NSObject { + public virtual _Nonnull RCTErrorInfo* customizeErrorInfo:(_Nonnull RCTErrorInfo* info); +} + +protocol RCTEvent : public NSObject { + public @property (assign, readonly) uint16_t coalescingKey; + public @property (copy, readonly) NSString* eventName; + public @property (strong, readonly) NSNumber* viewTag; + public virtual BOOL canCoalesce(); + public virtual NSArray* arguments(); + public virtual id coalesceWithEvent:(id newEvent); + public virtual static NSString* moduleDotMethod(); +} + +protocol RCTEventDispatcherObserver : public NSObject { + public virtual void eventDispatcherWillDispatchEvent:(id event); +} + +protocol RCTEventDispatcherProtocol : public RCTBridgeModule, public RCTJSDispatcherModule { + public virtual void addDispatchObserver:(id observer); + public virtual void notifyObserversOfEvent:(id event); + public virtual void removeDispatchObserver:(id observer); + public virtual void sendAppEventWithName:body:(NSString* name, id body); + public virtual void sendDeviceEventWithName:body:(NSString* name, id body); + public virtual void sendEvent:(id event); + public virtual void sendTextEventWithType:reactTag:text:key:eventCount:(RCTTextEventType type, NSNumber* reactTag, NSString* text, NSString* key, NSInteger eventCount); + public virtual void sendViewEventWithName:reactTag:(NSString* name, NSNumber* reactTag); +} + +protocol RCTExceptionsManagerDelegate : public NSObject { + public virtual NSDictionary* decorateJSExceptionData:(NSDictionary* exceptionData); + public virtual void handleFatalJSExceptionWithMessage:stack:exceptionId:extraDataAsJSON:(_Nullable NSString* message, _Nullable NSArray* stack, NSNumber* exceptionId, _Nullable NSString* extraDataAsJSON); + public virtual void handleSoftJSExceptionWithMessage:stack:exceptionId:extraDataAsJSON:(_Nullable NSString* message, _Nullable NSArray* stack, NSNumber* exceptionId, _Nullable NSString* extraDataAsJSON); +} + +protocol RCTFabricModalHostViewControllerDelegate : public NSObject { + public virtual void boundsDidChange:(CGRect newBounds); +} + +protocol RCTFrameUpdateObserver : public NSObjectNSObject { + public @property (assign, readonly) BOOL paused; + public @property (copy) dispatch_block_t pauseCallback; + public virtual void didUpdateFrame:(RCTFrameUpdate* update); +} + +protocol RCTHostDelegate : public NSObject { + public virtual NSArray* unstableModulesRequiringMainQueueSetup(); + public virtual void host:didInitializeRuntime:(RCTHost* host, facebook::jsi::Runtime& runtime); + public virtual void host:didReceiveJSErrorStack:message:originalMessage:name:componentStack:exceptionId:isFatal:extraData:(RCTHost* host, NSArray*>* stack, NSString* message, NSString* _Nullable originalMessage, NSString* _Nullable name, NSString* _Nullable componentStack, NSUInteger exceptionId, BOOL isFatal, NSDictionary* extraData); + public virtual void hostDidStart:(RCTHost* host); + public virtual void loadBundleAtURL:onProgress:onComplete:(NSURL* sourceURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); +} + +protocol RCTHostRuntimeDelegate : public NSObject { + public virtual void host:didInitializeRuntime:(RCTHost* host, facebook::jsi::Runtime& runtime); +} + +protocol RCTImageCache : public NSObject { + public virtual UIImage* imageForUrl:size:scale:resizeMode:(NSString* url, CGSize size, CGFloat scale, RCTResizeMode resizeMode); + public virtual void addImageToCache:URL:size:scale:resizeMode:response:(UIImage* image, NSString* url, CGSize size, CGFloat scale, RCTResizeMode resizeMode, NSURLResponse* response); +} + +protocol RCTImageDataDecoder : public RCTBridgeModule { + public virtual BOOL canDecodeImageData:(NSData* imageData); + public virtual RCTImageLoaderCancellationBlock decodeImageData:size:scale:resizeMode:completionHandler:(NSData* imageData, CGSize size, CGFloat scale, RCTResizeMode resizeMode, RCTImageLoaderCompletionBlock completionHandler); + public virtual float decoderPriority(); +} + +protocol RCTImageLoaderLoggable { + public virtual BOOL shouldEnablePerfLogging(); +} + +protocol RCTImageLoaderLoggableProtocol : public NSObject { + public virtual BOOL shouldEnablePerfLoggingForRequestUrl:(NSURL* url); +} + +protocol RCTImageLoaderProtocol : public RCTURLRequestHandler { + public @property (assign) NSUInteger maxConcurrentDecodingBytes; + public @property (assign) NSUInteger maxConcurrentDecodingTasks; + public @property (assign) NSUInteger maxConcurrentLoadingTasks; + public virtual NSDictionary* getImageCacheStatus:(NSArray* requests); + public virtual RCTImageLoaderCancellationBlock decodeImageData:size:scale:clipped:resizeMode:completionBlock:(NSData* imageData, CGSize size, CGFloat scale, BOOL clipped, RCTResizeMode resizeMode, RCTImageLoaderCompletionBlock completionBlock); + public virtual RCTImageLoaderCancellationBlock getImageSizeForURLRequest:block:(NSURLRequest* imageURLRequest, void(^)(NSError* error, CGSize size) completionBlock); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageWithURLRequest:callback:(NSURLRequest* imageURLRequest, RCTImageLoaderCompletionBlock callback); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageWithURLRequest:priority:callback:(NSURLRequest* imageURLRequest, RCTImageLoaderPriority priority, RCTImageLoaderCompletionBlock callback); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageWithURLRequest:size:scale:clipped:resizeMode:progressBlock:partialLoadBlock:completionBlock:(NSURLRequest* imageURLRequest, CGSize size, CGFloat scale, BOOL clipped, RCTResizeMode resizeMode, RCTImageLoaderProgressBlock progressBlock, RCTImageLoaderPartialLoadBlock partialLoadBlock, RCTImageLoaderCompletionBlock completionBlock); + public virtual void setImageCache:(id cache); +} + +protocol RCTImageLoaderWithAttributionProtocol : public RCTImageLoaderProtocol, public RCTImageLoaderLoggableProtocol { + public virtual RCTImageURLLoaderRequest* loadImageWithURLRequest:size:scale:clipped:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:(NSURLRequest* imageURLRequest, CGSize size, CGFloat scale, BOOL clipped, RCTResizeMode resizeMode, RCTImageLoaderPriority priority, const facebook::react::ImageURLLoaderAttribution& attribution, RCTImageLoaderProgressBlock progressBlock, RCTImageLoaderPartialLoadBlock partialLoadBlock, RCTImageLoaderCompletionBlockWithMetadata completionBlock); + public virtual void trackURLImageDidDestroy:(RCTImageURLLoaderRequest* loaderRequest); + public virtual void trackURLImageRequestDidDestroy:(RCTImageURLLoaderRequest* loaderRequest); + public virtual void trackURLImageVisibilityForRequest:imageView:(RCTImageURLLoaderRequest* loaderRequest, UIView* imageView); +} + +protocol RCTImageManagerProtocol : public NSObject { + public virtual facebook::react::ImageRequest requestImage:surfaceId:(facebook::react::ImageSource imageSource, facebook::react::SurfaceId surfaceId); +} + +protocol RCTImageRedirectProtocol { + public virtual NSURL* redirectAssetsURL:(NSURL* URL); +} + +protocol RCTImageResponseDelegate : public NSObject { + public virtual void didReceiveFailure:fromObserver:(NSError* error, const void* observer); + public virtual void didReceiveImage:metadata:fromObserver:(UIImage* image, id metadata, const void* observer); + public virtual void didReceiveProgress:loaded:total:fromObserver:(float progress, int64_t loaded, int64_t total, const void* observer); +} + +protocol RCTImageURLLoader : public RCTBridgeModule { + public virtual BOOL canLoadImageURL:(NSURL* requestURL); + public virtual BOOL requiresScheduling(); + public virtual BOOL shouldCacheLoadedImages(); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageForURL:size:scale:resizeMode:progressHandler:partialLoadHandler:completionHandler:(NSURL* imageURL, CGSize size, CGFloat scale, RCTResizeMode resizeMode, RCTImageLoaderProgressBlock progressHandler, RCTImageLoaderPartialLoadBlock partialLoadHandler, RCTImageLoaderCompletionBlock completionHandler); + public virtual _Nullable RCTImageLoaderCancellationBlock loadImageForURL:size:scale:resizeMode:progressHandler:partialLoadHandler:completionHandlerWithMetadata:(NSURL* imageURL, CGSize size, CGFloat scale, RCTResizeMode resizeMode, RCTImageLoaderProgressBlock progressHandler, RCTImageLoaderPartialLoadBlock partialLoadHandler, RCTImageLoaderCompletionBlockWithMetadata completionHandlerWithMetadata); + public virtual float loaderPriority(); +} + +protocol RCTImageURLLoaderWithAttribution : public NSObjectRCTImageURLLoader, public RCTImageLoaderLoggable { + public virtual RCTImageURLLoaderRequest* loadImageForURL:size:scale:resizeMode:requestId:priority:attribution:progressHandler:partialLoadHandler:completionHandler:(NSURL* imageURL, CGSize size, CGFloat scale, RCTResizeMode resizeMode, NSString* requestId, RCTImageLoaderPriority priority, const facebook::react::ImageURLLoaderAttribution& attribution, RCTImageLoaderProgressBlock progressHandler, RCTImageLoaderPartialLoadBlock partialLoadHandler, RCTImageLoaderCompletionBlockWithMetadata completionHandler); + public virtual void trackURLImageDidDestroy:(RCTImageURLLoaderRequest* loaderRequest); + public virtual void trackURLImageRequestDidDestroy:(RCTImageURLLoaderRequest* loaderRequest); + public virtual void trackURLImageVisibilityForRequest:imageView:(RCTImageURLLoaderRequest* loaderRequest, UIView* imageView); +} + +protocol RCTInitializing : public NSObject { + public virtual void initialize(); +} + +protocol RCTInputAccessoryViewProtocol : public NSObject { +} + +protocol RCTInstanceDelegate : public RCTContextContainerHandling { + public virtual BOOL instance:didReceiveJSErrorStack:message:originalMessage:name:componentStack:exceptionId:isFatal:extraData:(RCTInstance* instance, NSArray*>* stack, NSString* message, NSString* _Nullable originalMessage, NSString* _Nullable name, NSString* _Nullable componentStack, NSUInteger exceptionId, BOOL isFatal, NSDictionary* extraData); + public virtual NSArray* unstableModulesRequiringMainQueueSetup(); + public virtual void instance:didInitializeRuntime:(RCTInstance* instance, facebook::jsi::Runtime& runtime); + public virtual void loadBundleAtURL:onProgress:onComplete:(NSURL* sourceURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); +} + +protocol RCTInvalidating : public NSObject { + public virtual void invalidate(); +} + +protocol RCTJSDispatcherModule { + public @property (copy) void(^dispatchToJSThread)(dispatch_block_t block); +} + +protocol RCTJSRuntimeConfiguratorProtocol { + public virtual JSRuntimeFactoryRef createJSRuntimeFactory(); +} + +protocol RCTLocalizationProtocol : public NSObject { + public virtual NSString* localizedString:withDescription:(NSString* oldString, NSString* description); +} + +protocol RCTModalHostViewViewProtocol : public NSObject { +} + +protocol RCTModuleDataCallInvokerProvider : public NSObject { + public virtual RCTCallInvoker* callInvokerForModuleData:(RCTModuleData* moduleData); +} + +protocol RCTModuleProvider : public NSObjectNSObject { + public virtual std::shared_ptr getTurboModule:(const facebook::react::ObjCTurboModule::InitParams& params); +} + +protocol RCTMountingManagerDelegate : public NSObject { + public virtual void mountingManager:didMountComponentsWithRootTag:(RCTMountingManager* mountingManager, ReactTag rootTag); + public virtual void mountingManager:willMountComponentsWithRootTag:(RCTMountingManager* mountingManager, ReactTag MountingManager); +} + +protocol RCTMountingTransactionObserving : public NSObject { + public virtual void mountingTransactionDidMount:withSurfaceTelemetry:(const facebook::react::MountingTransaction& transaction, const facebook::react::SurfaceTelemetry& surfaceTelemetry); + public virtual void mountingTransactionWillMount:withSurfaceTelemetry:(const facebook::react::MountingTransaction& transaction, const facebook::react::SurfaceTelemetry& surfaceTelemetry); +} + +protocol RCTNetworkingRequestHandler : public NSObject { + public virtual BOOL canHandleNetworkingRequest:(NSDictionary* data); + public virtual NSDictionary* handleNetworkingRequest:(NSDictionary* data); +} + +protocol RCTNetworkingResponseHandler : public NSObject { + public virtual BOOL canHandleNetworkingResponse:(NSString* responseType); + public virtual id handleNetworkingResponse:data:(NSURLResponse* response, NSData* data); +} + +protocol RCTPullToRefreshViewViewProtocol : public NSObject { + public virtual void setNativeRefreshing:(BOOL refreshing); +} + +protocol RCTReactNativeFactoryDelegate : public RCTBridgeDelegate, public RCTUIConfiguratorProtocol, public RCTHostDelegate, public RCTTurboModuleManagerDelegate, public RCTComponentViewFactoryComponentProvider, public RCTJSRuntimeConfiguratorProtocol { + public @property (strong) id dependencyProvider; + public virtual NSDictionary>* thirdPartyFabricComponents(); + public virtual NSURL* _Nullable bundleURL(); +} + +protocol RCTRedBoxExtraDataActionDelegate : public NSObject { + public virtual void reload(); +} + +protocol RCTRefreshableProtocol { + public virtual void setRefreshing:(BOOL refreshing); +} + +protocol RCTReloadListener { + public virtual void didReceiveReloadCommand(); +} + +protocol RCTRendererInteropLayerAdapting { + public virtual UIView* paperView(); +} + +protocol RCTRootViewDelegate : public NSObject { + public virtual void rootViewDidChangeIntrinsicSize:(RCTRootView* rootView); +} + +protocol RCTSafeAreaViewViewProtocol : public NSObject { +} + +protocol RCTSchedulerDelegate { + public virtual void schedulerDidDispatchCommand:commandName:args:(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args); + public virtual void schedulerDidFinishTransaction:(std::shared_ptr mountingCoordinator); + public virtual void schedulerDidSendAccessibilityEvent:eventType:(const facebook::react::ShadowView& shadowView, const std::string& eventType); + public virtual void schedulerDidSetIsJSResponder:blockNativeResponder:forShadowView:(BOOL isJSResponder, BOOL blockNativeResponder, const facebook::react::ShadowView& shadowView); + public virtual void schedulerDidSynchronouslyUpdateViewOnUIThread:props:(facebook::react::Tag reactTag, folly::dynamic props); + public virtual void schedulerShouldMergeReactRevision:(facebook::react::SurfaceId surfaceId); + public virtual void schedulerShouldRenderTransactions:(std::shared_ptr mountingCoordinator); +} + +protocol RCTScrollViewProtocol : public NSObject { + public virtual void flashScrollIndicators(); + public virtual void scrollTo:y:animated:(double x, double y, BOOL animated); + public virtual void scrollToEnd:(BOOL animated); + public virtual void zoomToRect:animated:(CGRect rect, BOOL animated); +} + +protocol RCTScrollableProtocol { + public @property (assign, readonly) CGSize contentSize; + public virtual void addScrollListener:(NSObject* scrollListener); + public virtual void removeScrollListener:(NSObject* scrollListener); + public virtual void scrollToEnd:(BOOL animated); + public virtual void scrollToOffset:(CGPoint offset); + public virtual void scrollToOffset:animated:(CGPoint offset, BOOL animated); + public virtual void zoomToRect:animated:(CGRect rect, BOOL animated); +} + +protocol RCTSurfaceDelegate : public NSObject { + public virtual void surface:didChangeIntrinsicSize:(RCTSurface* surface, CGSize intrinsicSize); + public virtual void surface:didChangeStage:(RCTSurface* surface, RCTSurfaceStage stage); +} + +protocol RCTSurfacePresenterObserver : public NSObject { + public virtual void didMountComponentsWithRootTag:(NSInteger rootTag); + public virtual void willMountComponentsWithRootTag:(NSInteger rootTag); +} + +protocol RCTSurfacePresenterStub : public NSObject { + public virtual id createFabricSurfaceForModuleName:initialProperties:(NSString* moduleName, NSDictionary* initialProperties); + public virtual void addObserver:(id observer); + public virtual void removeObserver:(id observer); + public virtual void synchronouslyUpdateViewOnUIThread:props:(NSNumber* reactTag, NSDictionary* props); +} + +protocol RCTSurfaceProtocol : public NSObject { + public @property (assign, readonly) CGSize intrinsicSize; + public @property (assign, readonly) NSInteger rootTag; + public @property (assign, readonly) NSNumber* rootViewTag; + public @property (assign, readonly) NSString* moduleName; + public @property (assign, readonly) RCTSurfaceStage stage; + public @property (copy) NSDictionary* properties; + public @property (weak) id delegate; + public virtual CGSize sizeThatFitsMinimumSize:maximumSize:(CGSize minimumSize, CGSize maximumSize); + public virtual RCTSurfaceView* view(); + public virtual void setMinimumSize:maximumSize:(CGSize minimumSize, CGSize maximumSize); + public virtual void setMinimumSize:maximumSize:viewportOffset:(CGSize minimumSize, CGSize maximumSize, CGPoint viewportOffset); + public virtual void start(); + public virtual void stop(); +} + +protocol RCTSurfaceRootShadowViewDelegate : public NSObject { + public virtual void rootShadowView:didChangeIntrinsicSize:(RCTSurfaceRootShadowView* rootShadowView, CGSize intrinsicSize); + public virtual void rootShadowViewDidStartLayingOut:(RCTSurfaceRootShadowView* rootShadowView); + public virtual void rootShadowViewDidStartRendering:(RCTSurfaceRootShadowView* rootShadowView); +} + +protocol RCTSwitchViewProtocol : public NSObject { + public virtual void setValue:(BOOL value); +} + +protocol RCTTextInputViewProtocol : public NSObject { + public virtual void blur(); + public virtual void focus(); + public virtual void setTextAndSelection:value:start:end:(NSInteger eventCount, NSString* _Nullable value, NSInteger start, NSInteger end); +} + +protocol RCTTimingDelegate { + public virtual void callIdleCallbacks:(NSNumber* absoluteFrameStartMS); + public virtual void callTimers:(NSArray* timers); + public virtual void immediatelyCallTimer:(NSNumber* callbackID); +} + +protocol RCTTouchableComponentViewProtocol : public NSObject { + public virtual facebook::react::SharedTouchEventEmitter touchEventEmitterAtPoint:(CGPoint point); +} + +protocol RCTTurboModule : public RCTModuleProvider { + public virtual void setEventEmitterCallback:(EventEmitterCallbackWrapper* eventEmitterCallbackWrapper); +} + +protocol RCTTurboModuleManagerDelegate : public NSObject { + public virtual Class getModuleClassFromName:(const char* name); + public virtual NSArray>* extraModulesForBridge:((deprecated("Please make all native modules returned from this method TurboModule-compatible.")) __attribute); + public virtual id getModuleProvider:(const char* name); + public virtual id getModuleInstanceFromClass:(Class moduleClass); + public virtual std::shared_ptr getTurboModule:jsInvoker:(const std::string& name, std::shared_ptr jsInvoker); +} + +protocol RCTTurboModuleRegistry : public NSObject { + public virtual BOOL moduleIsInitialized:(const char* moduleName); + public virtual id moduleForName:(const char* moduleName); + public virtual id moduleForName:warnOnLookupFailure:(const char* moduleName, BOOL warnOnLookupFailure); +} + +protocol RCTTurboModuleWithJSIBindings : public NSObject { + public virtual void installJSIBindingsWithRuntime:callInvoker:(facebook::jsi::Runtime& runtime, const std::shared_ptr& callinvoker); +} + +protocol RCTUIConfiguratorProtocol { + public virtual RCTColorSpace defaultColorSpace(); + public virtual UIViewController* createRootViewController(); + public virtual void customizeRootView:(RCTRootView* rootView); + public virtual void setRootView:toRootViewController:(UIView* rootView, UIViewController* rootViewController); +} + +protocol RCTUIManagerObserver : public NSObject { + public virtual BOOL uiManager:performMountingWithBlock:(RCTUIManager* manager, RCTUIManagerMountingBlock block); + public virtual void uiManagerDidPerformLayout:(RCTUIManager* manager); + public virtual void uiManagerDidPerformMounting:(RCTUIManager* manager); + public virtual void uiManagerWillPerformLayout:(RCTUIManager* manager); + public virtual void uiManagerWillPerformMounting:(RCTUIManager* manager); +} + +protocol RCTURLRequestDelegate : public NSObject { + public virtual void URLRequest:didCompleteWithError:(id requestToken, NSError* error); + public virtual void URLRequest:didReceiveData:(id requestToken, NSData* data); + public virtual void URLRequest:didReceiveResponse:(id requestToken, NSURLResponse* response); + public virtual void URLRequest:didSendDataWithProgress:(id requestToken, int64_t bytesSent); +} + +protocol RCTURLRequestHandler : public RCTBridgeModule { + public virtual BOOL canHandleRequest:(NSURLRequest* request); + public virtual float handlerPriority(); + public virtual id sendRequest:withDelegate:(NSURLRequest* request, id delegate); + public virtual void cancelRequest:(id requestToken); +} + +protocol RCTUnimplementedNativeViewViewProtocol : public NSObject { +} + +protocol RCTValueAnimatedNodeObserver : public NSObject { + public virtual void animatedNode:didUpdateValue:(RCTValueAnimatedNode* node, CGFloat value); +} + +protocol RCTVirtualViewContainerProtocol { + public virtual RCTVirtualViewContainerState* virtualViewContainerState(); +} + +protocol RCTVirtualViewProtocol : public NSObject { + public virtual CGRect containerRelativeRect:(UIView* view); + public virtual NSString* virtualViewID(); + public virtual void onModeChange:targetRect:thresholdRect:(RCTVirtualViewMode newMode, CGRect targetRect, CGRect thresholdRect); +} + +protocol RCTVirtualViewViewProtocol : public NSObject { +} + +protocol RCTWebSocketContentHandler : public NSObject { + public virtual id processWebsocketMessage:forSocketID:withType:(id _Nullable message, NSNumber* socketID, NSString* _Nonnull __autoreleasing* _Nonnull type); +} + +struct RCTBorderColors { + public UIColor* bottom; + public UIColor* left; + public UIColor* right; + public UIColor* top; +} + +struct RCTCornerInsets { + public CGSize bottomLeft; + public CGSize bottomRight; + public CGSize topLeft; + public CGSize topRight; +} + +struct RCTCornerRadii { + public CGFloat bottomLeftHorizontal; + public CGFloat bottomLeftVertical; + public CGFloat bottomRightHorizontal; + public CGFloat bottomRightVertical; + public CGFloat topLeftHorizontal; + public CGFloat topLeftVertical; + public CGFloat topRightHorizontal; + public CGFloat topRightVertical; +} + +struct RCTFontProperties { + public CGFloat size; + public CGFloat sizeMultiplier; + public NSDictionary* _Nullable variations; + public NSString* family; + public RCTFontStyle style; + public RCTFontVariant variant; + public UIFontWeight weight; +} + +struct RCTLayoutContext { + public CGPoint absolutePosition; + public __unsafe_unretained NSHashTable* _Nonnull other; + public __unsafe_unretained NSPointerArray* _Nonnull affectedShadowViews; +} + +struct RCTLayoutMetrics { + public CGRect contentFrame; + public CGRect frame; + public RCTDisplayType displayType; + public UIEdgeInsets borderWidth; + public UIUserInterfaceLayoutDirection layoutDirection; +} + +struct RCTMethodInfo { + public const BOOL isSync; + public const char* const jsName; + public const char* const objcName; +} + +struct RCTTransformOrigin { + public CGFloat z; + public YGValue x; + public YGValue y; +} + +struct YGConfig { +} + +struct YGNode { +} + +struct YGSize { + public float height; + public float width; +} + +struct YGValue { + public YGUnit unit; + public float value; +} + +template +struct RCTRequired { + public RCTRequired& operator=(RCTRequired&&) = default; + public RCTRequired& operator=(const RCTRequired&) = default; + public RCTRequired(RCTRequired&&) = default; + public RCTRequired(const RCTRequired&) = default; + public T& get(); + public const T& get() const; + public operator T&(); + public operator T() const; + public ~RCTRequired() = default; + template + public RCTRequired(Args &&... args); +} + + +class facebook::hermes::IHermes : public facebook::jsi::ICast { + protected ~IHermes() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual ICast* getHermesRootAPI() = 0; + public virtual SHRuntime* getSHRuntime() noexcept = 0; + public virtual const hermes::vm::GCExecTrace& getGCExecTrace() const = 0; + public virtual debugger::Debugger& getDebugger() = 0; + public virtual facebook::jsi::Value evaluateJavaScriptWithSourceMap(const std::shared_ptr& buffer, const std::shared_ptr& sourceMapBuf, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluateSHUnit(SHUnitCreator shUnitCreator) = 0; + public virtual facebook::jsi::Value getObjectForID(uint64_t id) = 0; + public virtual sampling_profiler::Profile dumpSampledTraceToProfile() = 0; + public virtual std::string getIOTrackingInfoJSON() = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::BigInt& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Object& o) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::PropNameID& pni) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::String& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Symbol& sym) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Value& val) const = 0; + public virtual void asyncTriggerTimeout() = 0; + public virtual void debugJavaScript(const std::string& src, const std::string& sourceURL, const facebook::hermes::IHermes::DebugFlags& debugFlags) = 0; + public virtual void loadSegment(std::unique_ptr buffer, const facebook::jsi::Value& context) = 0; + public virtual void registerForProfiling() = 0; + public virtual void resetTimezoneCache() = 0; + public virtual void sampledTraceToStreamInDevToolsFormat(std::ostream& stream) = 0; + public virtual void unregisterForProfiling() = 0; + public virtual void unwatchTimeLimit() = 0; + public virtual void watchTimeLimit(uint32_t timeoutInMs) = 0; + public virtual void* getVMRuntimeUnsafe() const = 0; +} + +struct facebook::hermes::IHermes::DebugFlags { +} + +class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { + protected ~IHermesSHUnit() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual SHUnitCreator getSHUnitCreator() const = 0; +} + +struct facebook::hermes::IEventLoopControl { + protected ~IEventLoopControl() = default; + public virtual uint64_t registerTaskQueueSource() = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) = 0; +} + +struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { + protected ~ISetEventLoopControl() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual facebook::hermes::IEventLoopControl* getEventLoopControl() = 0; + public virtual void setEventLoopControl(facebook::hermes::IEventLoopControl* eventLoopControl) = 0; +} + + +const char facebook::react::ImageComponentName[]; +const char facebook::react::ImageManagerKey[]; +const char facebook::react::ModalHostViewComponentName[]; +const char facebook::react::ParagraphComponentName[]; +const char facebook::react::RawTextComponentName[]; +const char facebook::react::RootComponentName[]; +const char facebook::react::RuntimeSchedulerKey[]; +const char facebook::react::ScrollViewComponentName[]; +const char facebook::react::TextComponentName[]; +const char facebook::react::TextEffectComponentName[]; +const char facebook::react::TextInputComponentName[]; +const char facebook::react::ViewComponentName[]; +const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; +constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; +constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; +constexpr char* const facebook::react::TextLayoutManagerKey; +constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; +constexpr facebook::react::Tag facebook::react::kNoTag; +constexpr float facebook::react::kDefaultEpsilon; +constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; +static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; +static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; +static constexpr auto facebook::react::kPropNameLengthHardCap; +static constexpr double facebook::react::SingleFrameIntervalMs; +static constexpr double facebook::react::TicksPerMs; +static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; +static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; +static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; +static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; +template +using facebook::react::CSSCompoundDataType = std::variant; +template +using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; +template +using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; +template +using facebook::react::LazyVector = FB::LazyVector; +template +using facebook::react::ModuleConstants = _RCTTypedModuleConstants*; +template +using facebook::react::EventListenerT = std::function; +typedef std::function facebook::react::ValueListenerCallback; +using facebook::react::ActivePointerRegistry = std::unordered_map; +using facebook::react::ActivityIndicatorViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ActivityIndicatorViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::ActivityIndicatorViewState = facebook::react::StateData; +using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; +using facebook::react::AnimationTimestamp = std::chrono::duration; +using facebook::react::BackgroundExecutor = std::function&& callback)>; +using facebook::react::BackgroundImage = std::variant; +using facebook::react::BackgroundSize = std::variant; +using facebook::react::BorderColors = facebook::react::RectangleEdges; +using facebook::react::BorderCurves = facebook::react::RectangleCorners; +using facebook::react::BorderRadii = facebook::react::RectangleCorners; +using facebook::react::BorderStyles = facebook::react::RectangleEdges; +using facebook::react::BorderWidths = facebook::react::RectangleEdges; +using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSPreservedToken = facebook::react::CSSToken; +using facebook::react::CSSRadialGradientSize = std::variant; +using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CallFunc = std::function; +using facebook::react::Callback = std::function; +using facebook::react::CallbackId = uint64_t; +using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; +using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderStyles = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderWidths = facebook::react::CascadedRectangleEdges; +using facebook::react::ComponentDescriptorConstructor = facebook::react::ComponentDescriptor::Unique(const facebook::react::ComponentDescriptorParameters& parameters); +using facebook::react::ComponentDescriptorProviderRequest = std::function; +using facebook::react::ComponentHandle = int64_t; +using facebook::react::ComponentName = const char*; +using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; +using facebook::react::CornerInsets = facebook::react::RectangleCorners; +using facebook::react::CrashManagerProvider = std::function()>; +using facebook::react::DebuggingOverlayComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::DebuggingOverlayShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::DebuggingOverlayState = facebook::react::StateData; +using facebook::react::DispatchEvent = std::function; +using facebook::react::EdgeInsets = facebook::react::RectangleEdges; +using facebook::react::EndResult = facebook::react::NativeAnimatedTurboModuleEndResult, std::optional>; +using facebook::react::EventEmitterCallback = std::function; +using facebook::react::EventEmitterListener = facebook::react::EventListenerT; +using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; +using facebook::react::EventListener = std::function; +using facebook::react::EventPipe = std::function; +using facebook::react::EventPipeConclusion = std::function; +using facebook::react::EventTag = unsigned int; +using facebook::react::Float = CGFloat; +using facebook::react::GradientDirection = std::variant; +using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; +using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; +using facebook::react::ImageSources = std::vector; +using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::LinesMeasurements = std::vector; +using facebook::react::Logger = std::function; +using facebook::react::ModalHostViewSupportedOrientationsMask = uint32_t; +using facebook::react::MountingTransactionCallback = std::function; +using facebook::react::NativeMethodCallFunc = std::function; +using facebook::react::ParagraphProps = HostPlatformParagraphProps; +using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; +using facebook::react::PointerIdentifier = int32_t; +using facebook::react::PromiseSetupFunctionType = std::function)>; +using facebook::react::PullToRefreshViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::PullToRefreshViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::PullToRefreshViewState = facebook::react::StateData; +using facebook::react::RawCallback = std::function; +using facebook::react::RawPropsPropNameHash = uint32_t; +using facebook::react::RawPropsPropNameLength = uint16_t; +using facebook::react::RawPropsValueIndex = uint16_t; +using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RuntimeExecutor = std::function&& callback)>; +using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; +using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; +using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ScrollViewProps = HostPlatformScrollViewProps; +using facebook::react::ShadowTreeCommitTransaction = std::function; +using facebook::react::ShadowViewMutationList = std::vector; +using facebook::react::SharedComponentDescriptor = std::shared_ptr; +using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; +using facebook::react::SharedEventEmitter = std::shared_ptr; +using facebook::react::SharedEventPayload = std::shared_ptr; +using facebook::react::SharedEventTarget = std::shared_ptr; +using facebook::react::SharedParagraphAttributes = std::shared_ptr; +using facebook::react::SharedRawTextProps = std::shared_ptr; +using facebook::react::SharedScrollViewProps = std::shared_ptr; +using facebook::react::SharedShadowNodeFamily = std::shared_ptr; +using facebook::react::SharedTextAttributes = std::shared_ptr; +using facebook::react::SharedTouchEventEmitter = std::shared_ptr; +using facebook::react::SharedViewEventEmitter = std::shared_ptr; +using facebook::react::SharedViewProps = std::shared_ptr; +using facebook::react::StatePipe = std::function; +using facebook::react::SurfaceId = int32_t; +using facebook::react::Tag = int32_t; +using facebook::react::TelemetryClock = std::chrono::steady_clock; +using facebook::react::TelemetryDuration = std::chrono::nanoseconds; +using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; +using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::TextEffectComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::TextEffectEventEmitter = facebook::react::TouchEventEmitter; +using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; +using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; +using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); +using facebook::react::TimerHandle = int; +using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; +using facebook::react::Touch = facebook::react::HostPlatformTouch; +using facebook::react::Touches = std::unordered_set; +using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; +using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; +using facebook::react::UiTask = std::function; +using facebook::react::UnimplementedNativeViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::UnimplementedNativeViewShadowNode = facebook::react::ConcreteViewShadowNode; +using facebook::react::UnimplementedNativeViewState = facebook::react::StateData; +using facebook::react::ValueFactory = std::function; +using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; +using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; +using facebook::react::ViewShadowNodeProps = facebook::react::ViewProps; +using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); +template +concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; +template +concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && + ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; +template +concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { + { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { + { T::consume(parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { + { T::consumePreservedToken(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { + { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && + !CSSParserSink) || +CSSParserSink; +template +concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& + (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); +template +concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(func, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { + { visitor(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(block, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; +template +concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; +template +concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; +template +concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; +template +concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; +template +concept facebook::react::DeclaresOwnSetProp = std::is_same_v; +template +concept facebook::react::HasIteratorSetterCtor = std::copy_constructible && std::derived_from && HasSetProp; +template +concept facebook::react::HasSetProp = DeclaresOwnSetProp && +requires(T& t, const facebook::react::PropsParserContext& ctx, facebook::react::RawPropsPropNameHash hash, const char* name, const facebook::react::RawValue& value) { + { t.setProp(ctx, hash, name, value) } -> std::same_as; +}; +template +concept facebook::react::Hashable = !std::is_same_v&& (requires(T a) { + { std::hash{}(a) } -> std::convertible_to; +}); +template +concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { + { T::filterRawProps(rawProps) } -> std::same_as; +}; +template +concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( + TextLayoutManagerT textLayoutManager, + facebook::react::AttributedString attributedString, + facebook::react::ParagraphAttributes paragraphAttributes, + facebook::react::TextLayoutContext layoutContext, + facebook::react::LayoutConstraints layoutConstraints, + typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { + sizeof(typename TextLayoutManagerT::PreparedTextLayout); + { + textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) + } -> std::same_as; + { + textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) + } -> std::same_as; +}; +NSArray* facebook::react::extractKeysFromFollyDynamic(const folly::dynamic& dyn); +NSError* facebook::react::tryAndReturnError(const std::function& func); +NSString* facebook::react::deriveSourceURL(NSURL* url); +YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); +bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areBorderRadiiCircular(const facebook::react::BorderRadii& borderRadii); +bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); +bool facebook::react::hostPlatformColorIsColorMeaningful(facebook::react::Color color) noexcept; +bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; +bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); +bool facebook::react::isZero(facebook::react::Float n); +const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); +const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); +constexpr auto facebook::react::to_underlying(auto e) noexcept; +constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); +constexpr char facebook::react::toLower(char c); +constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); +constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); +constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); +constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); +double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); +facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); +facebook::react::Color facebook::react::hostPlatformColorFromComponents(facebook::react::ColorComponents components); +facebook::react::Color facebook::react::hostPlatformColorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); +facebook::react::ColorComponents facebook::react::colorComponentsFromHostPlatformColor(facebook::react::Color color); +facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); +facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); +facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); +facebook::react::Float facebook::react::floatFromYogaFloat(float value); +facebook::react::Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); +facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); +facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); +facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; +facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; +facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); +facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); +facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); +facebook::react::SharedColor facebook::react::blackColor(); +facebook::react::SharedColor facebook::react::clearColor(); +facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); +facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::SharedColor facebook::react::parsePlatformColor(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value); +facebook::react::SharedColor facebook::react::whiteColor(); +facebook::react::Size facebook::react::ModalHostViewScreenSize(void); +facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); +facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; +facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); +facebook::react::ValueUnit facebook::react::toValueUnit(const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(facebook::react::Float value); +float facebook::react::alphaFromHostPlatformColor(facebook::react::Color color); +float facebook::react::blueFromHostPlatformColor(facebook::react::Color color); +float facebook::react::greenFromHostPlatformColor(facebook::react::Color color); +float facebook::react::redFromHostPlatformColor(facebook::react::Color color); +float facebook::react::yogaFloatFromFloat(facebook::react::Float value); +folly::dynamic facebook::react::convertIdToFollyDynamic(id json); +folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); +folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); +folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); +id facebook::react::convertFollyDynamicToId(const folly::dynamic& dyn); +int facebook::react::toInt(const facebook::react::DisplayType& displayType); +int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); +size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); +std::optional facebook::react::blendModeFromString(std::string_view blendModeName); +std::optional facebook::react::filterTypeFromString(std::string_view filterName); +std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); +std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); +std::optional facebook::react::isolationFromString(std::string_view isolationSetting); +std::string facebook::react::componentNameByReactViewName(std::string viewName); +std::string facebook::react::toString(const double& value); +std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); +std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); +std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); +std::string facebook::react::toString(const facebook::react::DisplayType& displayType); +std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); +std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); +std::string facebook::react::toString(const facebook::react::FilterType& filterType); +std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); +std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); +std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); +std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); +std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); +std::string facebook::react::toString(const facebook::react::ImageSource& value); +std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); +std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); +std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); +std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); +std::string facebook::react::toString(const facebook::react::Role& role); +std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); +std::string facebook::react::toString(const facebook::react::SharedColor& value); +std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); +std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); +std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); +std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); +std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); +std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); +std::string facebook::react::toString(const facebook::react::TextWidthMode& textWidthMode); +std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); +std::string facebook::react::toString(double doubleValue, char suffix); +std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); +std::string facebook::react::toString(facebook::react::PointerEventsMode value); +std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); +template +constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); +template +constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); +template +std::size_t facebook::react::hash_combine(const T& v, const Args &... args); +template +void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); +template +void facebook::react::hash_combine_optionals(std::size_t& seed, const std::optional &... optionals); +template +constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); +template +constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); +template +constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; +template +facebook::react::ComponentDescriptor::Unique facebook::react::concreteComponentDescriptorConstructor(const facebook::react::ComponentDescriptorParameters& parameters); +template +facebook::react::ComponentDescriptorProvider facebook::react::concreteComponentDescriptorProvider(); +template +DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); +template +RCTManagedPointer* facebook::react::managedPointer(P initializer); +template +T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue); +template +T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); +template +T facebook::react::get(const std::unique_ptr& animatedProp); +template +bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); +template +facebook::react::ModuleConstants facebook::react::typedConstants(typename T::Builder::Input&& value); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::optional& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector>& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& rawValue, T& result); +template +std::shared_ptr facebook::react::getManagerByName(std::shared_ptr& contextContainer, const char name[]); +uint8_t facebook::react::alphaFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; +void facebook::react::FBReactNativeSpec_registerComponentDescriptorsFromCodegen(std::shared_ptr registry); +void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); +void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); +void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); +void facebook::react::executeSynchronouslyOnSameThread_CAN_DEADLOCK(const facebook::react::RuntimeExecutor& runtimeExecutor, std::function&& runtimeWork); +void facebook::react::fromRawValue(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityAction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLabelledBy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLiveRegion& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AutocapitalizationType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::KeyboardAppearance& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::KeyboardType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ReturnKeyType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Selection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextInputAccessoryVisibilityMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FlexDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FloatOptional& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Justify& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Overflow& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::EdgeInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageResizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageSource& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); +void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); +void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); +void facebook::react::handleJSError(facebook::jsi::Runtime& runtime, const facebook::jsi::JSError& error, bool isFatal); +void facebook::react::installLegacyUIManagerConstantsProviderBinding(facebook::jsi::Runtime& runtime); +void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); +void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); +void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); +void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); +void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); +void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); +void facebook::react::unsafeExecuteOnMainThreadSync(std::function work); +void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); +bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); +bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); +bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); +bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; +bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); +constexpr bool facebook::react::operator&(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator&(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator|(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr facebook::react::HighResDuration facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResTimeStamp& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator+(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::ModalHostViewSupportedOrientationsMask facebook::react::operator|(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +constexpr void facebook::react::operator|=(facebook::react::ModalHostViewSupportedOrientationsMask& lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); +facebook::react::EdgeInsets facebook::react::operator*(const facebook::react::EdgeInsets& edgeInsets, const facebook::react::Transform& transform); +facebook::react::Point facebook::react::operator*(const facebook::react::Point& point, const facebook::react::Transform& transform); +facebook::react::Rect facebook::react::operator*(const facebook::react::Rect& rect, const facebook::react::Transform& transform); +facebook::react::Size facebook::react::operator*(const facebook::react::Size& size, const facebook::react::Transform& transform); +facebook::react::Vector facebook::react::operator*(const facebook::react::Transform& transform, const facebook::react::Vector& vector); +template +facebook::react::RectangleEdges facebook::react::operator+(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +template +facebook::react::RectangleEdges facebook::react::operator-(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +JSI_EXPORT const char facebook::react::ActivityIndicatorViewComponentName[]; +JSI_EXPORT const char facebook::react::DebuggingOverlayComponentName[]; +JSI_EXPORT const char facebook::react::PullToRefreshViewComponentName[]; +JSI_EXPORT const char facebook::react::UnimplementedNativeViewComponentName[]; + +class facebook::react::AccessibilityProps { + public AccessibilityProps() = default; + public AccessibilityProps(const facebook::react::PropsParserContext& context, const facebook::react::AccessibilityProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool accessibilityElementsHidden; + public bool accessibilityIgnoresInvertColors; + public bool accessibilityRespondsToUserInteraction; + public bool accessibilityShowsLargeContentViewer; + public bool accessibilityViewIsModal; + public bool accessible; + public bool onAccessibilityAction; + public bool onAccessibilityEscape; + public bool onAccessibilityMagicTap; + public bool onAccessibilityTap; + public facebook::react::AccessibilityLabelledBy accessibilityLabelledBy; + public facebook::react::AccessibilityLiveRegion accessibilityLiveRegion; + public facebook::react::AccessibilityTraits accessibilityTraits; + public facebook::react::AccessibilityValue accessibilityValue; + public facebook::react::ImportantForAccessibility importantForAccessibility; + public facebook::react::Role role; + public std::optional accessibilityState; + public std::string accessibilityHint; + public std::string accessibilityLabel; + public std::string accessibilityLanguage; + public std::string accessibilityLargeContentTitle; + public std::string accessibilityRole; + public std::string testId; + public std::vector accessibilityActions; + public std::vector accessibilityOrder; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ActivityIndicatorViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::ActivityIndicatorViewProps : public facebook::react::HostPlatformViewProps { + public ActivityIndicatorViewProps() = default; + public ActivityIndicatorViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ActivityIndicatorViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool animating; + public bool hidesWhenStopped; + public facebook::react::ActivityIndicatorViewSize size; + public facebook::react::SharedColor color; +} + +class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::AnimatedModule : public facebook::react::NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { + public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); + public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); + public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); + public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); + public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); + public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void finishOperationBatch(facebook::jsi::Runtime& rt); + public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); + public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); + public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); + public void removeListeners(facebook::jsi::Runtime& rt, int count); + public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); + public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); + public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); + public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void startOperationBatch(facebook::jsi::Runtime& rt); + public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); + public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); +} + +class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { + public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number transactionNumber, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; +} + +class facebook::react::AnimatedNode { + protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); + protected facebook::react::AnimatedNodeType type_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag tag_; + protected std::unordered_set children_; + public AnimatedNode(const facebook::react::AnimatedNode&) = default; + public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; + public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); + public const folly::dynamic& getConfig() const noexcept; + public const std::unordered_set& getChildren() const noexcept; + public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; + public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; + public facebook::react::AnimatedNodeType type() const noexcept; + public facebook::react::Tag tag() const noexcept; + public int activeIncomingNodes; + public int bfsColor; + public static constexpr int INITIAL_BFS_COLOR; + public static std::optional getNodeTypeByName(const std::string& nodeTypeName); + public virtual void onAttachToNode(facebook::react::Tag); + public virtual void onDetachedFromNode(facebook::react::Tag); + public virtual void update(); + public virtual ~AnimatedNode() = default; + public void addChild(facebook::react::Tag tag); + public void removeChild(facebook::react::Tag tag); +} + +class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { + public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); + public using PauseCallback = std::function; + public using ResumeCallback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; + public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) override; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; + public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; + public virtual void stop(facebook::react::CallbackId callbackId) override; + public virtual void trigger() override; + public void requestAsyncFlushForSurfaces(const std::set& surfaces); + public void synchronouslyUpdateProps(const std::unordered_map& updates); + public ~AnimationBackend() override; +} + +class facebook::react::AnimationChoreographer { + public virtual facebook::react::AnimationTimestamp now() const; + public virtual void pause() = 0; + public virtual void resume() = 0; + public virtual ~AnimationChoreographer() = default; + public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; + public void setAnimationBackend(std::weak_ptr animationBackend); +} + +class facebook::react::AnimationDriver { + protected bool ignoreCompletedHandlers_; + protected bool isComplete_; + protected bool isStarted_; + protected double startFrameTimeMs_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag animatedValueTag_; + protected folly::dynamic config_; + protected int currentIteration_; + protected int id_; + protected int iterations_; + protected std::optional endCallback_; + protected virtual bool update(double, bool); + protected void markNodeUpdated(facebook::react::Tag tag); + public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); + public bool getIsComplete() const noexcept; + public facebook::react::Tag getAnimatedValueTag() const noexcept; + public int getId() const noexcept; + public static std::optional getDriverTypeByName(const std::string& driverTypeName); + public virtual void updateConfig(folly::dynamic config); + public virtual ~AnimationDriver() = default; + public void runAnimationStep(double renderingTime); + public void startAnimation(); + public void stopAnimation(bool ignoreCompletedHandlers = false); +} + +class facebook::react::AppRegistryBinding { + public AppRegistryBinding() = delete; + public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); +} + +class facebook::react::AppleEventBeat : public facebook::react::EventBeat, public facebook::react::RunLoopObserver::Delegate { + public AppleEventBeat(const facebook::react::AppleEventBeat&) = delete; + public AppleEventBeat(facebook::react::AppleEventBeat&&) = delete; + public AppleEventBeat(std::shared_ptr ownerBox, std::unique_ptr uiRunLoopObserver, facebook::react::RuntimeScheduler& RuntimeScheduler, facebook::react::AppleEventBeat::WindowLayerResolver windowLayerResolver); + public facebook::react::AppleEventBeat& operator=(const facebook::react::AppleEventBeat&) = delete; + public facebook::react::AppleEventBeat& operator=(facebook::react::AppleEventBeat&&) = delete; + public using WindowLayerResolver = std::function; + public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept override; + public virtual void requestSynchronous(facebook::react::Tag tag) const override; + public void requestSynchronous() const; + public ~AppleEventBeat() override; +} + +class facebook::react::AsyncArrayBuffer { + public AsyncArrayBuffer(const facebook::react::AsyncArrayBuffer&) = delete; + public AsyncArrayBuffer(facebook::react::AsyncArrayBuffer&&) noexcept = default; + public const uint8_t* data() const noexcept; + public facebook::react::AsyncArrayBuffer& operator=(const facebook::react::AsyncArrayBuffer&) = delete; + public facebook::react::AsyncArrayBuffer& operator=(facebook::react::AsyncArrayBuffer&&) noexcept = default; + public size_t size() const noexcept; + public static facebook::react::AsyncArrayBuffer acquire(facebook::jsi::Runtime& rt, const facebook::jsi::ArrayBuffer& buffer); + public static facebook::react::AsyncArrayBuffer borrow(facebook::jsi::Runtime& rt, const facebook::jsi::ArrayBuffer& buffer); + public static facebook::react::AsyncArrayBuffer copy(facebook::jsi::Runtime& rt, const facebook::jsi::ArrayBuffer& buffer); + public static facebook::react::AsyncArrayBuffer wrap(std::shared_ptr buffer) noexcept; + public static facebook::react::AsyncArrayBuffer wrap(std::vector bytes); + public static void throwIfDetached(facebook::jsi::Runtime& rt, const facebook::jsi::ArrayBuffer& buffer, const char* callerName); + public std::shared_ptr getMutableBuffer() const noexcept; + public uint8_t* data() noexcept; + public ~AsyncArrayBuffer() = default; +} + +class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { + public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; + public bool isContentEqual(const facebook::react::AttributedString& rhs) const; + public bool isEmpty() const; + public bool operator==(const facebook::react::AttributedString& rhs) const; + public const facebook::react::AttributedString::Fragments& getFragments() const; + public const facebook::react::TextAttributes& getBaseTextAttributes() const; + public facebook::react::AttributedString::Fragments& getFragments(); + public std::string getString() const; + public using Fragments = std::vector; + public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); + public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); + public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); +} + +class facebook::react::AttributedString::Fragment { + public bool isAttachment() const; + public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; + public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; + public facebook::react::ShadowView parentShadowView; + public facebook::react::TextAttributes textAttributes; + public static std::string AttachmentCharacter(); + public std::string string; +} + +class facebook::react::AttributedString::Range { + public int length; + public int location; +} + +class facebook::react::AttributedStringBox { + public AttributedStringBox(); + public AttributedStringBox(const facebook::react::AttributedString& value); + public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; + public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; + public AttributedStringBox(std::shared_ptr opaquePointer); + public const facebook::react::AttributedString& getValue() const; + public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; + public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; + public facebook::react::AttributedStringBox::Mode getMode() const; + public std::shared_ptr getOpaquePointer() const; +} + +enum facebook::react::AttributedStringBox::Mode { + OpaquePointer, + Value, +} + +class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseParagraphProps() = default; + public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool isSelectable; + public bool onTextLayout; + public facebook::react::ParagraphAttributes paragraphAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { + public BaseScrollViewProps() = default; + public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool alwaysBounceHorizontal; + public bool alwaysBounceVertical; + public bool automaticallyAdjustContentInsets; + public bool automaticallyAdjustKeyboardInsets; + public bool automaticallyAdjustsScrollIndicatorInsets; + public bool bounces; + public bool bouncesZoom; + public bool canCancelContentTouches; + public bool centerContent; + public bool directionalLockEnabled; + public bool disableIntervalMomentum; + public bool horizontal; + public bool isInvertedVirtualizedList; + public bool pagingEnabled; + public bool persistentScrollbar; + public bool pinchGestureEnabled; + public bool scrollEnabled; + public bool scrollToOverflowEnabled; + public bool scrollsToTop; + public bool showsHorizontalScrollIndicator; + public bool showsVerticalScrollIndicator; + public bool snapToEnd; + public bool snapToStart; + public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; + public facebook::react::EdgeInsets contentInset; + public facebook::react::EdgeInsets scrollIndicatorInsets; + public facebook::react::Float decelerationRate; + public facebook::react::Float endDraggingSensitivityMultiplier; + public facebook::react::Float maximumZoomScale; + public facebook::react::Float minimumZoomScale; + public facebook::react::Float scrollEventThrottle; + public facebook::react::Float snapToInterval; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::ScrollViewIndicatorStyle indicatorStyle; + public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; + public facebook::react::ScrollViewSnapToAlignment snapToAlignment; + public std::optional maintainVisibleContentPosition; + public std::vector snapToOffsets; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseTextInputProps() = default; + public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool autoFocus; + public bool disableKeyboardShortcuts; + public bool editable; + public bool multiline; + public bool readOnly; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::SharedColor cursorColor; + public facebook::react::SharedColor placeholderTextColor; + public facebook::react::SharedColor selectionColor; + public facebook::react::SharedColor selectionHandleColor; + public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; + public facebook::react::SubmitBehavior submitBehavior; + public facebook::react::TextAttributes getEffectiveTextAttributes(facebook::react::Float fontSizeMultiplier) const; + public int maxLength; + public int mostRecentEventCount; + public std::optional> acceptDragAndDropTypes; + public std::string autoCapitalize; + public std::string defaultValue; + public std::string placeholder; + public std::string text; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextProps { + public BaseTextProps() = default; + public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::TextAttributes textAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextShadowNode { + public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); + public using Attachments = std::vector; +} + +class facebook::react::BaseTextShadowNode::Attachment { + public const facebook::react::ShadowNode* shadowNode; + public size_t fragmentIndex; +} + +class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { + public void onAccessibilityAction(const std::string& name) const; + public void onAccessibilityEscape() const; + public void onAccessibilityMagicTap() const; + public void onAccessibilityTap() const; + public void onBlur() const; + public void onFocus() const; + public void onLayout(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps, public facebook::react::AccessibilityProps { + public BaseViewProps() = default; + public BaseViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseViewProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public bool collapsable; + public bool collapsableChildren; + public bool getClipsContentToBounds() const; + public bool onLayout; + public bool removeClippedSubviews; + public bool shouldRasterize; + public facebook::react::BackfaceVisibility backfaceVisibility; + public facebook::react::BlendMode mixBlendMode; + public facebook::react::BorderMetrics resolveBorderMetrics(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::CascadedBorderColors borderColors; + public facebook::react::CascadedBorderCurves borderCurves; + public facebook::react::CascadedBorderRadii borderRadii; + public facebook::react::CascadedBorderStyles borderStyles; + public facebook::react::CascadedBorderWidths getBorderWidths() const; + public facebook::react::Cursor cursor; + public facebook::react::EdgeInsets hitSlop; + public facebook::react::Float opacity; + public facebook::react::Float outlineOffset; + public facebook::react::Float outlineWidth; + public facebook::react::Float shadowOpacity; + public facebook::react::Float shadowRadius; + public facebook::react::Isolation isolation; + public facebook::react::OutlineStyle outlineStyle; + public facebook::react::PointerEventsMode pointerEvents; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor outlineColor; + public facebook::react::SharedColor shadowColor; + public facebook::react::Size shadowOffset; + public facebook::react::Transform resolveTransform(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::Transform transform; + public facebook::react::TransformOrigin transformOrigin; + public facebook::react::ViewEvents events; + public static facebook::react::Transform resolveTransform(const facebook::react::Size& frameSize, const facebook::react::Transform& transform, const facebook::react::TransformOrigin& transformOrigin); + public std::optional zIndex; + public std::vector backgroundImage; + public std::vector backgroundPosition; + public std::vector backgroundRepeat; + public std::vector backgroundSize; + public std::vector boxShadow; + public std::vector filter; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BindingsInstaller { + public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); +} + +class facebook::react::BufferedRuntimeExecutor : public std::enable_shared_from_this { + public BufferedRuntimeExecutor(facebook::react::BufferedRuntimeExecutor::Executor executor); + public facebook::react::RuntimeExecutor asRuntimeExecutor(); + public facebook::react::RuntimeExecutor asWeakRuntimeExecutor(); + public using Executor = std::function; + public using Work = std::function; + public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); + public void execute(facebook::react::SchedulerPriority priority, facebook::react::BufferedRuntimeExecutor::Work&& callback); + public void flush(); +} + +class facebook::react::CSSSyntaxParser { + public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; + public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; + public constexpr CSSSyntaxParser(std::string_view css); + public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); + public constexpr bool isFinished() const; + public constexpr const facebook::react::CSSToken& peek() const; + public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; + public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; + public constexpr void consumeWhitespace(); + template + public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); + template + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); +} + +class facebook::react::CSSToken { + public constexpr CSSToken(const facebook::react::CSSToken& other) = default; + public constexpr CSSToken(facebook::react::CSSToken&& other) = default; + public constexpr CSSToken(facebook::react::CSSTokenType type); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); + public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); + public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; + public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; + public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; + public constexpr facebook::react::CSSTokenType type() const; + public constexpr float numericValue() const; + public constexpr std::string_view stringValue() const; + public constexpr std::string_view unit() const; +} + +class facebook::react::CSSTokenizer { + public constexpr CSSTokenizer(std::string_view characters); + public constexpr facebook::react::CSSToken next(); +} + +class facebook::react::CSSValueParser { + public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; + public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); + public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; + public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); + public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); +} + +class facebook::react::CallInvoker { + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; + public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; + public virtual void invokeAsync(std::function&& func) noexcept; + public virtual void invokeSync(facebook::react::CallFunc&& func) = 0; + public virtual void invokeSync(std::function&& func); + public virtual ~CallInvoker() = default; +} + +class facebook::react::CallInvokerImpl : public facebook::react::CallInvoker { + public CallInvokerImpl(std::shared_ptr bufferedRuntimeExecutor, std::weak_ptr runtimeScheduler); + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeSync(facebook::react::CallFunc&& func) override; +} + +class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { + public facebook::jsi::Function& callback() noexcept; + public facebook::jsi::Runtime& runtime() noexcept; + public facebook::react::CallInvoker& jsInvoker() noexcept; + public static std::weak_ptr createWeak(facebook::jsi::Function&& callback, facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public std::shared_ptr jsInvokerPtr() noexcept; + public void destroy(); +} + +class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { + public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::Color getColor(); + public virtual void update() override; +} + +class facebook::react::ComponentDescriptor { + protected facebook::react::ComponentDescriptor::Flavor flavor_; + protected facebook::react::EventDispatcher::Weak eventDispatcher_; + protected facebook::react::RawPropsParser rawPropsParser_; + protected friend ShadowNode; + protected std::shared_ptr contextContainer_; + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const = 0; + public ComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public const std::shared_ptr& getContextContainer() const; + public using Flavor = std::shared_ptr; + public using Shared = std::shared_ptr; + public using Unique = std::unique_ptr; + public virtual facebook::react::ComponentHandle getComponentHandle() const = 0; + public virtual facebook::react::ComponentName getComponentName() const = 0; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const = 0; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const = 0; + public virtual facebook::react::ShadowNodeTraits getTraits() const = 0; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const = 0; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const = 0; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const = 0; + public virtual ~ComponentDescriptor() = default; +} + +class facebook::react::ComponentDescriptorParameters { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::EventDispatcher::Weak eventDispatcher; + public std::shared_ptr contextContainer; +} + +class facebook::react::ComponentDescriptorProvider { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::ComponentDescriptorConstructor* constructor; + public facebook::react::ComponentHandle handle; + public facebook::react::ComponentName name; +} + +class facebook::react::ComponentDescriptorProviderRegistry { + public facebook::react::ComponentDescriptorRegistry::Shared createComponentDescriptorRegistry(const facebook::react::ComponentDescriptorParameters& parameters) const; + public void add(const facebook::react::ComponentDescriptorProvider& provider) const; + public void setComponentDescriptorProviderRequest(facebook::react::ComponentDescriptorProviderRequest request) const; +} + +class facebook::react::ComponentDescriptorRegistry { + public ComponentDescriptorRegistry(facebook::react::ComponentDescriptorParameters parameters, const facebook::react::ComponentDescriptorProviderRegistry& providerRegistry, std::shared_ptr contextContainer); + public bool hasComponentDescriptorAt(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor& at(const std::string& componentName) const; + public const facebook::react::ComponentDescriptor& at(facebook::react::ComponentHandle componentHandle) const; + public facebook::react::ComponentDescriptor::Shared getFallbackComponentDescriptor() const; + public using Shared = std::shared_ptr; + public void setFallbackComponentDescriptor(const facebook::react::SharedComponentDescriptor& descriptor); +} + +class facebook::react::ContextContainer { + public void erase(const std::string& key) const; + public void update(const facebook::react::ContextContainer& contextContainer) const; + template + public T at(const std::string& key) const; + template + public std::optional find(const std::string& key) const; + template + public void insert(const std::string& key, const T& instance) const; +} + +class facebook::react::DebugStringConvertible { +} + +class facebook::react::DebuggingOverlayEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::DebuggingOverlayProps : public facebook::react::HostPlatformViewProps { + public DebuggingOverlayProps() = default; + public DebuggingOverlayProps(const facebook::react::PropsParserContext& context, const facebook::react::DebuggingOverlayProps& sourceProps, const facebook::react::RawProps& rawProps); +} + +class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { + public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::Error { + public Error(const char* message); + public Error(std::string message); + public const std::string& message() const; +} + +class facebook::react::EventAnimationDriver { + protected const facebook::react::Tag animatedValueTag_; + protected std::vector eventPath_; + public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); + public facebook::react::Tag getAnimatedNodeTag() const; + public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); + public ~EventAnimationDriver() = default; +} + +class facebook::react::EventBeat { + protected facebook::react::EventBeat::BeatCallback beatCallback_; + protected mutable std::atomic isEventBeatRequested_; + protected std::function induceCallback_; + protected std::shared_ptr ownerBox_; + protected void induce() const; + public EventBeat(const facebook::react::EventBeat& other) = delete; + public EventBeat(std::shared_ptr ownerBox, facebook::react::RuntimeScheduler& runtimeScheduler); + public facebook::react::EventBeat& operator=(const facebook::react::EventBeat& other) = delete; + public using BeatCallback = std::function; + public using Factory = std::function(std::shared_ptr ownerBox)>; + public virtual void request() const; + public virtual void requestSynchronous(facebook::react::Tag tag) const; + public virtual ~EventBeat() = default; + public void requestSynchronous() const; + public void setBeatCallback(facebook::react::EventBeat::BeatCallback beatCallback); +} + +struct facebook::react::EventBeat::OwnerBox { + public std::weak_ptr owner; +} + +class facebook::react::EventDispatcher { + public EventDispatcher(const facebook::react::EventQueueProcessor& eventProcessor, std::unique_ptr eventBeat, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void addListener(std::shared_ptr listener) const; + public void dispatchEvent(facebook::react::RawEvent&& rawEvent) const; + public void dispatchStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode) const; + public void dispatchUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void removeListener(const std::shared_ptr& listener) const; +} + +class facebook::react::EventEmitter { + public EventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public const facebook::react::SharedEventTarget& getEventTarget() const; + public static facebook::react::ValueFactory defaultPayloadFactory(); + public static std::mutex& DispatchMutex(); + public static std::string normalizeEventType(std::string type); + public using Shared = std::shared_ptr; + public virtual ~EventEmitter() = default; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory(), facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory()) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void setEnabled(bool enabled); + public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); +} + +class facebook::react::EventListenerContainer { + public bool willDispatchEvent(const facebook::react::RawEvent& event); + public void addListener(std::shared_ptr listener); + public void removeListener(const std::shared_ptr& listener); +} + +class facebook::react::EventLogger { + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) = 0; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) = 0; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) = 0; + public virtual ~EventLogger() = default; +} + +class facebook::react::EventQueue { + protected const std::unique_ptr eventBeat_; + protected facebook::react::EventQueueProcessor eventProcessor_; + protected mutable std::mutex queueMutex_; + protected mutable std::vector eventQueue_; + protected mutable std::vector stateUpdateQueue_; + protected void flushEvents(facebook::jsi::Runtime& runtime) const; + protected void flushStateUpdates() const; + protected void onBeat(facebook::jsi::Runtime& runtime) const; + protected void onEnqueue() const; + public EventQueue(facebook::react::EventQueueProcessor eventProcessor, std::unique_ptr eventBeat); + public void enqueueEvent(facebook::react::RawEvent&& rawEvent) const; + public void enqueueStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void enqueueUniqueEvent(facebook::react::RawEvent&& rawEvent) const; +} + +enum facebook::react::EventQueue::UpdateMode { + Asynchronous, + unstable_Immediate, +} + +class facebook::react::EventQueueProcessor { + public EventQueueProcessor(facebook::react::EventPipe eventPipe, facebook::react::EventPipeConclusion eventPipeConclusion, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public void flushEvents(facebook::jsi::Runtime& runtime, std::vector&& events) const; + public void flushStateUpdates(std::vector&& states) const; +} + +class facebook::react::EventSubscription { + public EventSubscription(const facebook::react::EventSubscription&) = delete; + public EventSubscription(facebook::react::EventSubscription&&) noexcept = default; + public EventSubscription(std::function remove); + public facebook::react::EventSubscription& operator=(const facebook::react::EventSubscription&) = delete; + public facebook::react::EventSubscription& operator=(facebook::react::EventSubscription&&) noexcept = default; + public void remove(); + public ~EventSubscription() = default; +} + +class facebook::react::EventTarget { + public EventTarget(facebook::react::InstanceHandle::Shared instanceHandle, facebook::react::SurfaceId surfaceId); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::EventTarget::Tag getTag() const; + public facebook::react::SurfaceId getSurfaceId() const; + public using Tag = int32_t; + public void release(facebook::jsi::Runtime& runtime); + public void retain(facebook::jsi::Runtime& runtime); + public void setEnabled(bool enabled); +} + +class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + protected virtual void updateConfig(folly::dynamic config) override; + public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::FuseboxTracer { + public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; + public bool isTracing(); + public bool startTracing(); + public bool stopTracing(const std::function& resultCallback); + public bool stopTracingAndWriteToFile(const std::string& path); + public static facebook::react::FuseboxTracer& getFuseboxTracer(); + public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); +} + +class facebook::react::HermesInstance { + public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; +} + +class facebook::react::HighResDuration { + public constexpr HighResDuration(); + public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator!=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator==(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator==(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResDuration operator+(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator+(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator+=(const std::chrono::steady_clock::duration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const std::chrono::steady_clock::duration& rhs); + public constexpr int64_t toNanoseconds() const; + public constexpr operator std::chrono::steady_clock::duration() const; + public static constexpr facebook::react::HighResDuration fromChrono(std::chrono::steady_clock::duration chronoDuration); + public static constexpr facebook::react::HighResDuration fromMilliseconds(int64_t units); + public static constexpr facebook::react::HighResDuration fromNanoseconds(int64_t units); + public static constexpr facebook::react::HighResDuration zero(); + public static facebook::react::HighResDuration fromDOMHighResTimeStamp(double units); +} + +class facebook::react::HighResTimeStamp { + public HighResTimeStamp() noexcept; + public constexpr bool operator!=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator==(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResTimeStamp& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResTimeStamp& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr std::chrono::steady_clock::time_point toChronoSteadyClockTimePoint() const; + public static constexpr facebook::react::HighResTimeStamp fromChronoSteadyClockTimePoint(std::chrono::steady_clock::time_point chronoTimePoint); + public static constexpr facebook::react::HighResTimeStamp max() noexcept; + public static constexpr facebook::react::HighResTimeStamp min() noexcept; + public static facebook::react::HighResDuration unsafeOriginFromUnixTimeStamp() noexcept; + public static facebook::react::HighResTimeStamp fromDOMHighResTimeStamp(double units); + public static facebook::react::HighResTimeStamp now() noexcept; +} + +class facebook::react::HostPlatformViewProps : public facebook::react::BaseViewProps { + public HostPlatformViewProps() = default; + public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool focusable; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::IAsyncEventEmitter { + public IAsyncEventEmitter() noexcept = default; + public IAsyncEventEmitter(const facebook::react::IAsyncEventEmitter&) = delete; + public IAsyncEventEmitter(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public facebook::react::IAsyncEventEmitter& operator=(const facebook::react::IAsyncEventEmitter&) = delete; + public facebook::react::IAsyncEventEmitter& operator=(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const = 0; + public virtual ~IAsyncEventEmitter() noexcept = default; +} + +class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ImageErrorInfo { + public int responseCode; + public std::string error; + public std::vector> httpResponseHeaders; +} + +class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onError(const facebook::react::ImageErrorInfo& error) const; + public void onLoad(const facebook::react::ImageSource& source) const; + public void onLoadEnd() const; + public void onLoadStart() const; + public void onPartialLoad() const; + public void onProgress(double progress, int64_t loaded, int64_t total) const; +} + +class facebook::react::ImageLoadError { + public ImageLoadError(std::shared_ptr error); + public std::shared_ptr getError() const; +} + +class facebook::react::ImageManager { + public ImageManager(const std::shared_ptr& contextContainer); + public virtual facebook::react::ImageRequest requestImage(const facebook::react::ImageSource& imageSource, facebook::react::SurfaceId surfaceId, const facebook::react::ImageRequestParams& imageRequestParams = {}, facebook::react::Tag tag = {}) const; + public virtual ~ImageManager(); +} + +class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { + public ImageProps() = default; + public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool shouldNotifyLoadEvents; + public facebook::react::EdgeInsets capInsets; + public facebook::react::Float blurRadius; + public facebook::react::Float resizeMultiplier; + public facebook::react::ImageResizeMode resizeMode; + public facebook::react::ImageSource defaultSource; + public facebook::react::ImageSource loadingIndicatorSource; + public facebook::react::ImageSources sources; + public facebook::react::SharedColor overlayColor; + public std::optional progressiveRenderingEnabled; + public std::optional fadeDuration; + public std::optional tintColor; + public std::string resizeMethod; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ImageRequest { + public ImageRequest(const facebook::react::ImageRequest& other) = delete; + public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; + public ImageRequest(facebook::react::ImageSource imageSource, std::shared_ptr telemetry, facebook::react::SharedFunction<> resumeFunction = {}, facebook::react::SharedFunction<> cancelationFunction = {}); + public const facebook::react::ImageResponseObserverCoordinator& getObserverCoordinator() const; + public const facebook::react::ImageSource& getImageSource() const; + public const std::shared_ptr& getSharedObserverCoordinator() const; + public const std::shared_ptr& getSharedTelemetry() const; + public facebook::react::ImageRequest& operator=(const facebook::react::ImageRequest& other) = delete; + public facebook::react::ImageRequest& operator=(facebook::react::ImageRequest&& other) noexcept = default; + public ~ImageRequest() = default; +} + +class facebook::react::ImageRequestParams { + public ImageRequestParams(); + public ImageRequestParams(facebook::react::Float blurRadius); + public bool operator==(const facebook::react::ImageRequestParams& rhs) const = default; + public facebook::react::Float blurRadius; +} + +class facebook::react::ImageResponse { + public ImageResponse(std::shared_ptr image, std::shared_ptr metadata); + public std::shared_ptr getImage() const; + public std::shared_ptr getMetadata() const; +} + +enum facebook::react::ImageResponse::Status { + Cancelled, + Completed, + Consumed, + Failed, + Loading, +} + +class facebook::react::ImageResponseObserver { + public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const = 0; + public virtual void didReceiveImage(const facebook::react::ImageResponse& imageResponse) const = 0; + public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const = 0; + public virtual ~ImageResponseObserver() noexcept = default; +} + +class facebook::react::ImageResponseObserverCoordinator { + public ImageResponseObserverCoordinator(facebook::react::SharedFunction<> resumeFunction, facebook::react::SharedFunction<> cancelationFunction); + public void addObserver(std::shared_ptr observer) const; + public void nativeImageResponseComplete(const facebook::react::ImageResponse& imageResponse) const; + public void nativeImageResponseFailed(const facebook::react::ImageLoadError& loadError) const; + public void nativeImageResponseProgress(float progress, int64_t loaded, int64_t total) const; + public void removeObserver(const std::shared_ptr& observer) const; +} + +class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { + public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setImageManager(const std::shared_ptr& imageManager); +} + +class facebook::react::ImageSource { + public bool operator==(const facebook::react::ImageSource& rhs) const; + public facebook::react::Float scale; + public facebook::react::ImageSource::CacheStategy cache; + public facebook::react::ImageSource::Type type; + public facebook::react::Size size; + public std::string body; + public std::string bundle; + public std::string method; + public std::string uri; + public std::vector> headers; +} + +enum facebook::react::ImageSource::CacheStategy { + Default, + ForceCache, + OnlyIfCached, + Reload, +} + +enum facebook::react::ImageSource::Type { + Invalid, + Local, + Remote, +} + +class facebook::react::ImageState { + public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const facebook::react::ImageRequestParams& imageRequestParams); + public const facebook::react::ImageRequest& getImageRequest() const; + public const facebook::react::ImageRequestParams& getImageRequestParams() const; + public facebook::react::ImageSource getImageSource() const; +} + +class facebook::react::ImageTelemetry { + public ImageTelemetry(const facebook::react::SurfaceId surfaceId); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; +} + +class facebook::react::InputAccessoryEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::InputAccessoryProps : public facebook::react::HostPlatformViewProps { + public InputAccessoryProps() = default; + public InputAccessoryProps(const facebook::react::PropsParserContext& context, const facebook::react::InputAccessoryProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::SharedColor backgroundColor; +} + +class facebook::react::InstanceHandle { + public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::Tag getTag() const; + public using Shared = std::shared_ptr; +} + +class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { + public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; + public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; + public virtual void update() override; +} + +class facebook::react::JSBigBufferString : public facebook::react::JSBigString { + public JSBigBufferString(size_t size); + public char* mutableData(); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigBufferString() override; +} + +class facebook::react::JSBigFileString : public facebook::react::JSBigString { + public JSBigFileString(int fd, size_t size, off_t offset = 0); + public int fd() const; + public static std::unique_ptr fromPath(const std::string& sourceURL); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigFileString() override; +} + +class facebook::react::JSBigStdString : public facebook::react::JSBigString { + public JSBigStdString(std::string str, bool isAscii = false); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; +} + +class facebook::react::JSBigString : public facebook::jsi::Buffer { + public JSBigString() = default; + public JSBigString(const facebook::react::JSBigString&) = delete; + public JSBigString(facebook::react::JSBigString&&) = delete; + public facebook::react::JSBigString& operator=(const facebook::react::JSBigString&) = delete; + public facebook::react::JSBigString& operator=(facebook::react::JSBigString&&) = delete; + public virtual bool isAscii() const = 0; + public virtual const char* c_str() const = 0; + public virtual const uint8_t* data() const final; + public virtual size_t size() const override = 0; + public ~JSBigString() override = default; +} + +class facebook::react::JSIRuntimeHolder : public facebook::react::JSRuntime { + public JSIRuntimeHolder(std::unique_ptr runtime); + public virtual facebook::jsi::Runtime& getRuntime() noexcept override; +} + +class facebook::react::JSRuntime { + public virtual facebook::jsi::Runtime& getRuntime() noexcept = 0; + public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); + public virtual ~JSRuntime() = default; +} + +class facebook::react::JSRuntimeFactory { + public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept = 0; + public virtual ~JSRuntimeFactory() = default; +} + +class facebook::react::JsErrorHandler { + public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); + public bool hasHandledFatalError(); + public bool inErrorHandler(); + public bool isRuntimeReady(); + public using OnJsError = std::function; + public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); + public void notifyOfFatalError(); + public void registerErrorListener(const std::function& listener); + public void setRuntimeReady(); + public ~JsErrorHandler(); +} + +struct facebook::react::JsErrorHandler::ProcessedError { + public bool isFatal; + public facebook::jsi::Object extraData; + public int id; + public std::optional componentStack; + public std::optional name; + public std::optional originalMessage; + public std::string message; + public std::vector stack; +} + +struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { + public std::optional column; + public std::optional lineNumber; + public std::optional file; + public std::string methodName; +} + +class facebook::react::LayoutAnimationCallbackWrapper { + public LayoutAnimationCallbackWrapper(); + public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); + public void call(facebook::jsi::Runtime& runtime) const; +} + +class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; + public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); +} + +class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { + protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected facebook::react::ShadowView createInterpolatedShadowView(facebook::react::Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; + protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; + protected mutable std::mutex currentAnimationMutex_; + protected mutable std::optional currentAnimation_; + protected mutable std::vector inflightAnimations_; + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; + protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; + protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; + public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); + public virtual bool shouldAnimateFrame() const override; + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; + public void setClockNow(std::function now); + public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; + public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; +} + +class facebook::react::LayoutAnimationStatusDelegate { + public virtual void onAllAnimationsComplete() = 0; + public virtual void onAnimationStarted() = 0; + public virtual ~LayoutAnimationStatusDelegate() = default; +} + +class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { + public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; + public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; +} + +class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { + public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::LayoutMetrics getLayoutMetrics() const; + public facebook::react::LayoutMetrics layoutMetrics_; + public facebook::react::LayoutableShadowNode::UnsharedList getLayoutableChildNodes() const; + public static facebook::react::LayoutMetrics computeLayoutMetricsFromRoot(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& rootNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNode::AncestorList& ancestors, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& ancestorNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static std::shared_ptr findNodeAtPoint(const std::shared_ptr& node, facebook::react::Point point); + public using UnsharedList = std::vector; + public virtual bool canBeTouchTarget() const; + public virtual bool canChildrenBeTouchTarget() const; + public virtual bool getIsLayoutClean() const = 0; + public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const; + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const; + public virtual facebook::react::Size measure(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Transform getTransform() const; + public virtual void dirtyLayout() = 0; + public virtual void layout(facebook::react::LayoutContext layoutContext) = 0; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) = 0; + public void setLayoutMetrics(facebook::react::LayoutMetrics layoutMetrics); +} + +struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { + public bool clipSpecifiedAncestor; + public bool enableOverflowClipping; + public bool includeTransform; + public bool includeViewportOffset; +} + +class facebook::react::LineMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::Size size; +} + +class facebook::react::LongLivedObject { + protected LongLivedObject(facebook::jsi::Runtime& runtime); + protected facebook::jsi::Runtime& runtime_; + protected virtual ~LongLivedObject() = default; + public virtual void allowRelease(); +} + +class facebook::react::LongLivedObjectCollection { + public LongLivedObjectCollection() = default; + public LongLivedObjectCollection(const facebook::react::LongLivedObjectCollection&) = delete; + public size_t size() const; + public static facebook::react::LongLivedObjectCollection& get(facebook::jsi::Runtime& runtime); + public void add(std::shared_ptr o); + public void clear(); + public void operator=(const facebook::react::LongLivedObjectCollection&) = delete; + public void remove(const facebook::react::LongLivedObject* o); +} + +class facebook::react::MainRunLoopObserver : public facebook::react::PlatformRunLoopObserver { + public MainRunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner); +} + +class facebook::react::MapBuffer { + public MapBuffer(const facebook::react::MapBuffer& buffer) = delete; + public MapBuffer(facebook::react::MapBuffer&& buffer) = default; + public MapBuffer(std::vector data); + public bool getBool(facebook::react::MapBuffer::Key key) const; + public const uint8_t* data() const; + public double getDouble(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer getMapBuffer(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer& operator=(const facebook::react::MapBuffer& other) = delete; + public facebook::react::MapBuffer& operator=(facebook::react::MapBuffer&& other) = default; + public int32_t getInt(facebook::react::MapBuffer::Key key) const; + public int64_t getLong(facebook::react::MapBuffer::Key key) const; + public size_t size() const; + public std::string getString(facebook::react::MapBuffer::Key key) const; + public std::vector getDoubleBuffer(facebook::react::MapBuffer::Key key) const; + public std::vector getMapBufferList(facebook::react::MapBuffer::Key key) const; + public std::vector getIntBuffer(facebook::react::MapBuffer::Key key) const; + public uint16_t count() const; + public using Key = uint16_t; +} + +enum facebook::react::MapBuffer::DataType : uint16_t { + Boolean, + Double, + DoubleBuffer, + Int, + IntBuffer, + Long, + Map, + MapBufferList, + String, +} + +struct facebook::react::MapBuffer::Bucket { + public Bucket(facebook::react::MapBuffer::Key key, uint16_t type, uint64_t data); + public facebook::react::MapBuffer::Key key; + public uint16_t type; + public uint64_t data; +} + +struct facebook::react::MapBuffer::Header { + public uint16_t count; +} + +class facebook::react::MapBufferBuilder { + public MapBufferBuilder(uint32_t initialSize = facebook::react::INITIAL_BUCKETS_SIZE); + public facebook::react::MapBuffer build(); + public static facebook::react::MapBuffer EMPTY(); + public void putBool(facebook::react::MapBuffer::Key key, bool value); + public void putDouble(facebook::react::MapBuffer::Key key, double value); + public void putDoubleBuffer(facebook::react::MapBuffer::Key key, const std::vector& value); + public void putInt(facebook::react::MapBuffer::Key key, int32_t value); + public void putIntBuffer(facebook::react::MapBuffer::Key key, const std::vector& value); + public void putLong(facebook::react::MapBuffer::Key key, int64_t value); + public void putMapBuffer(facebook::react::MapBuffer::Key key, const facebook::react::MapBuffer& map); + public void putMapBufferList(facebook::react::MapBuffer::Key key, const std::vector& mapBufferList); + public void putString(facebook::react::MapBuffer::Key key, const std::string& value); +} + +class facebook::react::MergedValueDispatcher { + public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); + public using DispatchFunction = std::function&&)>; + public using MergedValueFunction = std::function&& tagToProps)>; + public void dispatch(const std::unordered_map& value); +} + +class facebook::react::MessageQueueThread { + public virtual void quitSynchronous() = 0; + public virtual void runOnQueue(std::function&&) = 0; + public virtual void runOnQueueSync(std::function&&) = 0; + public virtual ~MessageQueueThread() = default; +} + +class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ModalHostViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public static char const* toString(const facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation value); + public void onDismiss(facebook::react::ModalHostViewEventEmitter::OnDismiss value) const; + public void onOrientationChange(facebook::react::ModalHostViewEventEmitter::OnOrientationChange value) const; + public void onRequestClose(facebook::react::ModalHostViewEventEmitter::OnRequestClose value) const; + public void onShow(facebook::react::ModalHostViewEventEmitter::OnShow value) const; +} + +enum facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation { + Landscape, + Portrait, +} + +struct facebook::react::ModalHostViewEventEmitter::OnDismiss { +} + +struct facebook::react::ModalHostViewEventEmitter::OnOrientationChange { + public facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation orientation; +} + +struct facebook::react::ModalHostViewEventEmitter::OnRequestClose { +} + +struct facebook::react::ModalHostViewEventEmitter::OnShow { +} + +class facebook::react::ModalHostViewProps : public facebook::react::HostPlatformViewProps { + public ModalHostViewProps() = default; + public ModalHostViewProps(const facebook::react::PropsParserContext& context, const facebook::react::ModalHostViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool allowSwipeDismissal; + public bool hardwareAccelerated; + public bool navigationBarTranslucent; + public bool statusBarTranslucent; + public bool transparent; + public bool visible; + public facebook::react::ModalHostViewAnimationType animationType; + public facebook::react::ModalHostViewPresentationStyle presentationStyle; + public facebook::react::ModalHostViewSupportedOrientationsMask supportedOrientations; + public int identifier; +} + +class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::ModalHostViewState { + public ModalHostViewState(); + public ModalHostViewState(facebook::react::Size screenSize_); + public const facebook::react::Size screenSize; + public using Shared = std::shared_ptr; +} + +class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { + public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MountingCoordinator { + public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); + public bool hasPendingTransactions() const; + public bool waitForTransaction(std::chrono::duration timeout) const; + public const facebook::react::TelemetryController& getTelemetryController() const; + public facebook::react::ShadowTreeRevision getBaseRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional pullTransaction(bool willPerformAsynchronously = false) const; + public void didPerformAsyncTransactions() const; + public void setMountingOverrideDelegate(std::weak_ptr delegate) const; +} + +class facebook::react::MountingOverrideDelegate { + public virtual bool shouldOverridePullTransaction() const = 0; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; + public virtual ~MountingOverrideDelegate() = default; +} + +class facebook::react::MountingTransaction { + public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; + public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; + public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); + public const facebook::react::ShadowViewMutationList& getMutations() const; + public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; + public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; + public facebook::react::MountingTransaction::Number getNumber() const; + public facebook::react::ShadowViewMutationList getMutations(); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TransactionTelemetry& getTelemetry() const; + public using Number = int64_t; + public void mergeWith(facebook::react::MountingTransaction&& transaction); +} + +class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { + public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::NSDataBigString : public facebook::react::JSBigString { + public NSDataBigString(NSData* data); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; +} + +class facebook::react::NativeAccessibilityInfoSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAccessibilityInfoSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAccessibilityManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAccessibilityManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeActionSheetManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeActionSheetManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAlertManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAlertManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAnimatedModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAnimatedModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { + public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; + public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; + public bool commitProps(); + public bool hasManagedProps() const noexcept; + public bool isOnRenderThread() const noexcept; + public bool useSharedAnimatedBackend() const noexcept; + public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); + public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); + public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; + public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; + public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; + public std::optional getValue(facebook::react::Tag tag) noexcept; + public std::shared_ptr getEventEmitterListener() noexcept; + public using DirectManipulationCallback = std::function; + public using FabricCommitCallback = std::function&)>; + public using FrameRateListenerCallback = std::function; + public using ResolvePlatformColor = std::function; + public using StartOnRenderCallback = std::function&&, bool isAsync)>; + public using StopOnRenderCallback = std::function; + public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; + public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; + public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void dropAnimatedNode(facebook::react::Tag tag) noexcept; + public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); + public void flattenAnimatedNodeOffset(facebook::react::Tag tag); + public void flushAnimatedNodesCreatedAsync() noexcept; + public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); + public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; + public void onRender(); + public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; + public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; + public void restoreDefaultValues(facebook::react::Tag tag) noexcept; + public void scheduleOnUI(facebook::react::UiTask&& task); + public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; + public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); + public void setAnimatedNodeValue(facebook::react::Tag tag, double value); + public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; + public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; + public void startRenderCallbackIfNeeded(bool isAsync); + public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; + public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; + public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; + public ~NativeAnimatedNodesManager() noexcept; + template >> + public T* getAnimatedNode(facebook::react::Tag tag) const; +} + +class facebook::react::NativeAnimatedNodesManagerProvider { + public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); + public std::shared_ptr getEventEmitterListener(); + public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public void addEventEmitterListener(const std::shared_ptr& listener); +} + +class facebook::react::NativeAnimatedTurboModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAnimatedTurboModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAppStateSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAppStateSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeAppearanceSpecJSI : public facebook::react::ObjCTurboModule { + public NativeAppearanceSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeBlobModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeBlobModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeClipboardSpecJSI : public facebook::react::ObjCTurboModule { + public NativeClipboardSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDevLoadingViewSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDevLoadingViewSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDevMenuSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDevMenuSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDevSettingsSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDevSettingsSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDeviceEventManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDeviceEventManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeDeviceInfoSpecJSI : public facebook::react::ObjCTurboModule { + public NativeDeviceInfoSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeExceptionsManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeExceptionsManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeFileReaderModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeFileReaderModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeFrameRateLoggerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeFrameRateLoggerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeHeadlessJsTaskSupportSpecJSI : public facebook::react::ObjCTurboModule { + public NativeHeadlessJsTaskSupportSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeI18nManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeI18nManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeImageEditorSpecJSI : public facebook::react::ObjCTurboModule { + public NativeImageEditorSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeImageLoaderIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativeImageLoaderIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeImageStoreIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativeImageStoreIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeJSCHeapCaptureSpecJSI : public facebook::react::ObjCTurboModule { + public NativeJSCHeapCaptureSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeKeyboardObserverSpecJSI : public facebook::react::ObjCTurboModule { + public NativeKeyboardObserverSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeLinkingManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeLinkingManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeLogBoxSpecJSI : public facebook::react::ObjCTurboModule { + public NativeLogBoxSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeMethodCallInvoker { + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept = 0; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) = 0; + public virtual ~NativeMethodCallInvoker() = default; +} + +class facebook::react::NativeModulePerfLogger { + public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; + public virtual void asyncMethodCallBatchPreprocessStart() = 0; + public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; + public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual ~NativeModulePerfLogger() = default; +} + +class facebook::react::NativeNetworkingIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativeNetworkingIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativePlatformConstantsIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativePlatformConstantsIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativePushNotificationManagerIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativePushNotificationManagerIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeReactDevToolsRuntimeSettingsModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeReactDevToolsRuntimeSettingsModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeReactDevToolsSettingsManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeReactDevToolsSettingsManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeRedBoxSpecJSI : public facebook::react::ObjCTurboModule { + public NativeRedBoxSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::ObjCTurboModule { + public NativeSegmentFetcherSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeSettingsManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeSettingsManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeShareModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeShareModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeSoundManagerSpecJSI : public facebook::react::ObjCTurboModule { + public NativeSoundManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeSourceCodeSpecJSI : public facebook::react::ObjCTurboModule { + public NativeSourceCodeSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeStatusBarManagerIOSSpecJSI : public facebook::react::ObjCTurboModule { + public NativeStatusBarManagerIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeTimingSpecJSI : public facebook::react::ObjCTurboModule { + public NativeTimingSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeVibrationSpecJSI : public facebook::react::ObjCTurboModule { + public NativeVibrationSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::NativeViewTransition : public facebook::react::NativeViewTransitionCxxSpec { + public NativeViewTransition(std::shared_ptr jsInvoker); + public facebook::jsi::Value findPseudoElementShadowNodeByTag(facebook::jsi::Runtime& rt, double reactTag); + public std::optional getViewTransitionInstance(facebook::jsi::Runtime& rt, const std::string& name, const std::string& pseudo); + public void transitionAnimationFinished(facebook::jsi::Runtime& rt, double animationId); + public void waitForTransitionAnimation(facebook::jsi::Runtime& rt, double animationId); +} + +class facebook::react::NativeWebSocketModuleSpecJSI : public facebook::react::ObjCTurboModule { + public NativeWebSocketModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); +} + +class facebook::react::ObjCInteropTurboModule : public facebook::react::ObjCTurboModule { + protected virtual NSString* getArgumentTypeName(facebook::jsi::Runtime& runtime, NSString* methodName, int argIndex) override; + protected virtual facebook::jsi::Value convertReturnIdToJSIValue(facebook::jsi::Runtime& runtime, const char* methodName, facebook::react::TurboModuleMethodValueKind returnType, id result) override; + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + protected virtual void setInvocationArg(facebook::jsi::Runtime& runtime, const char* methodName, const std::string& objCArgType, const facebook::jsi::Value& arg, size_t i, NSInvocation* inv, NSMutableArray* retainedObjectsForInvocation, bool mustCopyBytes) override; + public ObjCInteropTurboModule(const facebook::react::ObjCTurboModule::InitParams& params); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::ObjCInteropTurboModule::MethodDescriptor { + public SEL selector; + public facebook::react::TurboModuleMethodValueKind jsReturnKind; + public size_t jsArgCount; + public std::string methodName; +} + +class facebook::react::ObjCTurboModule : public facebook::react::TurboModule { + protected virtual NSString* getArgumentTypeName(facebook::jsi::Runtime& runtime, NSString* methodName, int argIndex); + protected virtual facebook::jsi::Value convertReturnIdToJSIValue(facebook::jsi::Runtime& runtime, const char* methodName, facebook::react::TurboModuleMethodValueKind returnType, id result); + protected virtual void setInvocationArg(facebook::jsi::Runtime& runtime, const char* methodName, const std::string& objCArgType, const facebook::jsi::Value& arg, size_t i, NSInvocation* inv, NSMutableArray* retainedObjectsForInvocation, bool mustCopyBytes); + protected void setEventEmitterCallback(facebook::react::EventEmitterCallback eventEmitterCallback); + protected void setMethodArgConversionSelector(NSString* methodName, size_t argIndex, NSString* fnName); + public ObjCTurboModule(const facebook::react::ObjCTurboModule::InitParams& params); + public facebook::jsi::Value invokeObjCMethod(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleMethodValueKind returnType, const std::string& methodName, SEL selector, const facebook::jsi::Value* args, size_t count); + public id instance_; + public std::shared_ptr nativeMethodCallInvoker_; +} + +struct facebook::react::ObjCTurboModule::InitParams { + public bool isSyncModule; + public id instance; + public std::shared_ptr jsInvoker; + public std::shared_ptr nativeMethodCallInvoker; + public std::string moduleName; +} + +class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { + public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(std::string propKey, folly::dynamic& props); +} + +class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { + protected std::vector inputNodes_; + public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); +} + +class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { + public bool adjustsFontSizeToFit; + public bool includeFontPadding; + public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; + public facebook::react::EllipsizeMode ellipsizeMode; + public facebook::react::Float minimumFontScale; + public facebook::react::Float minimumFontSize; + public facebook::react::HyphenationFrequency android_hyphenationFrequency; + public facebook::react::TextBreakStrategy textBreakStrategy; + public facebook::react::TextWidthMode textWidthMode; + public int maximumNumberOfLines; + public std::optional textAlignVertical; +} + +class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; +} + +class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +class facebook::react::ParagraphShadowNode::Content { + public facebook::react::AttributedString attributedString; + public facebook::react::BaseTextShadowNode::Attachments attachments; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::PlatformRunLoopObserver : public facebook::react::RunLoopObserver { + public PlatformRunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner, CFRunLoopRef runLoop); + public virtual bool isOnRunLoopThread() const noexcept override; + public ~PlatformRunLoopObserver(); +} + +class facebook::react::PlatformTimerRegistry { + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; + public virtual void createTimer(uint32_t timerID, double delayMS) = 0; + public virtual void deleteTimer(uint32_t timerID) = 0; + public virtual void quit(); + public virtual void setTimerManager(std::weak_ptr); + public virtual ~PlatformTimerRegistry() noexcept = default; +} + +class facebook::react::PointerEventsProcessor { + public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); + public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); + public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); +} + +class facebook::react::PointerHoverTracker { + public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); + public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; + public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; + public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; + public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; + public using EventPath = std::vector>; + public using Unique = std::unique_ptr; + public void markAsOld(); +} + +class facebook::react::PreparedTextCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::Float pointScaleFactor; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { + public Props() = default; + public Props(const facebook::react::Props& other) = default; + public Props(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::react::Props& operator=(const facebook::react::Props& other) = delete; + public std::string nativeId; + public using Shared = std::shared_ptr; + public virtual ~Props() = default; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { + public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::SurfaceId connectedRootTag() const; + public facebook::react::Tag connectedViewTag() const; + public folly::dynamic props(); + public virtual void update() override; + public void collectProps(); + public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); + public void connectToView(facebook::react::Tag viewTag); + public void disconnectFromShadowNodeFamily(); + public void disconnectFromView(facebook::react::Tag viewTag); + public void restoreDefaultValues(); + public void update(bool forceFabricCommit); +} + +class facebook::react::PullToRefreshViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onRefresh(facebook::react::PullToRefreshViewEventEmitter::OnRefresh value) const; +} + +struct facebook::react::PullToRefreshViewEventEmitter::OnRefresh { +} + +class facebook::react::PullToRefreshViewProps : public facebook::react::HostPlatformViewProps { + public PullToRefreshViewProps() = default; + public PullToRefreshViewProps(const facebook::react::PropsParserContext& context, const facebook::react::PullToRefreshViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool refreshing; + public facebook::react::Float progressViewOffset; + public facebook::react::SharedColor tintColor; + public facebook::react::SharedColor titleColor; + public std::string title; +} + +class facebook::react::RCTBlobCollector : public facebook::jsi::HostObject { + public RCTBlobCollector(RCTBlobManager* blobManager, const std::string& blobId); + public static void install(facebook::jsi::Runtime& runtime, RCTBlobManager* blobManager); + public ~RCTBlobCollector(); +} + +class facebook::react::RCTHermesInstance : public facebook::react::JSRuntimeFactory { + public RCTHermesInstance(); + public RCTHermesInstance(facebook::react::CrashManagerProvider crashManagerProvider); + public RCTHermesInstance(facebook::react::CrashManagerProvider crashManagerProvider, bool allocInOldGenBeforeTTI); + public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept override; + public ~RCTHermesInstance() override; +} + +class facebook::react::RCTImageResponseObserverProxy : public facebook::react::ImageResponseObserver { + public RCTImageResponseObserverProxy(id delegate = nil); + public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const override; + public virtual void didReceiveImage(const facebook::react::ImageResponse& imageResponse) const override; + public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const override; +} + +class facebook::react::RCTJscInstance : public facebook::react::JSRuntimeFactory { + public RCTJscInstance(); + public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept override; + public ~RCTJscInstance(); +} + +class facebook::react::RCTMessageThread : public facebook::react::MessageQueueThread, public std::enable_shared_from_this { + public RCTMessageThread(NSRunLoop* runLoop, RCTJavaScriptCompleteBlock errorBlock); + public virtual void quitSynchronous() override; + public virtual void runOnQueue(std::function&&) override; + public virtual void runOnQueueSync(std::function&&) override; + public void setRunLoop(NSRunLoop* runLoop); + public ~RCTMessageThread() override; +} + +class facebook::react::RawProps { + public RawProps(); + public RawProps(const facebook::react::RawProps& other) noexcept; + public RawProps(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawProps(facebook::react::RawProps&& other) noexcept = default; + public RawProps(folly::dynamic dynamic) noexcept; + public bool isEmpty() const noexcept; + public const facebook::react::RawValue* at(const char* name) const noexcept; + public const facebook::react::RawValue* at(const char* name, const char* prefix, const char* suffix) const noexcept; + public const folly::dynamic* getDynamic() const noexcept; + public facebook::react::RawProps& operator=(const facebook::react::RawProps& other) noexcept = delete; + public facebook::react::RawProps& operator=(facebook::react::RawProps&& other) noexcept = delete; + public folly::dynamic toDynamic(const std::function& filterObjectKeys = nullptr) const; + public operator folly::dynamic() const; + public void parse(const facebook::react::RawPropsParser& parser) noexcept; + template + public void forEachItem(Fn fn) const; +} + +enum facebook::react::RawProps::Mode { + Dynamic, + Empty, + JSI, +} + +class facebook::react::RawPropsKeyMap { + public facebook::react::RawPropsValueIndex at(std::string_view name) noexcept; + public void insert(std::string_view key, facebook::react::RawPropsValueIndex value) noexcept; + public void reindex() noexcept; +} + +class facebook::react::RawPropsParser { + public RawPropsParser() = default; + public RawPropsParser(bool); + template + public void prepare() noexcept; +} + +class facebook::react::RawTextProps : public facebook::react::Props { + public RawTextProps() = default; + public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string text; +} + +class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::RawValue { + public RawValue() noexcept; + public RawValue(const folly::dynamic& dynamic) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, facebook::jsi::Value&& value) noexcept; + public RawValue(facebook::react::RawValue&& other) noexcept; + public RawValue(folly::dynamic&& dynamic) noexcept; + public bool hasValue() const; + public facebook::react::RawValue& operator=(facebook::react::RawValue&& other) noexcept; + public operator folly::dynamic() const; + template + public bool hasType() const; + template + public operator T() const; +} + +class facebook::react::ReactInstance { + public ReactInstance(const facebook::react::ReactInstance&) = delete; + public ReactInstance(facebook::react::ReactInstance&&) = delete; + public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); + public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; + public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; + public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; + public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; + public std::shared_ptr createJSCallInvoker() noexcept; + public std::shared_ptr getRuntimeScheduler() noexcept; + public using BindingsInstallFunc = std::function; + public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); + public void handleMemoryPressureJs(int pressureLevel); + public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; + public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); + public void registerSegment(uint32_t segmentId, const std::string& segmentPath); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~ReactInstance() noexcept override; +} + +struct facebook::react::ReactInstance::JSRuntimeFlags { + public bool isProfiling; + public const std::string runtimeDiagnosticFlags; +} + +class facebook::react::ReactPerfettoLogger { + public static bool isTracing(); + public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); + public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); +} + +class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { + public RootProps() = default; + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; +} + +class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { + public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public bool layoutIfNeeded(std::vector* affectedNodes = {}); + public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using Shared = std::shared_ptr; + public using Unshared = std::shared_ptr; + public virtual facebook::react::Transform getTransform() const override; + public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; +} + +class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { + public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::RunLoopObserver { + protected const facebook::react::RunLoopObserver::Activity activities_; + protected const facebook::react::RunLoopObserver::WeakOwner owner_; + protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; + protected mutable std::atomic enabled_; + protected virtual void startObserving() const noexcept = 0; + protected virtual void stopObserving() const noexcept = 0; + protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; + public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; + public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; + public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; + public using Owner = std::shared_ptr; + public using WeakOwner = std::weak_ptr; + public virtual bool isOnRunLoopThread() const noexcept = 0; + public virtual ~RunLoopObserver() noexcept = default; + public void disable() const noexcept; + public void enable() const noexcept; + public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; +} + +class facebook::react::RunLoopObserver::Delegate { + public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; + public virtual ~Delegate() noexcept = default; +} + +enum facebook::react::RunLoopObserver::Activity : int32_t { + AfterWaiting, + BeforeWaiting, + None, +} + +class facebook::react::RuntimeScheduler : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; + public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); + public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; + public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; + public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual uint64_t registerTaskQueueSource() override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleTask(const std::function& task) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; + public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; +} + +class facebook::react::RuntimeSchedulerBase : public facebook::hermes::IEventLoopControl { + public virtual bool getShouldYield() noexcept = 0; + public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; + public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; + public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) = 0; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; + public virtual ~RuntimeSchedulerBase() = default; +} + +class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { + public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); + public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public std::shared_ptr getRuntimeScheduler() noexcept; + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; +} + +class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { + public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeSync(facebook::react::CallFunc&& func) override; +} + +class facebook::react::RuntimeSchedulerEventTimingDelegate { + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerEventTimingDelegate() = default; +} + +class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; +} + +class facebook::react::RuntimeSchedulerResizeObserverDelegate { + public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) = 0; + public virtual ~RuntimeSchedulerResizeObserverDelegate() = default; +} + +class facebook::react::SafeAreaViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::SafeAreaViewProps : public facebook::react::HostPlatformViewProps { + public SafeAreaViewProps() = default; + public SafeAreaViewProps(const facebook::react::PropsParserContext& context, const facebook::react::SafeAreaViewProps& sourceProps, const facebook::react::RawProps& rawProps); +} + +class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { + public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); + public facebook::react::SchedulerDelegate* getDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr getUIManager() const; + public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidClearPendingSnapshots() override; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; + public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; + public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; + public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) override; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void setDelegate(facebook::react::SchedulerDelegate* delegate); + public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public ~Scheduler() override; +} + +class facebook::react::SchedulerDelegate { + public virtual void schedulerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerDidClearPendingSnapshots() = 0; + public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; + public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void schedulerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates); + public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~SchedulerDelegate() noexcept = default; +} + +class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public using EndDragMetrics = facebook::react::ScrollEndDragEvent; + public using Metrics = facebook::react::ScrollEvent; + public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; + public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; + public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; +} + +class facebook::react::ScrollViewMaintainVisibleContentPosition { + public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; + public int minIndexForVisible; + public std::optional autoscrollToTopThreshold; +} + +class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; +} + +class facebook::react::ScrollViewState { + public ScrollViewState() = default; + public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); + public bool disableViewCulling; + public facebook::react::Point contentOffset; + public facebook::react::Rect contentBoundingRect; + public facebook::react::Size getContentSize() const; + public int scrollAwayPaddingTop; +} + +class facebook::react::Sealable { + public bool getSealed() const; + public void ensureUnsealed() const; + public void seal() const; +} + +class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { + public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static constexpr facebook::react::ComponentName Name(); + public static facebook::react::ComponentHandle Handle(); +} + +class facebook::react::Selection { + public int end; + public int start; +} + +class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { + protected facebook::react::Props::Shared props_; + protected facebook::react::ShadowNodeTraits traits_; + protected facebook::react::State::Shared state_; + protected int orderIndex_; + protected mutable std::weak_ptr runtimeShadowNodeReference_; + protected std::shared_ptr>> children_; + public ShadowNode(const facebook::react::ShadowNode& shadowNode) noexcept = delete; + public ShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ShadowNode(const facebook::react::ShadowNodeFragment& fragment, facebook::react::ShadowNodeFamily::Shared family, facebook::react::ShadowNodeTraits traits); + public bool getHasBeenPromoted() const; + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public const facebook::react::Props::Shared& getProps() const; + public const facebook::react::ShadowNodeFamily& getFamily() const; + public const facebook::react::SharedEventEmitter& getEventEmitter() const; + public const facebook::react::State::Shared& getState() const; + public const std::vector>& getChildren() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::ShadowNode& operator=(const facebook::react::ShadowNode& other) noexcept = delete; + public facebook::react::ShadowNodeFamily::Shared getFamilyShared() const; + public facebook::react::ShadowNodeTraits getTraits() const; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public int getOrderIndex() const; + public static bool getUseRuntimeShadowNodeReferenceUpdateOnThread(); + public static bool sameFamily(const facebook::react::ShadowNode& first, const facebook::react::ShadowNode& second); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public static std::shared_ptr>> emptySharedShadowNodeSharedList(); + public static void setUseRuntimeShadowNodeReferenceUpdateOnThread(bool isEnabled); + public std::shared_ptr getContextContainer() const; + public std::shared_ptr clone(const facebook::react::ShadowNodeFragment& fragment) const; + public std::shared_ptr cloneMultiple(const std::unordered_set>& familiesToUpdate, const std::function(const facebook::react::ShadowNode& oldShadowNode, const facebook::react::ShadowNodeFragment& fragment)>& callback) const; + public std::shared_ptr cloneTree(const facebook::react::ShadowNodeFamily& shadowNodeFamily, const std::function(const facebook::react::ShadowNode& oldShadowNode)>& callback) const; + public using AncestorList = std::vector, int>>; + public virtual void appendChild(const std::shared_ptr& child); + public virtual void completeClone(const facebook::react::ShadowNode&, const facebook::react::ShadowNodeFragment&); + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = std::numeric_limits::max()); + public void sealRecursive() const; + public void setMounted(bool mounted) const; + public void setRuntimeShadowNodeReference(const std::shared_ptr& runtimeShadowNodeReference) const; + public void transferRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public void updateRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode) const; + public ~ShadowNode() override = default; +} + +class facebook::react::ShadowNodeFamily : public facebook::jsi::NativeState { + public ShadowNodeFamily(const facebook::react::ShadowNodeFamilyFragment& fragment, facebook::react::SharedEventEmitter eventEmitter, facebook::react::EventDispatcher::Weak eventDispatcher, const facebook::react::ComponentDescriptor& componentDescriptor); + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::InstanceHandle::Shared getInstanceHandle() const; + public facebook::react::ShadowNodeFamily::AncestorList getAncestors(const facebook::react::ShadowNode& ancestorShadowNode) const; + public facebook::react::SharedEventEmitter getEventEmitter() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public mutable std::mutex nativePropsMutex; + public std::shared_ptr getMostRecentState() const; + public using AncestorList = std::vector, int>>; + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void dispatchRawState(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode); + public void onUnmountedFamilyDestroyed(std::function callback); + public void setInstanceHandle(facebook::react::InstanceHandle::Shared& instanceHandle); + public void setMostRecentState(const std::shared_ptr& state); + public void setMounted(); + public void setParent(const facebook::react::ShadowNodeFamily::Shared& parent); + public ~ShadowNodeFamily(); +} + +class facebook::react::ShadowNodeTraits { + public bool check(facebook::react::ShadowNodeTraits::Trait traits) const; + public facebook::react::ShadowNodeTraits::Trait get() const; + public void set(facebook::react::ShadowNodeTraits::Trait trait); + public void unset(facebook::react::ShadowNodeTraits::Trait trait); +} + +enum facebook::react::ShadowNodeTraits::Trait : int32_t { + BaselineYogaNode, + ChildrenAreShared, + ChildrenFormStackingContext, + DirtyYogaNode, + ForceFlattenView, + FormsStackingContext, + FormsView, + Hidden, + KeyboardFocusable, + LeafYogaNode, + MeasurableYogaNode, + None, + RootNodeKind, + Unstable_uncullableTrace, + Unstable_uncullableView, + ViewKind, +} + +class facebook::react::ShadowTree { + public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); + public bool promoteReactRevision() const; + public facebook::react::CommitMode getCommitMode() const; + public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::ShadowTreeRevision getCurrentRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional getCurrentReactRevision() const; + public std::shared_ptr getMountingCoordinator() const; + public using CommitMode = facebook::react::ShadowTreeCommitMode; + public using CommitOptions = facebook::react::ShadowTreeCommitOptions; + public using CommitSource = facebook::react::ShadowTreeCommitSource; + public using CommitStatus = facebook::react::ShadowTreeCommitStatus; + public using Unique = std::unique_ptr; + public void commitEmptyTree() const; + public void mergeReactRevision() const; + public void notifyDelegatesOfUpdates() const; + public void setCommitMode(facebook::react::CommitMode commitMode) const; + public ~ShadowTree(); +} + +class facebook::react::ShadowTreeDelegate { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; + public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) const; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; + public virtual ~ShadowTreeDelegate() noexcept = default; +} + +class facebook::react::ShadowTreeRegistry { + public ShadowTreeRegistry() = default; + public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; + public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; + public void add(std::unique_ptr&& shadowTree) const; + public void enumerate(const std::function& callback) const; + public ~ShadowTreeRegistry(); +} + +class facebook::react::ShadowTreeRevision { + public facebook::react::RootShadowNode::Shared rootShadowNode; + public facebook::react::ShadowTreeRevision::Number number; + public facebook::react::TransactionTelemetry telemetry; + public using Number = int64_t; +} + +class facebook::react::SharedColor { + public SharedColor(); + public SharedColor(facebook::react::Color color); + public bool operator!=(const facebook::react::SharedColor& otherColor) const; + public bool operator==(const facebook::react::SharedColor& otherColor) const; + public const facebook::react::Color& operator*() const; + public facebook::react::Color& operator*(); + public operator bool() const; + public std::string toString() const noexcept; +} + +class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::StackTraceParser { + public static std::vector parse(bool isHermes, const std::string& stackString); +} + +class facebook::react::State { + protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); + protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); + protected const facebook::react::StateData::Shared& getDataPointer() const; + protected facebook::react::ShadowNodeFamily::Weak family_; + protected facebook::react::StateData::Shared data_; + protected mutable bool isObsolete_; + protected size_t revision_; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::State::Shared getMostRecentStateIfObsolete() const; + public size_t getRevision() const; + public static constexpr size_t initialRevisionValue; + public using Shared = std::shared_ptr; + public virtual ~State() = default; +} + +class facebook::react::StateUpdate { + public facebook::react::SharedShadowNodeFamily family; + public facebook::react::StateUpdate::Callback callback; + public using Callback = std::function; + public using FailureCallback = std::function; +} + +class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { + public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool isLayoutStyleUpdated() const noexcept; + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::SurfaceHandler { + public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; + public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; + public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::DisplayMode getDisplayMode() const noexcept; + public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; + public facebook::react::LayoutContext getLayoutContext() const noexcept; + public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; + public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::SurfaceHandler::Status getStatus() const noexcept; + public facebook::react::SurfaceId getSurfaceId() const noexcept; + public folly::dynamic getProps() const noexcept; + public std::shared_ptr getMountingCoordinator() const noexcept; + public std::string getModuleName() const noexcept; + public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; + public virtual ~SurfaceHandler() noexcept; + public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public void setContextContainer(std::shared_ptr contextContainer) const noexcept; + public void setProps(const folly::dynamic& props) const noexcept; + public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; + public void start() const noexcept; + public void stop() const noexcept; +} + +enum facebook::react::SurfaceHandler::Status { + Registered, + Running, + Unregistered, +} + +class facebook::react::SurfaceManager { + public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; + public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; + public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; + public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; + public std::unordered_set getRunningSurfaces() const noexcept; + public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; + public void stopAllSurfaces() noexcept; + public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; + public ~SurfaceManager() noexcept; +} + +struct facebook::react::SurfaceManager::SurfaceProps { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; + public facebook::react::SurfaceId surfaceId; + public folly::dynamic props; + public std::string moduleName; +} + +class facebook::react::SurfaceTelemetry { + public facebook::react::TelemetryDuration getCommitTime() const; + public facebook::react::TelemetryDuration getDiffTime() const; + public facebook::react::TelemetryDuration getLayoutTime() const; + public facebook::react::TelemetryDuration getMountTime() const; + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public int getLastRevisionNumber() const; + public int getNumberOfMutations() const; + public int getNumberOfTextMeasurements() const; + public int getNumberOfTransactions() const; + public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; + public std::vector getRecentTransactionTelemetries() const; + public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); +} + +class facebook::react::SwitchEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onChange(facebook::react::SwitchEventEmitter::OnChange value) const; +} + +struct facebook::react::SwitchEventEmitter::OnChange { + public bool value; + public int target; +} + +class facebook::react::SwitchProps : public facebook::react::HostPlatformViewProps { + public SwitchProps() = default; + public SwitchProps(const facebook::react::PropsParserContext& context, const facebook::react::SwitchProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool disabled; + public bool value; + public facebook::react::SharedColor onTintColor; + public facebook::react::SharedColor thumbColor; + public facebook::react::SharedColor thumbTintColor; + public facebook::react::SharedColor tintColor; + public facebook::react::SharedColor trackColorForFalse; + public facebook::react::SharedColor trackColorForTrue; +} + +class facebook::react::TaskPriorityComparer { + public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); +} + +class facebook::react::TelemetryController { + public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; +} + +class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { + public bool operator==(const facebook::react::TextAttributes& rhs) const; + public facebook::react::Float fontSize; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float letterSpacing; + public facebook::react::Float lineHeight; + public facebook::react::Float maxFontSizeMultiplier; + public facebook::react::Float opacity; + public facebook::react::Float textShadowRadius; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor foregroundColor; + public facebook::react::SharedColor textDecorationColor; + public facebook::react::SharedColor textShadowColor; + public static facebook::react::TextAttributes defaultTextAttributes(); + public std::optional allowFontScaling; + public std::optional isHighlighted; + public std::optional isPressable; + public std::optional accessibilityRole; + public std::optional dynamicTypeRamp; + public std::optional fontStyle; + public std::optional fontVariant; + public std::optional fontWeight; + public std::optional layoutDirection; + public std::optional lineBreakMode; + public std::optional lineBreakStrategy; + public std::optional role; + public std::optional textShadowOffset; + public std::optional alignment; + public std::optional textDecorationLineType; + public std::optional textDecorationStyle; + public std::optional textTransform; + public std::optional baseWritingDirection; + public std::optional fontVariationSettings; + public std::string fontFamily; + public std::vector textEffects; + public void apply(facebook::react::TextAttributes textAttributes); +} + +class facebook::react::TextEffectProps : public facebook::react::Props { + public TextEffectProps() = default; + public TextEffectProps(const facebook::react::PropsParserContext& context, const facebook::react::TextEffectProps& sourceProps, const facebook::react::RawProps& rawProps); + public folly::dynamic effectProps; + public std::string effectName; +} + +class facebook::react::TextEffectShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::TextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public TextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; + public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; +} + +struct facebook::react::TextInputEventEmitter::KeyPressMetrics { + public int eventCount; + public std::string text; +} + +struct facebook::react::TextInputEventEmitter::Metrics { + public bool responderIgnoreScroll; + public facebook::react::AttributedString::Range selectionRange; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public facebook::react::Size layoutMeasurement; + public facebook::react::Tag target; + public int eventCount; + public std::string text; +} + +class facebook::react::TextInputProps : public facebook::react::BaseTextInputProps { + public TextInputProps() = default; + public TextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::TextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool onChangeSync; + public bool onKeyPressSync; + public const facebook::react::TextInputTraits traits; + public const std::string inputAccessoryViewButtonLabel; + public const std::string inputAccessoryViewID; + public std::optional selection; +} + +class facebook::react::TextInputShadowNode : public facebook::react::BaseTextInputShadowNode { +} + +class facebook::react::TextInputState { + public TextInputState() = default; + public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); + public facebook::react::AttributedString reactTreeAttributedString; + public facebook::react::AttributedStringBox attributedStringBox; + public facebook::react::ParagraphAttributes paragraphAttributes; + public int64_t mostRecentEventCount; +} + +class facebook::react::TextInputTraits { + public bool caretHidden; + public bool clearTextOnFocus; + public bool contextMenuHidden; + public bool editable; + public bool enablesReturnKeyAutomatically; + public bool scrollEnabled; + public bool secureTextEntry; + public bool selectTextOnFocus; + public bool showSoftInputOnFocus; + public facebook::react::AutocapitalizationType autocapitalizationType; + public facebook::react::KeyboardAppearance keyboardAppearance; + public facebook::react::KeyboardType keyboardType; + public facebook::react::ReturnKeyType returnKeyType; + public facebook::react::TextInputAccessoryVisibilityMode clearButtonMode; + public std::optional autoCorrect; + public std::optional smartInsertDelete; + public std::optional spellCheck; + public std::string passwordRules; + public std::string textContentType; + public std::vector dataDetectorTypes; +} + +class facebook::react::TextLayoutManager { + protected facebook::react::LineMeasureCache lineMeasureCache_; + protected facebook::react::TextMeasureCache textMeasureCache_; + protected std::shared_ptr contextContainer_; + protected std::shared_ptr nativeTextLayoutManager_; + public TextLayoutManager(const facebook::react::TextLayoutManager&) = delete; + public TextLayoutManager(const std::shared_ptr& contextContainer); + public TextLayoutManager(facebook::react::TextLayoutManager&&) = delete; + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size) const; + public facebook::react::TextLayoutManager& operator=(const facebook::react::TextLayoutManager&) = delete; + public facebook::react::TextLayoutManager& operator=(facebook::react::TextLayoutManager&&) = delete; + public facebook::react::TextMeasurement measure(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public std::shared_ptr getNativeTextLayoutManager() const; +} + +class facebook::react::TextMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::Float pointScaleFactor; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::TextMeasurement { + public facebook::react::Size size; + public facebook::react::TextMeasurement::Attachments attachments; + public using Attachments = std::vector; +} + +class facebook::react::TextMeasurement::Attachment { + public bool isClipped; + public facebook::react::Rect frame; +} + +class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { + public TextProps() = default; + public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::TimerManager { + public TimerManager(const facebook::react::TimerManager&) = delete; + public TimerManager(facebook::react::TimerManager&&) = delete; + public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; + public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; + public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; + public void attachGlobals(facebook::jsi::Runtime& runtime); + public void callTimer(facebook::react::TimerHandle handle); + public void quit(); + public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; + public ~TimerManager() noexcept; +} + +class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { + public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public void onClick(facebook::react::PointerEvent event) const; + public void onGotPointerCapture(facebook::react::PointerEvent event) const; + public void onLostPointerCapture(facebook::react::PointerEvent event) const; + public void onPointerCancel(facebook::react::PointerEvent event) const; + public void onPointerDown(facebook::react::PointerEvent event) const; + public void onPointerEnter(facebook::react::PointerEvent event) const; + public void onPointerLeave(facebook::react::PointerEvent event) const; + public void onPointerMove(facebook::react::PointerEvent event) const; + public void onPointerOut(facebook::react::PointerEvent event) const; + public void onPointerOver(facebook::react::PointerEvent event) const; + public void onPointerUp(facebook::react::PointerEvent event) const; + public void onTouchCancel(facebook::react::TouchEvent event) const; + public void onTouchEnd(facebook::react::TouchEvent event) const; + public void onTouchMove(facebook::react::TouchEvent event) const; + public void onTouchStart(facebook::react::TouchEvent event) const; +} + +class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { + public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::TransactionTelemetry { + public TransactionTelemetry(); + public TransactionTelemetry(std::function now); + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public facebook::react::TelemetryTimePoint getCommitEndTime() const; + public facebook::react::TelemetryTimePoint getCommitStartTime() const; + public facebook::react::TelemetryTimePoint getDiffEndTime() const; + public facebook::react::TelemetryTimePoint getDiffStartTime() const; + public facebook::react::TelemetryTimePoint getLayoutEndTime() const; + public facebook::react::TelemetryTimePoint getLayoutStartTime() const; + public facebook::react::TelemetryTimePoint getMountEndTime() const; + public facebook::react::TelemetryTimePoint getMountStartTime() const; + public int getAffectedLayoutNodesCount() const; + public int getNumberOfTextMeasurements() const; + public int getRevisionNumber() const; + public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); + public void didCommit(); + public void didDiff(); + public void didLayout(); + public void didLayout(int affectedLayoutNodesCount); + public void didMeasureText(); + public void didMount(); + public void setAsThreadLocal(); + public void setRevisionNumber(int revisionNumber); + public void unsetAsThreadLocal(); + public void willCommit(); + public void willDiff(); + public void willLayout(); + public void willMeasureText(); + public void willMount(); +} + +class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { + public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::TurboModule : public facebook::jsi::HostObject { + protected const std::string name_; + protected std::shared_ptr jsInvoker_; + protected std::unordered_map methodMap_; + protected std::unordered_map> eventEmitterMap_; + protected using ArgFactory = std::function& args)>; + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName); + protected void emitDeviceEvent(const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + protected void emitDeviceEvent(facebook::jsi::Runtime&, const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + public TurboModule(std::string name, std::shared_ptr jsInvoker); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::TurboModule::MethodMetadata { + public facebook::jsi::Value(*invoker)(facebook::jsi::Runtime &rt, facebook::react::TurboModule &turboModule, const facebook::jsi::Value *args, size_t count); + public size_t argCount; +} + +class facebook::react::TurboModuleBinding { + public static void install(facebook::jsi::Runtime& runtime, TurboModuleProviderFunctionType&& moduleProvider, TurboModuleProviderFunctionType&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public static void install(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public ~TurboModuleBinding(); +} + +class facebook::react::TurboModuleWithJSIBindings { + public static void installJSIBindings(const std::shared_ptr& cxxModule, facebook::jsi::Runtime& runtime); + public virtual ~TurboModuleWithJSIBindings() = default; +} + +class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { + public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); + public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; + public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; + public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; + public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); + public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); + public facebook::react::UIManagerDelegate* getDelegate(); + public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; + public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; + public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; + public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; + public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) const noexcept override; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; + public void addEventListener(std::shared_ptr listener); + public void addOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); + public void animationTick() const; + public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; + public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); + public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; + public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); + public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); + public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); + public void setDelegate(facebook::react::UIManagerDelegate* delegate); + public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; + public void setNativeAnimatedDelegate(std::weak_ptr delegate); + public void setSurfaceProps(facebook::react::SurfaceId surfaceId, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; + public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); + public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; + public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; + public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; + public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); + public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); + public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); + public void updateShadowTree(std::unordered_map&& tagToProps); + public void updateState(const facebook::react::StateUpdate& stateUpdate) const; + public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; + public ~UIManager() override; +} + +class facebook::react::UIManagerAnimationBackend { + public using Callback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; + public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) = 0; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; + public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; + public virtual void stop(facebook::react::CallbackId callbackId) = 0; + public virtual void trigger() = 0; + public virtual ~UIManagerAnimationBackend() = default; +} + +class facebook::react::UIManagerAnimationDelegate { + public virtual bool shouldAnimateFrame() const = 0; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; + public virtual ~UIManagerAnimationDelegate() = default; +} + +class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { + public UIManagerBinding(std::shared_ptr uiManager); + public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); + public facebook::react::UIManager& getUIManager(); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; + public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void invalidate() const; + public ~UIManagerBinding() override; +} + +class facebook::react::UIManagerCommitHook { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) noexcept; + public virtual ~UIManagerCommitHook() noexcept = default; +} + +class facebook::react::UIManagerDelegate { + public using OnSurfaceStartCallback = std::function; + public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidClearPendingSnapshots() = 0; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; + public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; + public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) = 0; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~UIManagerDelegate() noexcept = default; +} + +class facebook::react::UIManagerMountHook { + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; + public virtual ~UIManagerMountHook() noexcept = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegate { + public virtual void runAnimationFrame() = 0; + public virtual ~UIManagerNativeAnimatedDelegate() = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { + public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); + public virtual void runAnimationFrame() override; +} + +class facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); + public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag) const; + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); + public virtual void createViewTransitionInstance(const std::string&, facebook::react::Tag); + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); + public virtual void startViewTransitionEnd(); + public virtual void startViewTransitionReadyFinished(); + public virtual void suspendOnActiveViewTransition(); + public virtual void transitionAnimationFinished(int animationId); + public virtual void waitForTransitionAnimation(int animationId); + public virtual ~UIManagerViewTransitionDelegate() = default; +} + +struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { + public facebook::react::Float height; + public facebook::react::Float width; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Tag nativeTag; +} + +class facebook::react::UnimplementedNativeViewEventEmitter : public facebook::react::BaseViewEventEmitter { +} + +class facebook::react::UnimplementedNativeViewProps : public facebook::react::HostPlatformViewProps { + public UnimplementedNativeViewProps() = default; + public UnimplementedNativeViewProps(const facebook::react::PropsParserContext& context, const facebook::react::UnimplementedNativeViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string name; +} + +class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { + protected bool isColorValue_; + public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool getIsColorValue() const noexcept; + public bool setOffset(double offset) noexcept; + public bool setRawValue(double value) noexcept; + public double getOffset() const noexcept; + public double getRawValue() const noexcept; + public double getValue() const noexcept; + public void extractOffset() noexcept; + public void flattenOffset() noexcept; + public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; +} + +class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { + public ValueFactoryEventPayload(facebook::react::ValueFactory factory); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +class facebook::react::ViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); +} + +class facebook::react::VirtualViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onModeChange(facebook::react::VirtualViewEventEmitter::OnModeChange value) const; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChange { + public facebook::react::VirtualViewEventEmitter::OnModeChangeTargetRect targetRect; + public facebook::react::VirtualViewEventEmitter::OnModeChangeThresholdRect thresholdRect; + public int mode; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChangeTargetRect { + public double height; + public double width; + public double x; + public double y; +} + +struct facebook::react::VirtualViewEventEmitter::OnModeChangeThresholdRect { + public double height; + public double width; + public double x; + public double y; +} + +class facebook::react::VirtualViewProps : public facebook::react::HostPlatformViewProps { + public VirtualViewProps() = default; + public VirtualViewProps(const facebook::react::PropsParserContext& context, const facebook::react::VirtualViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool initialHidden; + public bool removeClippedSubviews; + public int renderState; +} + +class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { + protected facebook::yoga::Config yogaConfig_; + protected mutable facebook::yoga::Node yogaNode_; + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public YogaLayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public YogaLayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::Rect getContentBounds() const; + public using ListOfShared = std::vector; + public using Shared = std::shared_ptr; + public virtual bool getIsLayoutClean() const override; + public virtual void appendChild(const std::shared_ptr& child) override; + public virtual void completeClone(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) override; + public virtual void dirtyLayout() override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) override; + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = SIZE_MAX) override; + public void enableMeasurement(); + public void setPadding(facebook::react::RectangleEdges padding) const; + public void setPositionType(YGPositionType positionType) const; + public void setSize(facebook::react::Size size) const; + public void updateYogaChildren(); + public void updateYogaProps(); +} + +class facebook::react::YogaStylableProps : public facebook::react::Props { + public YogaStylableProps() = default; + public YogaStylableProps(const facebook::react::PropsParserContext& context, const facebook::react::YogaStylableProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::yoga::Style yogaStyle; + public facebook::yoga::Style::Length insetBlockEnd; + public facebook::yoga::Style::Length insetBlockStart; + public facebook::yoga::Style::Length insetInlineEnd; + public facebook::yoga::Style::Length insetInlineStart; + public facebook::yoga::Style::Length marginBlock; + public facebook::yoga::Style::Length marginBlockEnd; + public facebook::yoga::Style::Length marginBlockStart; + public facebook::yoga::Style::Length marginInline; + public facebook::yoga::Style::Length marginInlineEnd; + public facebook::yoga::Style::Length marginInlineStart; + public facebook::yoga::Style::Length paddingBlock; + public facebook::yoga::Style::Length paddingBlockEnd; + public facebook::yoga::Style::Length paddingBlockStart; + public facebook::yoga::Style::Length paddingInline; + public facebook::yoga::Style::Length paddingInlineEnd; + public facebook::yoga::Style::Length paddingInlineStart; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +enum facebook::react::AccessibilityLiveRegion : uint8_t { + Assertive, + None, + Polite, +} + +enum facebook::react::AccessibilityRole : uint8_t { + Adjustable, + Alert, + Button, + Checkbox, + Combobox, + Drawerlayout, + Dropdownlist, + Grid, + Header, + Horizontalscrollview, + Iconmenu, + Image, + Imagebutton, + Keyboardkey, + Link, + List, + Menu, + Menubar, + Menuitem, + None, + Pager, + Progressbar, + Radio, + Radiogroup, + Scrollbar, + Scrollview, + Search, + Slidingdrawer, + Spinbutton, + Summary, + Switch, + Tab, + Tabbar, + Tablist, + Text, + Timer, + Togglebutton, + Toolbar, + Viewgroup, + Webview, +} + +enum facebook::react::AccessibilityTraits : uint32_t { + Adjustable, + AllowsDirectInteraction, + Button, + CausesPageTurn, + Header, + Image, + KeyboardKey, + Link, + None, + NotEnabled, + PlaysSound, + SearchField, + Selected, + StartsMediaSession, + StaticText, + SummaryElement, + Switch, + TabBar, + UpdatesFrequently, +} + +enum facebook::react::ActivityIndicatorViewSize { + Large, + Small, +} + +enum facebook::react::AnimatedNodeType { + Addition, + Color, + Diffclamp, + Division, + Interpolation, + Modulus, + Multiplication, + Object, + Props, + Round, + Style, + Subtraction, + Tracking, + Transform, + Value, +} + +enum facebook::react::AnimationConfigurationType { + Create, + Delete, + Update, +} + +enum facebook::react::AnimationDriverType { + Decay, + Frames, + Spring, +} + +enum facebook::react::AnimationProperty { + NotApplicable, + Opacity, + ScaleX, + ScaleXY, + ScaleY, +} + +enum facebook::react::AnimationType { + EaseIn, + EaseInEaseOut, + EaseOut, + Keyboard, + Linear, + None, + Spring, +} + +enum facebook::react::AutocapitalizationType { + Characters, + None, + Sentences, + Words, +} + +enum facebook::react::BackfaceVisibility : uint8_t { + Auto, + Hidden, + Visible, +} + +enum facebook::react::BackgroundRepeatStyle { + NoRepeat, + Repeat, + Round, + Space, +} + +enum facebook::react::BackgroundSizeKeyword { + Contain, + Cover, +} + +enum facebook::react::BlendMode { + Color, + ColorBurn, + ColorDodge, + Darken, + Difference, + Exclusion, + HardLight, + Hue, + Lighten, + Luminosity, + Multiply, + Normal, + Overlay, + PlusLighter, + Saturation, + Screen, + SoftLight, +} + +enum facebook::react::BorderCurve : uint8_t { + Circular, + Continuous, +} + +enum facebook::react::BorderStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::CSSAngleUnit : uint8_t { + Deg, + Grad, + Rad, + Turn, +} + +enum facebook::react::CSSDelimiter { + Comma, + CommaOrWhitespace, + None, + OptionalWhitespace, + Solidus, + SolidusOrWhitespace, + Whitespace, +} + +enum facebook::react::CSSFontVariant : std::underlying_type_t { + CommonLigatures, + Contextual, + DiscretionaryLigatures, + HistoricalLigatures, + LiningNums, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { + At, +} + +enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { + To, +} + +enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { + Inset, +} + +enum facebook::react::CSSKeyword : uint8_t { + Absolute, + At, + Auto, + Baseline, + Block, + Bottom, + Center, + Clip, + Column, + ColumnReverse, + CommonLigatures, + Content, + Contents, + Contextual, + Dashed, + DiscretionaryLigatures, + Dotted, + Double, + End, + Fixed, + Flex, + FlexEnd, + FlexStart, + Grid, + Groove, + Hidden, + HistoricalLigatures, + Inherit, + Initial, + Inline, + InlineBlock, + InlineFlex, + InlineGrid, + Inset, + Left, + LiningNums, + Ltr, + MaxContent, + Medium, + MinContent, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + NoWrap, + None, + Normal, + OldstyleNums, + Outset, + ProportionalNums, + Relative, + Ridge, + Right, + Row, + RowReverse, + Rtl, + Scroll, + SmallCaps, + Solid, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Static, + Sticky, + Stretch, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, + Thick, + Thin, + To, + Top, + Unset, + Visible, + Wrap, + WrapReverse, +} + +enum facebook::react::CSSLengthUnit : uint8_t { + Cap, + Ch, + Cm, + Dvb, + Dvh, + Dvi, + Dvmax, + Dvmin, + Dvw, + Em, + Ex, + Ic, + In, + Lh, + Lvb, + Lvh, + Lvi, + Lvmax, + Lvmin, + Lvw, + Mm, + Pc, + Pt, + Px, + Q, + Rcap, + Rch, + Rem, + Rex, + Ric, + Rlh, + Svb, + Svh, + Svi, + Svmax, + Svmin, + Svw, + Vb, + Vh, + Vi, + Vmax, + Vmin, + Vw, +} + +enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::CSSRadialGradientShape : uint8_t { + Circle, + Ellipse, +} + +enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +enum facebook::react::CSSTokenType { + CloseCurly, + CloseParen, + CloseSquare, + Comma, + Delim, + Dimension, + EndOfFile, + Function, + Hash, + Ident, + Number, + OpenCurly, + OpenParen, + OpenSquare, + Percentage, + WhiteSpace, +} + +enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSWideKeyword : std::underlying_type_t { + Inherit, + Initial, + Unset, +} + +enum facebook::react::ColorSpace { + DisplayP3, + sRGB, +} + +enum facebook::react::ContentInsetAdjustmentBehavior { + Always, + Automatic, + Never, + ScrollableAxes, +} + +enum facebook::react::Cursor : uint8_t { + Alias, + AllScroll, + Auto, + Cell, + ColResize, + ContextMenu, + Copy, + Crosshair, + Default, + EResize, + EWResize, + Grab, + Grabbing, + Help, + Move, + NEResize, + NESWResize, + NResize, + NSResize, + NWResize, + NWSEResize, + NoDrop, + None, + NotAllowed, + Pointer, + Progress, + RowResize, + SEResize, + SResize, + SWResize, + Text, + Url, + WResize, + Wait, + ZoomIn, + ZoomOut, +} + +enum facebook::react::DisplayMode { + Hidden, + Suspended, + Visible, +} + +enum facebook::react::DisplayType { + Contents, + Flex, + Grid, + None, +} + +enum facebook::react::DynamicTypeRamp : uint8_t { + Body, + Callout, + Caption1, + Caption2, + Footnote, + Headline, + LargeTitle, + Subheadline, + Title1, + Title2, + Title3, +} + +enum facebook::react::EllipsizeMode { + Clip, + Head, + Middle, + Tail, +} + +enum facebook::react::EventPayloadType { + PointerEvent, + ScrollEvent, + ValueFactory, +} + +enum facebook::react::FilterType { + Blur, + Brightness, + Contrast, + DropShadow, + Grayscale, + HueRotate, + Invert, + Opacity, + Saturate, + Sepia, +} + +enum facebook::react::FontStyle : uint8_t { + Italic, + Normal, + Oblique, +} + +enum facebook::react::FontVariant : int { + Default, + LiningNums, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::FontWeight : uint16_t { + Black, + Bold, + Demibold, + Heavy, + Light, + Medium, + Regular, + Semibold, + Thin, + UltraLight, + Weight100, + Weight200, + Weight300, + Weight400, + Weight500, + Weight600, + Weight700, + Weight800, + Weight900, +} + +enum facebook::react::GradientDirectionType { + Angle, + Keyword, +} + +enum facebook::react::GradientKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::HyphenationFrequency { + Full, + None, + Normal, +} + +enum facebook::react::ImageResizeMode : int8_t { + Center, + Contain, + Cover, + None, + Repeat, + Stretch, +} + +enum facebook::react::ImportantForAccessibility : uint8_t { + Auto, + No, + NoHideDescendants, + Yes, +} + +enum facebook::react::Isolation { + Auto, + Isolate, +} + +enum facebook::react::KeyboardAppearance { + Dark, + Default, + Light, +} + +enum facebook::react::KeyboardType { + ASCIICapable, + ASCIICapableNumberPad, + DecimalPad, + Default, + EmailAddress, + NamePhonePad, + NumberPad, + NumbersAndPunctuation, + Numeric, + PhonePad, + Twitter, + URL, + VisiblePassword, + WebSearch, +} + +enum facebook::react::LayoutConformance : uint8_t { + Compatibility, + Strict, +} + +enum facebook::react::LayoutDirection { + LeftToRight, + RightToLeft, + Undefined, +} + +enum facebook::react::LineBreakMode : uint8_t { + Char, + Clip, + Head, + Middle, + Tail, + Word, +} + +enum facebook::react::LineBreakStrategy : uint8_t { + HangulWordPriority, + None, + PushOut, + Standard, +} + +enum facebook::react::ModalHostViewAnimationType { + Fade, + None, + Slide, +} + +enum facebook::react::ModalHostViewPresentationStyle { + FormSheet, + FullScreen, + OverFullScreen, + PageSheet, +} + +enum facebook::react::ModalHostViewSupportedOrientations : facebook::react::ModalHostViewSupportedOrientationsMask { + Landscape, + LandscapeLeft, + LandscapeRight, + Portrait, + PortraitUpsideDown, +} + +enum facebook::react::NullValueStrategy { + Ignore, + Override, +} + +enum facebook::react::OutlineStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::PointerEventsMode : uint8_t { + Auto, + BoxNone, + BoxOnly, + None, +} + +enum facebook::react::PositionType { + Absolute, + Relative, + Static, +} + +enum facebook::react::PropName { + ALIGN_CONTENT, + ALIGN_ITEMS, + ALIGN_SELF, + ASPECT_RATIO, + BACKFACE_VISIBILITY, + BACKGROUND_COLOR, + BORDER_COLOR, + BORDER_CURVES, + BORDER_RADII, + BORDER_STYLES, + BORDER_WIDTH, + BOX_SHADOW, + BOX_SIZING, + COLUMN_GAP, + CURSOR, + DIRECTION, + DISPLAY, + FILTER, + FLEX, + FLEX_BASIS, + FLEX_DIRECTION, + FLEX_GROW, + FLEX_SHRINK, + FLEX_WRAP, + HEIGHT, + ISOLATION, + JUSTIFY_CONTENT, + MARGIN, + MAX_HEIGHT, + MAX_WIDTH, + MIN_HEIGHT, + MIN_WIDTH, + MIX_BLEND_MODE, + OPACITY, + OUTLINE_COLOR, + OUTLINE_OFFSET, + OUTLINE_STYLE, + OUTLINE_WIDTH, + PADDING, + POINTER_EVENTS, + POSITION, + POSITION_TYPE, + ROW_GAP, + SHADOW_COLOR, + SHADOW_OFFSET, + SHADOW_OPACITY, + SHADOW_RADIUS, + STYLE_OVERFLOW, + TRANSFORM, + TRANSFORM_ORIGIN, + WIDTH, + Z_INDEX, +} + +enum facebook::react::RadialGradientShape { + Circle, + Ellipse, +} + +enum facebook::react::ReactEventPriority { + Continuous, + Default, + Discrete, + Idle, +} + +enum facebook::react::ReturnKeyType { + Continue, + Default, + Done, + EmergencyCall, + Go, + Google, + Join, + Next, + None, + Previous, + Route, + Search, + Send, + Yahoo, +} + +enum facebook::react::Role : uint8_t { + Alert, + Alertdialog, + Application, + Article, + Banner, + Button, + Cell, + Checkbox, + Columnheader, + Combobox, + Complementary, + Contentinfo, + Definition, + Dialog, + Directory, + Document, + Feed, + Figure, + Form, + Grid, + Group, + Heading, + Img, + Link, + List, + Listitem, + Log, + Main, + Marquee, + Math, + Menu, + Menubar, + Menuitem, + Meter, + Navigation, + None, + Note, + Option, + Presentation, + Progressbar, + Radio, + Radiogroup, + Region, + Row, + Rowgroup, + Rowheader, + Scrollbar, + Searchbox, + Separator, + Slider, + Spinbutton, + Status, + Summary, + Switch, + Tab, + Table, + Tablist, + Tabpanel, + Term, + Timer, + Toolbar, + Tooltip, + Tree, + Treegrid, + Treeitem, +} + +enum facebook::react::SchedulerPriority : int { + IdlePriority, + ImmediatePriority, + LowPriority, + NormalPriority, + UserBlockingPriority, +} + +enum facebook::react::ScriptTag { + RAMBundle, + String, +} + +enum facebook::react::ScrollViewIndicatorStyle { + Black, + Default, + White, +} + +enum facebook::react::ScrollViewKeyboardDismissMode { + Interactive, + None, + OnDrag, +} + +enum facebook::react::ScrollViewSnapToAlignment { + Center, + End, + Start, +} + +enum facebook::react::ShadowTreeCommitMode { + Normal, + Suspended, +} + +enum facebook::react::ShadowTreeCommitSource { + AnimationEndSync, + React, + ReactRevisionMerge, + Unknown, +} + +enum facebook::react::ShadowTreeCommitStatus { + Cancelled, + Failed, + Succeeded, +} + +enum facebook::react::SubmitBehavior { + BlurAndSubmit, + Default, + Newline, + Submit, +} + +enum facebook::react::TextAlignment : uint8_t { + Center, + End, + Justified, + Left, + Natural, + Right, + Start, +} + +enum facebook::react::TextAlignmentVertical { + Auto, + Bottom, + Center, + Top, +} + +enum facebook::react::TextBreakStrategy { + Balanced, + HighQuality, + Simple, +} + +enum facebook::react::TextDecorationLineType : uint8_t { + None, + Strikethrough, + Underline, + UnderlineStrikethrough, +} + +enum facebook::react::TextDecorationStyle : uint8_t { + Dashed, + Dotted, + Double, + Solid, + Wavy, +} + +enum facebook::react::TextInputAccessoryVisibilityMode { + Always, + Never, + UnlessEditing, + WhileEditing, +} + +enum facebook::react::TextTransform : uint8_t { + Capitalize, + Lowercase, + None, + Unset, + Uppercase, +} + +enum facebook::react::TextWidthMode { + Auto, + LongestLine, +} + +enum facebook::react::TimerSource { + RequestAnimationFrame, + SetInterval, + SetTimeout, + Unknown, +} + +enum facebook::react::TransformOperationType : uint8_t { + Arbitrary, + Identity, + Perspective, + Rotate, + Scale, + Skew, + Translate, +} + +enum facebook::react::TurboModuleMethodValueKind { + ArrayBufferKind, + ArrayKind, + BooleanKind, + FunctionKind, + NumberKind, + ObjectKind, + PromiseKind, + StringKind, + VoidKind, +} + +enum facebook::react::UnitType { + Percent, + Point, + Undefined, +} + +enum facebook::react::WritingDirection : uint8_t { + LeftToRight, + Natural, + RightToLeft, +} + +struct facebook::react::AccessibilityAction { + public std::optional label; + public std::string name; +} + +struct facebook::react::AccessibilityLabelledBy { + public std::vector value; +} + +struct facebook::react::AccessibilityState { + public bool busy; + public bool disabled; + public facebook::react::AccessibilityState::CheckedState checked; + public std::optional expanded; + public std::optional selected; +} + +enum facebook::react::AccessibilityState::CheckedState { + Checked, + Mixed, + None, + Unchecked, +} + +struct facebook::react::AccessibilityValue { + public std::optional max; + public std::optional min; + public std::optional now; + public std::optional text; +} + +struct facebook::react::ActivePointer { + public bool shouldLeaveWhenReleased; + public facebook::react::PointerEvent event; +} + +struct facebook::react::AnimatedPropBase { + public AnimatedPropBase(facebook::react::PropName propName); + public facebook::react::PropName propName; + public virtual ~AnimatedPropBase() = default; +} + +struct facebook::react::AnimatedProps { + public std::unique_ptr rawProps; + public std::vector> props; +} + +struct facebook::react::AnimatedPropsBuilder { + public facebook::react::AnimatedProps get(); + public std::unique_ptr rawProps; + public std::vector> props; + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); + public void setBackgroundColor(facebook::react::SharedColor value); + public void setBorderColor(facebook::react::CascadedBorderColors& value); + public void setBorderCurves(facebook::react::CascadedBorderCurves& value); + public void setBorderRadii(facebook::react::CascadedBorderRadii& value); + public void setBorderStyles(facebook::react::CascadedBorderStyles& value); + public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); + public void setBoxShadow(const std::vector& value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setColumnGap(facebook::yoga::Style::Length value); + public void setCursor(facebook::react::Cursor value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFilter(const std::vector& value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setHeight(facebook::yoga::Style::SizeLength value); + public void setIsolation(facebook::react::Isolation value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setMargin(facebook::react::CascadedRectangleEdges& value); + public void setMaxHeight(facebook::yoga::Style::SizeLength value); + public void setMaxWidth(facebook::yoga::Style::SizeLength value); + public void setMinHeight(facebook::yoga::Style::SizeLength value); + public void setMinWidth(facebook::yoga::Style::SizeLength value); + public void setMixBlendMode(facebook::react::BlendMode value); + public void setOpacity(facebook::react::Float value); + public void setOutlineColor(facebook::react::SharedColor value); + public void setOutlineOffset(facebook::react::Float value); + public void setOutlineStyle(facebook::react::OutlineStyle value); + public void setOutlineWidth(facebook::react::Float value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::react::CascadedRectangleEdges& value); + public void setPointerEvents(facebook::react::PointerEventsMode value); + public void setPosition(facebook::react::CascadedRectangleEdges& value); + public void setPositionType(facebook::yoga::PositionType value); + public void setRowGap(facebook::yoga::Style::Length value); + public void setShadowColor(facebook::react::SharedColor value); + public void setShadowOffset(facebook::react::Size value); + public void setShadowOpacity(facebook::react::Float value); + public void setShadowRadius(facebook::react::Float value); + public void setTransform(const facebook::react::Transform& t); + public void setTransformOrigin(const facebook::react::TransformOrigin& value); + public void setWidth(facebook::yoga::Style::SizeLength value); + public void setZIndex(std::optional value); + public void storeDynamic(folly::dynamic& d); + public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); +} + +struct facebook::react::AnimationConfig { + public double delay; + public double duration; + public facebook::react::AnimationProperty animationProperty; + public facebook::react::AnimationType animationType; + public facebook::react::Float initialVelocity; + public facebook::react::Float springDamping; +} + +struct facebook::react::AnimationKeyFrame { + public bool generateFinalSyntheticMutations; + public bool invalidated; + public double initialProgress; + public facebook::react::AnimationConfigurationType type; + public facebook::react::ShadowView viewEnd; + public facebook::react::ShadowView viewPrev; + public facebook::react::ShadowView viewStart; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public std::vector finalMutationsForKeyFrame; +} + +struct facebook::react::AnimationMutation { + public bool hasLayoutUpdates; + public facebook::react::AnimatedProps props; + public facebook::react::Tag tag; + public std::shared_ptr family; +} + +struct facebook::react::AnimationMutations { + public std::set asyncFlushSurfaces; + public std::vector batch; +} + +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::BackgroundRepeat { + public BackgroundRepeat(); + public bool operator==(const facebook::react::BackgroundRepeat& other) const = default; + public facebook::react::BackgroundRepeatStyle x; + public facebook::react::BackgroundRepeatStyle y; +} + +struct facebook::react::BackgroundSizeLengthPercentage { + public BackgroundSizeLengthPercentage(); + public bool isXAuto() const; + public bool isYAuto() const; + public bool operator==(const facebook::react::BackgroundSizeLengthPercentage& other) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::BaseTouch { + public facebook::react::Float force; + public facebook::react::Float timestamp; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point offsetPoint; + public facebook::react::Point pagePoint; + public facebook::react::Point screenPoint; + public facebook::react::Tag target; + public int identifier; +} + +struct facebook::react::BaseTouch::Comparator { + public bool operator()(const facebook::react::BaseTouch& lhs, const facebook::react::BaseTouch& rhs) const; +} + +struct facebook::react::BaseTouch::Hasher { + public size_t operator()(const facebook::react::BaseTouch& touch) const; +} + +struct facebook::react::BorderMetrics { + public bool operator==(const facebook::react::BorderMetrics& rhs) const = default; + public facebook::react::BorderColors borderColors; + public facebook::react::BorderCurves borderCurves; + public facebook::react::BorderRadii borderRadii; + public facebook::react::BorderStyles borderStyles; + public facebook::react::BorderWidths borderWidths; +} + +struct facebook::react::BoxShadow { + public bool inset; + public bool operator==(const facebook::react::BoxShadow& other) const = default; + public facebook::react::Float blurRadius; + public facebook::react::Float offsetX; + public facebook::react::Float offsetY; + public facebook::react::Float spreadDistance; + public facebook::react::SharedColor color; +} + +struct facebook::react::Bridging { + public static bool fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static bool toJs(facebook::jsi::Runtime&, bool value); +} + +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +struct facebook::react::Bridging { + public static double fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static double toJs(facebook::jsi::Runtime&, double value); +} + +struct facebook::react::Bridging { + public static float fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static float toJs(facebook::jsi::Runtime&, float value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const id& value); +} + +struct facebook::react::Bridging { + public static int32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int32_t toJs(facebook::jsi::Runtime&, int32_t value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime&, uint32_t value); + public static uint32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); +} + +struct facebook::react::BufferEvent { + public std::string name; + public std::string track; + public uint64_t end; + public uint64_t start; +} + +struct facebook::react::BundleHeader { + public BundleHeader(); + public facebook::react::Magic32 magic32; + public uint32_t version; + public uint64_t magic64; +} + +struct facebook::react::CSSAngle { + public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSBlurFilter { + public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; + public facebook::react::CSSLength amount; +} + +struct facebook::react::CSSBrightnessFilter { + public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSColor { + public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; + public static constexpr facebook::react::CSSColor black(); + public uint8_t a; + public uint8_t b; + public uint8_t g; + public uint8_t r; +} + +struct facebook::react::CSSColorHint { + public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; + public std::variant position; +} + +struct facebook::react::CSSColorStop { + public bool operator==(const facebook::react::CSSColorStop& rhs) const; + public facebook::react::CSSColor color; + public std::optional> endPosition; + public std::optional> startPosition; +} + +struct facebook::react::CSSContrastFilter { + public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSDropShadowFilter { + public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength standardDeviation; +} + +struct facebook::react::CSSFunctionBlock { + public std::string_view name; +} + +struct facebook::react::CSSGrayscaleFilter { + public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSHueRotateFilter { + public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSInvertFilter { + public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSLength { + public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; + public facebook::react::CSSLengthUnit unit; + public float value; +} + +struct facebook::react::CSSLinearGradientDirection { + public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSLinearGradientFunction { + public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; + public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); + public std::optional direction; + public std::vector> items; +} + +struct facebook::react::CSSMatrix { + public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; + public std::array values; +} + +struct facebook::react::CSSNumber { + public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; + public float value; +} + +struct facebook::react::CSSOpacityFilter { + public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSPercentage { + public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; + public float value; +} + +struct facebook::react::CSSPerspective { + public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; + public facebook::react::CSSLength length; +} + +struct facebook::react::CSSRadialGradientExplicitSize { + public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; + public std::variant sizeX; + public std::variant sizeY; +} + +struct facebook::react::CSSRadialGradientFunction { + public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; + public std::optional position; + public std::optional shape; + public std::optional size; + public std::vector> items; +} + +struct facebook::react::CSSRadialGradientPosition { + public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; + public std::optional> bottom; + public std::optional> left; + public std::optional> right; + public std::optional> top; +} + +struct facebook::react::CSSRatio { + public constexpr bool isDegenerate() const; + public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; + public float denominator; + public float numerator; +} + +struct facebook::react::CSSRotate { + public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateX { + public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateY { + public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateZ { + public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSaturateFilter { + public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSScale { + public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; + public float x; + public float y; +} + +struct facebook::react::CSSScaleX { + public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; + public float value; +} + +struct facebook::react::CSSScaleY { + public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; + public float value; +} + +struct facebook::react::CSSSepiaFilter { + public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSShadow { + public bool inset; + public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength blurRadius; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength spreadDistance; +} + +struct facebook::react::CSSSimpleBlock { + public facebook::react::CSSTokenType openBracketType; +} + +struct facebook::react::CSSSkewX { + public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSkewY { + public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSTransformOrigin { + public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate3D { + public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate { + public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslateX { + public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSTranslateY { + public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSZero { + public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; +} + +struct facebook::react::CallbackWithId { + public facebook::react::Callback callback; + public facebook::react::CallbackId callbackId; +} + +struct facebook::react::Color { + public Color(); + public Color(const facebook::react::ColorComponents& components); + public Color(const facebook::react::DynamicColor& dynamicColor); + public Color(int32_t color); + public bool operator!=(const facebook::react::Color& other) const; + public bool operator==(const facebook::react::Color& other) const; + public facebook::react::ColorComponents getColorComponents() const; + public float getChannel(int channelId) const; + public int32_t getColor() const; + public operator int32_t() const; + public static facebook::react::Color createSemanticColor(std::vector& semanticItems); + public std::shared_ptr getUIColor() const; + public std::size_t getUIColorHash() const; +} + +struct facebook::react::ColorComponents { + public facebook::react::ColorSpace colorSpace; + public float alpha; + public float blue; + public float green; + public float red; +} + +struct facebook::react::ColorStop { + public bool operator==(const facebook::react::ColorStop& other) const = default; + public facebook::react::SharedColor color; + public facebook::react::ValueUnit position; +} + +struct facebook::react::CornerRadii { + public bool operator==(const facebook::react::CornerRadii& other) const = default; + public float horizontal; + public float vertical; +} + +struct facebook::react::DebugStringConvertibleOptions { +} + +struct facebook::react::DefaultTurboModules { + public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::DropShadowParams { + public bool operator==(const facebook::react::DropShadowParams& other) const = default; + public facebook::react::Float offsetX; + public facebook::react::Float offsetY; + public facebook::react::Float standardDeviation; + public facebook::react::SharedColor color; +} + +struct facebook::react::DummyTraceSection { + template + public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::DynamicColor { + public int32_t darkColor; + public int32_t highContrastDarkColor; + public int32_t highContrastLightColor; + public int32_t lightColor; +} + +struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { + protected folly::dynamic payload_; + public DynamicEventPayload(folly::dynamic&& payload); + public static facebook::react::SharedEventPayload create(folly::dynamic&& payload); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector& path) const override; +} + +struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEventPayload { + public DynamicPointerEvent(folly::dynamic&& payload); + public const std::optional>& getHitPathForEventListener() const; +} + +struct facebook::react::EventAnimationDriverKey { + public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; + public facebook::react::Tag viewTag; + public std::string eventName; +} + +struct facebook::react::EventPayload { + public EventPayload() = default; + public EventPayload(const facebook::react::EventPayload&) = default; + public EventPayload(facebook::react::EventPayload&&) = default; + public facebook::react::EventPayload& operator=(const facebook::react::EventPayload&) = default; + public facebook::react::EventPayload& operator=(facebook::react::EventPayload&&) = default; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const = 0; + public virtual facebook::react::EventPayloadType getType() const = 0; + public virtual std::optional extractValue(const std::vector&) const; + public virtual ~EventPayload() = default; +} + +struct facebook::react::FilterFunction { + public bool operator==(const facebook::react::FilterFunction& other) const = default; + public facebook::react::FilterType type; + public std::variant parameters; +} + +struct facebook::react::ImageURLLoaderAttribution { + public NSString* analyticTag; + public int32_t nativeViewTag; + public int32_t surfaceId; + public std::string queryRootName; +} + +struct facebook::react::InspectorData { + public folly::dynamic props; + public int columnNumber; + public int lineNumber; + public int selectedIndex; + public std::string fileName; + public std::vector hierarchy; +} + +struct facebook::react::LayoutAnimation { + public bool completed; + public facebook::react::LayoutAnimationCallbackWrapper failureCallback; + public facebook::react::LayoutAnimationCallbackWrapper successCallback; + public facebook::react::LayoutAnimationConfig layoutAnimationConfig; + public facebook::react::SurfaceId surfaceId; + public std::vector keyFrames; + public uint64_t startTime; +} + +struct facebook::react::LayoutAnimationConfig { + public double duration; + public facebook::react::AnimationConfig createConfig; + public facebook::react::AnimationConfig deleteConfig; + public facebook::react::AnimationConfig updateConfig; +} + +struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { + public LayoutConformanceProps() = default; + public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConformance mode; +} + +struct facebook::react::LayoutConstraints { + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::Size clamp(const facebook::react::Size& size) const; + public facebook::react::Size maximumSize; + public facebook::react::Size minimumSize; +} + +struct facebook::react::LayoutContext { + public bool swapLeftAndRightInRTL; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float pointScaleFactor; + public facebook::react::Point viewportOffset; + public facebook::react::Size viewportSize; + public std::vector* affectedNodes; +} + +struct facebook::react::LayoutMetrics { + public bool operator==(const facebook::react::LayoutMetrics& rhs) const = default; + public bool wasLeftAndRightSwapped; + public facebook::react::DisplayType displayType; + public facebook::react::EdgeInsets borderWidth; + public facebook::react::EdgeInsets contentInsets; + public facebook::react::EdgeInsets overflowInset; + public facebook::react::Float fontSizeMultiplier; + public facebook::react::Float pointScaleFactor; + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::PositionType positionType; + public facebook::react::Rect frame; + public facebook::react::Rect getContentFrame() const; + public facebook::react::Rect getOverflowInsetFrame() const; + public facebook::react::Rect getPaddingFrame() const; +} + +struct facebook::react::LineMeasurement { + public LineMeasurement(const folly::dynamic& data); + public LineMeasurement(std::string text, facebook::react::Rect frame, facebook::react::Float descender, facebook::react::Float capHeight, facebook::react::Float ascender, facebook::react::Float xHeight); + public bool operator==(const facebook::react::LineMeasurement& rhs) const; + public facebook::react::Float ascender; + public facebook::react::Float capHeight; + public facebook::react::Float descender; + public facebook::react::Float xHeight; + public facebook::react::Rect frame; + public static facebook::react::Float baseline(const std::vector& lines); + public std::string text; +} + +struct facebook::react::LinearGradient { + public bool operator==(const facebook::react::LinearGradient& other) const = default; + public facebook::react::GradientDirection direction; + public std::vector colorStops; +} + +struct facebook::react::Magic32 { + public uint32_t reserved_; + public uint32_t value; +} + +struct facebook::react::MeasuredPreparedTextLayout { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::TextMeasurement measurement; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; +} + +struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { + public facebook::react::ModalHostViewSupportedOrientationsMask value; +} + +struct facebook::react::Point { + public bool operator==(const facebook::react::Point& rhs) const = default; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Point operator+(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point operator-() const noexcept; + public facebook::react::Point operator-(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator+=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator-=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::PointerEvent : public facebook::react::EventPayload { + public bool altKey; + public bool ctrlKey; + public bool isPrimary; + public bool metaKey; + public bool shiftKey; + public facebook::react::Float height; + public facebook::react::Float pressure; + public facebook::react::Float tangentialPressure; + public facebook::react::Float width; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point clientPoint; + public facebook::react::Point offsetPoint; + public facebook::react::Point screenPoint; + public int button; + public int buttons; + public int detail; + public int pointerId; + public int tiltX; + public int tiltY; + public int twist; + public std::string pointerType; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +struct facebook::react::PointerEventTarget { + public facebook::react::PointerEvent event; + public std::shared_ptr target; +} + +struct facebook::react::ProcessedColorStop { + public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; + public facebook::react::SharedColor color; + public std::optional position; +} + +struct facebook::react::Promise : public facebook::react::LongLivedObject { + public Promise(facebook::jsi::Runtime& rt, facebook::jsi::Function resolve, facebook::jsi::Function reject); + public facebook::jsi::Function reject_; + public facebook::jsi::Function resolve_; + public void reject(const std::string& message); + public void resolve(const facebook::jsi::Value& result); +} + +struct facebook::react::PropsParserContext { + public PropsParserContext(const facebook::react::PropsParserContext&) = delete; + public PropsParserContext(const facebook::react::SurfaceId surfaceId, const facebook::react::ContextContainer& contextContainer); + public const facebook::react::ContextContainer& contextContainer; + public const facebook::react::SurfaceId surfaceId; + public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; +} + +struct facebook::react::RadialGradient { + public bool operator==(const facebook::react::RadialGradient& other) const = default; + public facebook::react::RadialGradientPosition position; + public facebook::react::RadialGradientShape shape; + public facebook::react::RadialGradientSize size; + public std::vector colorStops; +} + +struct facebook::react::RadialGradientPosition { + public bool operator==(const facebook::react::RadialGradientPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::RadialGradientSize { + public bool operator==(const facebook::react::RadialGradientSize& other) const = default; + public std::variant value; +} + +enum facebook::react::RadialGradientSize::SizeKeyword { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +struct facebook::react::RadialGradientSize::Dimensions { + public bool operator==(const facebook::react::RadialGradientSize::Dimensions& other) const = default; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; +} + +struct facebook::react::RawEvent { + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public bool isUnique; + public facebook::react::EventTag loggingTag; + public facebook::react::HighResTimeStamp eventStartTimeStamp; + public facebook::react::RawEvent::Category category; + public facebook::react::SharedEventPayload eventPayload; + public facebook::react::SharedEventTarget eventTarget; + public std::string type; + public std::weak_ptr shadowNodeFamily; +} + +enum facebook::react::RawEvent::Category { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +struct facebook::react::ReactNativeVersionType { + public int32_t Major; + public int32_t Minor; + public int32_t Patch; + public std::string_view Prerelease; +} + +struct facebook::react::Rect { + public bool containsPoint(facebook::react::Point point) noexcept; + public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; + public facebook::react::Float getMaxX() const noexcept; + public facebook::react::Float getMaxY() const noexcept; + public facebook::react::Float getMidX() const noexcept; + public facebook::react::Float getMidY() const noexcept; + public facebook::react::Float getMinX() const noexcept; + public facebook::react::Float getMinY() const noexcept; + public facebook::react::Point getCenter() const noexcept; + public facebook::react::Point origin; + public facebook::react::Size size; + public static facebook::react::Rect boundingRect(const facebook::react::Point& a, const facebook::react::Point& b, const facebook::react::Point& c, const facebook::react::Point& d) noexcept; + public static facebook::react::Rect intersect(const facebook::react::Rect& rect1, const facebook::react::Rect& rect2); + public void unionInPlace(const facebook::react::Rect& rect) noexcept; +} + +struct facebook::react::SchedulerToolbox { + public facebook::react::ComponentRegistryFactory componentRegistryFactory; + public facebook::react::EventBeat::Factory eventBeatFactory; + public facebook::react::RuntimeExecutor runtimeExecutor; + public std::optional bridgelessBindingsExecutor; + public std::shared_ptr contextContainer; + public std::shared_ptr animationChoreographer; + public std::vector> commitHooks; +} + +struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { + public ScrollEndDragEvent() = default; + public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); + public facebook::react::Point targetContentOffset; + public facebook::react::Point velocity; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; +} + +struct facebook::react::ScrollEvent : public facebook::react::EventPayload { + public ScrollEvent() = default; + public bool responderIgnoreScroll; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Float timestamp; + public facebook::react::Float zoomScale; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector& path) const override; +} + +struct facebook::react::ShadowNodeFamilyFragment { + public const facebook::react::SurfaceId surfaceId; + public const facebook::react::Tag tag; + public const std::shared_ptr instanceHandle; +} + +struct facebook::react::ShadowNodeFragment { + public const bool runtimeShadowNodeReference; + public const facebook::react::Props::Shared& props; + public const facebook::react::State::Shared& state; + public const std::shared_ptr>>& children; + public static const facebook::react::Props::Shared& propsPlaceholder(); + public static const facebook::react::State::Shared& statePlaceholder(); + public static const std::shared_ptr>>& childrenPlaceholder(); +} + +struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { + public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); + public std::shared_ptr>> shadowNodeList; + public ~ShadowNodeListWrapper() override; +} + +struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { + public ShadowNodeWrapper(std::shared_ptr shadowNode); + public std::shared_ptr shadowNode; + public ~ShadowNodeWrapper() override; +} + +struct facebook::react::ShadowTreeCommitOptions { + public bool enableStateReconciliation; + public bool mountSynchronously; + public facebook::react::ShadowTreeCommitSource source; +} + +struct facebook::react::ShadowView { + public ShadowView() = default; + public ShadowView(const facebook::react::ShadowNode& shadowNode); + public ShadowView(const facebook::react::ShadowView& shadowView) = default; + public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; + public bool operator==(const facebook::react::ShadowView& rhs) const; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::EventEmitter::Shared eventEmitter; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; + public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; +} + +struct facebook::react::ShadowViewMutation { + public ShadowViewMutation() = delete; + public bool mutatedViewIsVirtual() const; + public facebook::react::ShadowView newChildShadowView; + public facebook::react::ShadowView oldChildShadowView; + public facebook::react::ShadowViewMutation::Type type; + public facebook::react::Tag parentTag; + public int index; + public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); + public using List = std::vector; +} + +enum facebook::react::ShadowViewMutation::Type : std::uint8_t { + Create, + Delete, + Insert, + Remove, + Update, +} + +struct facebook::react::Size { + public facebook::react::Float height; + public facebook::react::Float width; + public facebook::react::Size& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Size& operator+=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::StateData { + public using Shared = std::shared_ptr; +} + +struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { + template + public SystraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::Task : public facebook::jsi::NativeState { + public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); + public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); +} + +struct facebook::react::TextEffectInfo { + public bool operator==(const facebook::react::TextEffectInfo&) const = default; + public folly::dynamic props; + public std::string name; +} + +struct facebook::react::TextLayoutContext { + public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; + public facebook::react::Float pointScaleFactor; + public facebook::react::SurfaceId surfaceId; +} + +struct facebook::react::TimerCallback { + public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); + public bool repeat; + public const std::vector args_; + public facebook::jsi::Function callback_; + public facebook::react::TimerSource source; + public void invoke(facebook::jsi::Runtime& runtime); +} + +struct facebook::react::TouchEvent { + public facebook::react::Touches changedTouches; + public facebook::react::Touches targetTouches; + public facebook::react::Touches touches; +} + +struct facebook::react::Transform { + public bool operator==(const facebook::react::Transform& rhs) const noexcept; + public const facebook::react::Float& at(int i, int j) const noexcept; + public facebook::react::Float& at(int i, int j) noexcept; + public facebook::react::Rect applyWithCenter(const facebook::react::Rect& rect, const facebook::react::Point& center) const; + public facebook::react::Transform operator*(const facebook::react::Transform& rhs) const; + public operator folly::dynamic() const; + public static bool isHorizontalInversion(const facebook::react::Transform& transform) noexcept; + public static bool isVerticalInversion(const facebook::react::Transform& transform) noexcept; + public static facebook::react::Transform FromTransformOperation(facebook::react::TransformOperation transformOperation, const facebook::react::Size& size, const facebook::react::Transform& transform = facebook::react::Transform::Identity()); + public static facebook::react::Transform HorizontalInversion() noexcept; + public static facebook::react::Transform Identity() noexcept; + public static facebook::react::Transform Interpolate(facebook::react::Float animationProgress, const facebook::react::Transform& lhs, const facebook::react::Transform& rhs, const facebook::react::Size& size); + public static facebook::react::Transform Perspective(facebook::react::Float perspective) noexcept; + public static facebook::react::Transform Rotate(facebook::react::Float angleX, facebook::react::Float angleY, facebook::react::Float angleZ) noexcept; + public static facebook::react::Transform RotateX(facebook::react::Float radians) noexcept; + public static facebook::react::Transform RotateY(facebook::react::Float radians) noexcept; + public static facebook::react::Transform RotateZ(facebook::react::Float radians) noexcept; + public static facebook::react::Transform Scale(facebook::react::Float factorX, facebook::react::Float factorY, facebook::react::Float factorZ) noexcept; + public static facebook::react::Transform Skew(facebook::react::Float x, facebook::react::Float y) noexcept; + public static facebook::react::Transform Translate(facebook::react::Float x, facebook::react::Float y, facebook::react::Float z) noexcept; + public static facebook::react::Transform VerticalInversion() noexcept; + public static facebook::react::TransformOperation DefaultTransformOperation(facebook::react::TransformOperationType type); + public std::array matrix; + public std::vector operations; +} + +struct facebook::react::TransformConfig { + public double value; + public facebook::react::Tag nodeTag; + public std::string property; +} + +struct facebook::react::TransformOperation { + public bool operator==(const facebook::react::TransformOperation& other) const = default; + public facebook::react::TransformOperationType type; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; + public facebook::react::ValueUnit z; +} + +struct facebook::react::TransformOrigin { + public bool isSet() const; + public bool operator==(const facebook::react::TransformOrigin& other) const = default; + public float z; + public std::array xy; +} + +struct facebook::react::ValueUnit { + public constexpr ValueUnit() = default; + public constexpr ValueUnit(float v, facebook::react::UnitType u); + public constexpr bool operator==(const facebook::react::ValueUnit& other) const = default; + public constexpr float resolve(float referenceLength) const; + public constexpr operator bool() const; + public facebook::react::UnitType unit; + public float value; +} + +struct facebook::react::Vector { + public facebook::react::Float w; + public facebook::react::Float x; + public facebook::react::Float y; + public facebook::react::Float z; +} + +struct facebook::react::ViewEvents { + public constexpr bool operator[](const facebook::react::ViewEvents::Offset offset) const; + public std::bitset<64> bits; + public std::bitset<64>::reference operator[](const facebook::react::ViewEvents::Offset offset); +} + +enum facebook::react::ViewEvents::Offset : std::size_t { + Click, + ClickCapture, + GotPointerCapture, + LostPointerCapture, + MoveShouldSetResponder, + MoveShouldSetResponderCapture, + PointerDown, + PointerDownCapture, + PointerEnter, + PointerEnterCapture, + PointerLeave, + PointerLeaveCapture, + PointerMove, + PointerMoveCapture, + PointerOut, + PointerOutCapture, + PointerOver, + PointerOverCapture, + PointerUp, + PointerUpCapture, + ResponderEnd, + ResponderGrant, + ResponderMove, + ResponderReject, + ResponderRelease, + ResponderStart, + ResponderTerminate, + ResponderTerminationRequest, + ShouldBlockNativeResponder, + StartShouldSetResponder, + StartShouldSetResponderCapture, + TouchCancel, + TouchEnd, + TouchMove, + TouchStart, +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSList { +} + +template ... VisitorsT> +struct facebook::react::CSSComponentValueVisitorDispatcher { + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); + public constexpr std::optional visitFunction(); + public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitPreservedToken(); + public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public facebook::react::CSSSyntaxParser& parser; +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { + public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ConcreteViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteShadowNode; + public using ConcreteViewProps = ViewPropsT; + public virtual bool canBeTouchTarget() const override; + public virtual bool canChildrenBeTouchTarget() const override; + public virtual facebook::react::Transform getTransform() const override; +} + +template +class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; + protected std::shared_ptr textLayoutManager_; + protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + protected virtual void layout(facebook::react::LayoutContext layoutContext) override; + public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +template +class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { + protected facebook::react::Props::Shared props_; + protected facebook::react::State::Shared state_; + public const facebook::react::ConcreteShadowNode::ConcreteEventEmitter& getConcreteEventEmitter() const; + public const facebook::react::ConcreteShadowNode::ConcreteProps& getConcreteProps() const; + public const facebook::react::ConcreteShadowNode::ConcreteStateData& getStateData() const; + public const std::shared_ptr& getConcreteSharedProps() const; + public static const facebook::react::ConcreteShadowNode::SharedConcreteProps& defaultSharedProps(); + public static facebook::react::ComponentHandle Handle(); + public static facebook::react::ComponentName Name(); + public static facebook::react::ConcreteShadowNode::ConcreteStateData initialStateData(const facebook::react::Props::Shared&, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor&); + public static facebook::react::ConcreteShadowNode::UnsharedConcreteProps Props(const facebook::react::Props::Shared& baseProps); + public static facebook::react::ConcreteShadowNode::UnsharedConcreteProps Props(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::Props::Shared& baseProps = nullptr); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using ConcreteEventEmitter = EventEmitterT; + public using ConcreteProps = PropsT; + public using ConcreteState = facebook::react::ConcreteState; + public using ConcreteStateData = StateDataT; + public using SharedConcreteEventEmitter = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteShadowNode = std::shared_ptr; + public using UnsharedConcreteProps = std::shared_ptr; + public void setStateData(facebook::react::ConcreteShadowNode::ConcreteStateData&& data); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +template +struct facebook::react::TemplateStringLiteral { + public constexpr TemplateStringLiteral(const char(&str)[N]); + public constexpr operator std::string_view() const; + public std::array value; +} + +template +class facebook::react::RCTIdentifierPool { + public int dequeue(); + public void enqueue(int index); + public void reset(); +} + +template +struct facebook::react::CSSDataTypeParser { +} + +template +class facebook::react::ConcreteState : public facebook::react::State { + public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); + public ConcreteState(facebook::react::ConcreteState::SharedData data, facebook::react::ShadowNodeFamily::Weak family); + public const facebook::react::ConcreteState::Data& getData() const; + public using Data = DataT; + public using Shared = std::shared_ptr; + public using SharedData = std::shared_ptr; + public void updateState(facebook::react::ConcreteState::Data&& newData, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void updateState(std::function callback, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public ~ConcreteState() override = default; +} + +template +class facebook::react::SyncCallback { +} + +template +class facebook::react::SimpleThreadSafeCache { + public SimpleThreadSafeCache(); + public SimpleThreadSafeCache(unsigned long size); + public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; + public std::optional get(const KeyT& key) const; + public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; +} + +template +class facebook::react::OnScopeExit { + public OnScopeExit(const Lambda&& lambda) noexcept; + public OnScopeExit(const facebook::react::OnScopeExit&) = delete; + public OnScopeExit(facebook::react::OnScopeExit&&) = delete; + public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; + public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; + public ~OnScopeExit() noexcept; +} + +template +struct facebook::react::NativePerformanceRawPerformanceEntry { + public P0 name; + public P1 entryType; + public P2 startTime; + public P3 duration; + public P4 processingStart; + public P5 processingEnd; + public P6 interactionId; + public P7 fetchStart; + public P8 requestStart; + public P9 connectStart; + public P10 connectEnd; + public P11 responseStart; + public P12 responseEnd; + public P13 responseStatus; + public P14 contentType; + public P15 encodedBodySize; + public P16 decodedBodySize; + public bool operator==(const facebook::react::NativePerformanceRawPerformanceEntry& other) const; +} + +template +struct facebook::react::NativeAlertManagerArgs { + public P0 title; + public P1 message; + public P2 buttons; + public P3 type; + public P4 defaultValue; + public P5 cancelButtonKey; + public P6 destructiveButtonKey; + public P7 preferredButtonKey; + public P8 keyboardType; + public P9 userInterfaceStyle; + public bool operator==(const facebook::react::NativeAlertManagerArgs& other) const; +} + +template +struct facebook::react::NativePushNotificationManagerIOSNotification { + public P0 alertTitle; + public P1 alertBody; + public P2 userInfo; + public P3 category; + public P4 fireDate; + public P5 fireIntervalSeconds; + public P6 applicationIconBadgeNumber; + public P7 isSilent; + public P8 soundName; + public bool operator==(const facebook::react::NativePushNotificationManagerIOSNotification& other) const; +} + +template +struct facebook::react::NativeExceptionsManagerExceptionData { + public P0 message; + public P1 originalMessage; + public P2 name; + public P3 componentStack; + public P4 stack; + public P5 id; + public P6 isFatal; + public P7 extraData; + public bool operator==(const facebook::react::NativeExceptionsManagerExceptionData& other) const; +} + +template +struct facebook::react::NativePlatformConstantsIOSPlatformConstantsIOS { + public P0 isTesting; + public P1 isDisableAnimations; + public P2 reactNativeVersion; + public P3 forceTouchAvailable; + public P4 osVersion; + public P5 systemName; + public P6 interfaceIdiom; + public P7 isMacCatalyst; + public bool operator==(const facebook::react::NativePlatformConstantsIOSPlatformConstantsIOS& other) const; +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry { + public P0 intersectionObserverId; + public P1 targetInstanceHandle; + public P2 targetRect; + public P3 rootRect; + public P4 intersectionRect; + public P5 isIntersectingAboveThresholds; + public P6 time; + public bool operator==(const facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry& other) const; +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions { + public P0 intersectionObserverId; + public P1 rootShadowNode; + public P2 targetShadowNode; + public P3 thresholds; + public P4 rootThresholds; + public P5 rootMargin; + public bool operator==(const facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativeResizeObserverNativeResizeObserverEntry { + public P0 resizeObserverId; + public P1 targetInstanceHandle; + public P2 contentRect; + public P3 borderBoxSize; + public P4 contentBoxSize; + public P5 devicePixelContentBoxSize; + public bool operator==(const facebook::react::NativeResizeObserverNativeResizeObserverEntry& other) const; +} + +template +struct facebook::react::NativeExceptionsManagerStackFrame { + public P0 column; + public P1 file; + public P2 lineNumber; + public P3 methodName; + public P4 collapse; + public bool operator==(const facebook::react::NativeExceptionsManagerStackFrame& other) const; +} + +template +struct facebook::react::NativeImageEditorOptions { + public P0 offset; + public P1 size; + public P2 displaySize; + public P3 resizeMode; + public P4 allowExternalStorage; + public bool operator==(const facebook::react::NativeImageEditorOptions& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDimensionsPayload { + public P0 window; + public P1 screen; + public P2 windowPhysicalPixels; + public P3 screenPhysicalPixels; + public bool operator==(const facebook::react::NativeDeviceInfoDimensionsPayload& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetrics { + public P0 width; + public P1 height; + public P2 scale; + public P3 fontScale; + public bool operator==(const facebook::react::NativeDeviceInfoDisplayMetrics& other) const; +} + +template +struct facebook::react::NativeMutationObserverNativeMutationRecord { + public P0 mutationObserverId; + public P1 target; + public P2 addedNodes; + public P3 removedNodes; + public bool operator==(const facebook::react::NativeMutationObserverNativeMutationRecord& other) const; +} + +template +struct facebook::react::NativePerformancePerformanceObserverInit { + public P0 entryTypes; + public P1 type; + public P2 buffered; + public P3 durationThreshold; + public bool operator==(const facebook::react::NativePerformancePerformanceObserverInit& other) const; +} + +template +struct facebook::react::NativeAnimatedModuleEndResult { + public P0 finished; + public P1 value; + public P2 offset; + public bool operator==(const facebook::react::NativeAnimatedModuleEndResult& other) const; +} + +template +struct facebook::react::NativeAnimatedTurboModuleEndResult { + public P0 finished; + public P1 value; + public P2 offset; + public bool operator==(const facebook::react::NativeAnimatedTurboModuleEndResult& other) const; +} + +template +struct facebook::react::NativeDeviceInfoDeviceInfoConstants { + public P0 Dimensions; + public P1 isEdgeToEdge; + public P2 isIPhoneX_deprecated; + public bool operator==(const facebook::react::NativeDeviceInfoDeviceInfoConstants& other) const; +} + +template +struct facebook::react::NativeI18nManagerI18nManagerConstants { + public P0 doLeftAndRightSwapInRTL; + public P1 isRTL; + public P2 localeIdentifier; + public bool operator==(const facebook::react::NativeI18nManagerI18nManagerConstants& other) const; +} + +template +struct facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions { + public P0 mutationObserverId; + public P1 targetShadowNode; + public P2 subtree; + public bool operator==(const facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativePushNotificationManagerIOSPermissions { + public P0 alert; + public P1 badge; + public P2 sound; + public bool operator==(const facebook::react::NativePushNotificationManagerIOSPermissions& other) const; +} + +template +struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions { + public P0 resizeObserverId; + public P1 targetShadowNode; + public P2 box; + public bool operator==(const facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions& other) const; +} + +template +struct facebook::react::NativeAnimatedModuleEventMapping { + public P0 nativeEventPath; + public P1 animatedValueTag; + public bool operator==(const facebook::react::NativeAnimatedModuleEventMapping& other) const; +} + +template +struct facebook::react::NativeAnimatedTurboModuleEventMapping { + public P0 nativeEventPath; + public P1 animatedValueTag; + public bool operator==(const facebook::react::NativeAnimatedTurboModuleEventMapping& other) const; +} + +template +struct facebook::react::NativeBlobModuleConstants { + public P0 BLOB_URI_SCHEME; + public P1 BLOB_URI_HOST; + public bool operator==(const facebook::react::NativeBlobModuleConstants& other) const; +} + +template +struct facebook::react::NativeIdleCallbacksIdleDeadline { + public P0 didTimeout; + public P1 timeRemaining; + public bool operator==(const facebook::react::NativeIdleCallbacksIdleDeadline& other) const; +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig { + public P0 shouldReloadAndProfile; + public P1 recordChangeDescriptions; + public bool operator==(const facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig& other) const; +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig { + public P0 shouldReloadAndProfile; + public P1 recordChangeDescriptions; + public bool operator==(const facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig& other) const; +} + +template +struct facebook::react::NativeAppStateAppState { + public P0 app_state; + public bool operator==(const facebook::react::NativeAppStateAppState& other) const; +} + +template +struct facebook::react::NativeAppStateAppStateConstants { + public P0 initialAppState; + public bool operator==(const facebook::react::NativeAppStateAppStateConstants& other) const; +} + +template +struct facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions { + public P0 timeout; + public bool operator==(const facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions& other) const; +} + +template +struct facebook::react::NativeSourceCodeSourceCodeConstants { + public P0 scriptURL; + public bool operator==(const facebook::react::NativeSourceCodeSourceCodeConstants& other) const; +} + +template +class facebook::react::SyncCallback { + public R call(Args... args) const; + public R operator()(Args... args) const; + public SyncCallback(const facebook::react::SyncCallback&) = delete; + public SyncCallback(facebook::jsi::Runtime& rt, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public SyncCallback(facebook::react::SyncCallback&& other) noexcept; + public facebook::react::SyncCallback& operator=(const facebook::react::SyncCallback&) = delete; + public facebook::react::SyncCallback& operator=(facebook::react::SyncCallback&& other) noexcept; + public ~SyncCallback(); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual facebook::react::ComponentName getComponentName() const override; +} + +template +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteState::Data; + public using SharedConcreteEventEmitter = typename ShadowNodeT::SharedConcreteEventEmitter; + public using SharedConcreteProps = typename ShadowNodeT::SharedConcreteProps; + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const override; + public virtual facebook::react::ShadowNodeTraits getTraits() const override; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const override; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; +} + +template +struct facebook::react::Bridging { +} + +template +class facebook::react::NativeAccessibilityInfoCxxSpec : public facebook::react::TurboModule { + protected NativeAccessibilityInfoCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAccessibilityManagerCxxSpec : public facebook::react::TurboModule { + protected NativeAccessibilityManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeActionSheetManagerCxxSpec : public facebook::react::TurboModule { + protected NativeActionSheetManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAlertManagerCxxSpec : public facebook::react::TurboModule { + protected NativeAlertManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAnimatedModuleCxxSpec : public facebook::react::TurboModule { + protected NativeAnimatedModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAnimatedTurboModuleCxxSpec : public facebook::react::TurboModule { + protected NativeAnimatedTurboModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAppStateCxxSpec : public facebook::react::TurboModule { + protected NativeAppStateCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeAppearanceCxxSpec : public facebook::react::TurboModule { + protected NativeAppearanceCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeBlobModuleCxxSpec : public facebook::react::TurboModule { + protected NativeBlobModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeCPUTimeCxxSpec : public facebook::react::TurboModule { + protected NativeCPUTimeCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeClipboardCxxSpec : public facebook::react::TurboModule { + protected NativeClipboardCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDOMCxxSpec : public facebook::react::TurboModule { + protected NativeDOMCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevLoadingViewCxxSpec : public facebook::react::TurboModule { + protected NativeDevLoadingViewCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevMenuCxxSpec : public facebook::react::TurboModule { + protected NativeDevMenuCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDevSettingsCxxSpec : public facebook::react::TurboModule { + protected NativeDevSettingsCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDeviceEventManagerCxxSpec : public facebook::react::TurboModule { + protected NativeDeviceEventManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeDeviceInfoCxxSpec : public facebook::react::TurboModule { + protected NativeDeviceInfoCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeExceptionsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeExceptionsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFileReaderModuleCxxSpec : public facebook::react::TurboModule { + protected NativeFileReaderModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeFrameRateLoggerCxxSpec : public facebook::react::TurboModule { + protected NativeFrameRateLoggerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeHeadlessJsTaskSupportCxxSpec : public facebook::react::TurboModule { + protected NativeHeadlessJsTaskSupportCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeI18nManagerCxxSpec : public facebook::react::TurboModule { + protected NativeI18nManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIdleCallbacksCxxSpec : public facebook::react::TurboModule { + protected NativeIdleCallbacksCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageEditorCxxSpec : public facebook::react::TurboModule { + protected NativeImageEditorCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageLoaderIOSCxxSpec : public facebook::react::TurboModule { + protected NativeImageLoaderIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeImageStoreIOSCxxSpec : public facebook::react::TurboModule { + protected NativeImageStoreIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeIntersectionObserverCxxSpec : public facebook::react::TurboModule { + protected NativeIntersectionObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeJSCHeapCaptureCxxSpec : public facebook::react::TurboModule { + protected NativeJSCHeapCaptureCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeKeyboardObserverCxxSpec : public facebook::react::TurboModule { + protected NativeKeyboardObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeLinkingManagerCxxSpec : public facebook::react::TurboModule { + protected NativeLinkingManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeLogBoxCxxSpec : public facebook::react::TurboModule { + protected NativeLogBoxCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeMicrotasksCxxSpec : public facebook::react::TurboModule { + protected NativeMicrotasksCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeMutationObserverCxxSpec : public facebook::react::TurboModule { + protected NativeMutationObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeNetworkingIOSCxxSpec : public facebook::react::TurboModule { + protected NativeNetworkingIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePerformanceCxxSpec : public facebook::react::TurboModule { + protected NativePerformanceCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePlatformConstantsIOSCxxSpec : public facebook::react::TurboModule { + protected NativePlatformConstantsIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativePushNotificationManagerIOSCxxSpec : public facebook::react::TurboModule { + protected NativePushNotificationManagerIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec : public facebook::react::TurboModule { + protected NativeReactDevToolsRuntimeSettingsModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeReactDevToolsSettingsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeReactDevToolsSettingsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeRedBoxCxxSpec : public facebook::react::TurboModule { + protected NativeRedBoxCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeResizeObserverCxxSpec : public facebook::react::TurboModule { + protected NativeResizeObserverCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSegmentFetcherCxxSpec : public facebook::react::TurboModule { + protected NativeSegmentFetcherCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSettingsManagerCxxSpec : public facebook::react::TurboModule { + protected NativeSettingsManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeShareModuleCxxSpec : public facebook::react::TurboModule { + protected NativeShareModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSoundManagerCxxSpec : public facebook::react::TurboModule { + protected NativeSoundManagerCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeSourceCodeCxxSpec : public facebook::react::TurboModule { + protected NativeSourceCodeCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeStatusBarManagerIOSCxxSpec : public facebook::react::TurboModule { + protected NativeStatusBarManagerIOSCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeTimingCxxSpec : public facebook::react::TurboModule { + protected NativeTimingCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeVibrationCxxSpec : public facebook::react::TurboModule { + protected NativeVibrationCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeViewTransitionCxxSpec : public facebook::react::TurboModule { + protected NativeViewTransitionCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +class facebook::react::NativeWebSocketModuleCxxSpec : public facebook::react::TurboModule { + protected NativeWebSocketModuleCxxSpec(std::shared_ptr jsInvoker); + public static constexpr std::string_view kModuleName; +} + +template +struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { + public AnimatedProp() = default; + public AnimatedProp(facebook::react::PropName propName, const T& value); + public T value; +} + +template +struct facebook::react::CascadedRectangleCorners { + public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; + public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleCorners::OptionalT all; + public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; + public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; + public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; + public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; + public facebook::react::CascadedRectangleCorners::OptionalT endEnd; + public facebook::react::CascadedRectangleCorners::OptionalT endStart; + public facebook::react::CascadedRectangleCorners::OptionalT startEnd; + public facebook::react::CascadedRectangleCorners::OptionalT startStart; + public facebook::react::CascadedRectangleCorners::OptionalT topEnd; + public facebook::react::CascadedRectangleCorners::OptionalT topLeft; + public facebook::react::CascadedRectangleCorners::OptionalT topRight; + public facebook::react::CascadedRectangleCorners::OptionalT topStart; + public using Counterpart = facebook::react::RectangleCorners; + public using OptionalT = std::optional; +} + +template +struct facebook::react::CascadedRectangleEdges { + public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; + public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleEdges::OptionalT all; + public facebook::react::CascadedRectangleEdges::OptionalT block; + public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; + public facebook::react::CascadedRectangleEdges::OptionalT blockStart; + public facebook::react::CascadedRectangleEdges::OptionalT bottom; + public facebook::react::CascadedRectangleEdges::OptionalT end; + public facebook::react::CascadedRectangleEdges::OptionalT horizontal; + public facebook::react::CascadedRectangleEdges::OptionalT left; + public facebook::react::CascadedRectangleEdges::OptionalT right; + public facebook::react::CascadedRectangleEdges::OptionalT start; + public facebook::react::CascadedRectangleEdges::OptionalT top; + public facebook::react::CascadedRectangleEdges::OptionalT vertical; + public using Counterpart = facebook::react::RectangleEdges; + public using OptionalT = std::optional; +} + +template +struct facebook::react::NativeAlertManagerArgsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedModuleEndResultBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedModuleEventMappingBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedTurboModuleEndResultBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAnimatedTurboModuleEventMappingBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAppStateAppStateBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeAppStateAppStateConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeBlobModuleConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDeviceInfoConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDimensionsPayloadBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeDeviceInfoDisplayMetricsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeExceptionsManagerExceptionDataBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeExceptionsManagerStackFrameBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeI18nManagerI18nManagerConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIdleCallbacksIdleDeadlineBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeImageEditorOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeMutationObserverNativeMutationRecordBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePerformancePerformanceObserverInitBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePerformanceRawPerformanceEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePlatformConstantsIOSPlatformConstantsIOSBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePushNotificationManagerIOSNotificationBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativePushNotificationManagerIOSPermissionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeResizeObserverNativeResizeObserverEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; +} + +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; +} + +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; +} + +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; +} + +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; +} + +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); +} + +template +class facebook::react::EventListenerContainerT { + public bool willDispatchEvent(TArgs... args); + public void addListener(std::shared_ptr> listener); + public void removeListener(const std::shared_ptr>& listener); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); +} + +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { +} + +struct facebook::react::Bridging { + public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); +} + +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); +} + +struct facebook::react::Bridging : public facebook::react::NativeAnimatedTurboModuleEndResultBridging { +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSDataTypeParser> { + public static std::optional> consume(facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); +} + +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); +} + +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); + + +constexpr bool facebook::react::detail::isHexDigit(char c); +constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); +constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); +constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); +constexpr uint8_t facebook::react::detail::clamp255Component(float f); +constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); +constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); +float facebook::react::detail::normalizeHue(float hue); +std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); +std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); +std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); +template +constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); +template +C facebook::react::detail::memberFunctionClass(T C::*); +template +constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); + +class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { + public OwnedBytesBuffer(std::vector bytes) noexcept; + public virtual size_t size() const override; + public virtual uint8_t* data() override; +} + +enum facebook::react::detail::HexColorType { + Long, + Short, +} + +template +struct facebook::react::detail::merge_data_types { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types { +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = typename T::PreparedTextLayout; +} + +template +struct facebook::react::detail::CSSVariantComponentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSAngleTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSFilterSimpleAmountParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSNumberPercentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = std::nullptr_t; +} + +template +struct facebook::react::detail::is_variant_of_data_types : public std::false_type { +} + +template +class facebook::react::detail::TextLayoutManagerExtended { + public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); + public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public static constexpr bool supportsLineMeasurement(); + public static constexpr bool supportsPreparedTextLayout(); + public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; +} + +template +struct facebook::react::detail::merge_variant { +} + +template +struct facebook::react::detail::merge_data_types, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_variant, RestT...> { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types> { + public using type = std::variant; +} + +template +struct facebook::react::detail::is_variant_of_data_types> : public std::true_type { +} + +template +struct facebook::react::detail::merge_data_types, std::variant, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + + +constexpr std::string_view facebook::react::detail::css::keywords::Absolute; +constexpr std::string_view facebook::react::detail::css::keywords::At; +constexpr std::string_view facebook::react::detail::css::keywords::Auto; +constexpr std::string_view facebook::react::detail::css::keywords::Baseline; +constexpr std::string_view facebook::react::detail::css::keywords::Block; +constexpr std::string_view facebook::react::detail::css::keywords::Bottom; +constexpr std::string_view facebook::react::detail::css::keywords::Center; +constexpr std::string_view facebook::react::detail::css::keywords::Clip; +constexpr std::string_view facebook::react::detail::css::keywords::Column; +constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; +constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Content; +constexpr std::string_view facebook::react::detail::css::keywords::Contents; +constexpr std::string_view facebook::react::detail::css::keywords::Contextual; +constexpr std::string_view facebook::react::detail::css::keywords::Dashed; +constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Dotted; +constexpr std::string_view facebook::react::detail::css::keywords::Double; +constexpr std::string_view facebook::react::detail::css::keywords::End; +constexpr std::string_view facebook::react::detail::css::keywords::Fixed; +constexpr std::string_view facebook::react::detail::css::keywords::Flex; +constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; +constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; +constexpr std::string_view facebook::react::detail::css::keywords::Grid; +constexpr std::string_view facebook::react::detail::css::keywords::Groove; +constexpr std::string_view facebook::react::detail::css::keywords::Hidden; +constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Inherit; +constexpr std::string_view facebook::react::detail::css::keywords::Initial; +constexpr std::string_view facebook::react::detail::css::keywords::Inline; +constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; +constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; +constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; +constexpr std::string_view facebook::react::detail::css::keywords::Inset; +constexpr std::string_view facebook::react::detail::css::keywords::Left; +constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; +constexpr std::string_view facebook::react::detail::css::keywords::Ltr; +constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; +constexpr std::string_view facebook::react::detail::css::keywords::Medium; +constexpr std::string_view facebook::react::detail::css::keywords::MinContent; +constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; +constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; +constexpr std::string_view facebook::react::detail::css::keywords::None; +constexpr std::string_view facebook::react::detail::css::keywords::Normal; +constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; +constexpr std::string_view facebook::react::detail::css::keywords::Outset; +constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; +constexpr std::string_view facebook::react::detail::css::keywords::Relative; +constexpr std::string_view facebook::react::detail::css::keywords::Ridge; +constexpr std::string_view facebook::react::detail::css::keywords::Right; +constexpr std::string_view facebook::react::detail::css::keywords::Row; +constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; +constexpr std::string_view facebook::react::detail::css::keywords::Rtl; +constexpr std::string_view facebook::react::detail::css::keywords::Scroll; +constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; +constexpr std::string_view facebook::react::detail::css::keywords::Solid; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; +constexpr std::string_view facebook::react::detail::css::keywords::Start; +constexpr std::string_view facebook::react::detail::css::keywords::Static; +constexpr std::string_view facebook::react::detail::css::keywords::Sticky; +constexpr std::string_view facebook::react::detail::css::keywords::Stretch; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; +constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; +constexpr std::string_view facebook::react::detail::css::keywords::Thick; +constexpr std::string_view facebook::react::detail::css::keywords::Thin; +constexpr std::string_view facebook::react::detail::css::keywords::To; +constexpr std::string_view facebook::react::detail::css::keywords::Top; +constexpr std::string_view facebook::react::detail::css::keywords::Unset; +constexpr std::string_view facebook::react::detail::css::keywords::Visible; +constexpr std::string_view facebook::react::detail::css::keywords::Wrap; +constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; +template +concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); +template +concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); +template +concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); +template +concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); +template +concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); +template +concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); +template +concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); +template +concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); +template +concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); +template +concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); +template +concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); +template +concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); +template +concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); +template +concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); +template +concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); +template +concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); +template +concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); +template +concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); +template +concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); +template +concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); +template +concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); +template +concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); +template +concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); +template +concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); +template +concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); +template +concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); +template +concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); +template +concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); +template +concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); +template +concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); +template +concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); +template +concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); +template +concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); +template +concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); +template +concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); +template +concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); +template +concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); +template +concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); +template +concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); +template +concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); +template +concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); +template +concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); +template +concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); +template +concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); +template +concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); +template +concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); +template +concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); +template +concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); +template +concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); +template +concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); +template +concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); +template +concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); +template +concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); +template +concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); +template +concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); +template +concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); +template +concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); +template +concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); +template +concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); +template +concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); +template +concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); +template +concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); +template +concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); +template +concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); +template +concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); +template +concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); +template +concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); +template +concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); +template +concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); + + +facebook::jsi::Value facebook::react::TurboModuleConvertUtils::convertObjCObjectToJSIValue(facebook::jsi::Runtime& runtime, id value); +id facebook::react::TurboModuleConvertUtils::convertJSIValueToObjCObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker, BOOL useNSNull = NO, BOOL mustCopyBytes = YES); + + +static const facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; + + +static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; + + +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_jsi_v; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v>>; +template +constexpr bool facebook::react::bridging::is_optional_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsFromJs; +template +constexpr bool facebook::react::bridging::supportsToJs; +template +using facebook::react::bridging::bridging_t = typename facebook::react::bridging::detail::bridging_wrapper::type; +template +using facebook::react::bridging::remove_cvref_t = std::remove_cv_t>; +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(Class::*)(ArgsT...)); +template +JSReturnT facebook::react::bridging::callFromJs(facebook::jsi::Runtime& rt, ReturnT(ClassT::*method)(facebook::jsi::Runtime&, ArgsT...), const std::shared_ptr& jsInvoker, ClassT* instance, JSArgsT &&... args); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)), jsInvoker)) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr& jsInvoker); +template +decltype(static_cast(std::move(facebook::react::bridging::convert(rt, std::forward(value))))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(*)(ArgsT...)); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, T&& value); +template ||std::is_scalar_v, int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, std::optional value); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, T&& value); +template +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, facebook::react::bridging::Converter&& converter); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value))) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value), jsInvoker)) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& jsInvoker); +template +facebook::react::bridging::remove_cvref_t facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); + +template +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { +} + +template +struct facebook::react::bridging::ConverterBase { + protected T value_; + protected facebook::jsi::Runtime& rt_; + public ConverterBase(facebook::jsi::Runtime& rt, T&& value); + public operator facebook::react::bridging::ConverterBase::BaseT(); + public using BaseT = facebook::react::bridging::remove_cvref_t; + template && std::is_same_v, int> = 0> + public operator U() = delete; + template && std::is_convertible_v, U>, int> = 0> + public operator U(); +} + +template +struct facebook::react::bridging::is_optional : public std::false_type { +} + +template +struct facebook::react::bridging::Converter> : public facebook::react::bridging::ConverterBase { + public Converter(facebook::jsi::Runtime& rt, std::optional value); + public operator std::optional(); +} + +template +struct facebook::react::bridging::is_optional> : public std::true_type { +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::ArrayBuffer(); + public operator facebook::jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::ArrayBuffer(); + public operator facebook::jsi::Function(); + public operator facebook::jsi::Object(); + public operator facebook::jsi::String(); +} + + +template +struct facebook::react::bridging::detail::function_wrapper { +} + +template +struct facebook::react::bridging::detail::bridging_wrapper { + public using type = facebook::react::bridging::remove_cvref_t; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::bridging_wrapper::operator())>> : public facebook::react::bridging::detail::function_wrapper::operator())> { + public using type = facebook::react::bridging::remove_cvref_t; +} + + +template +using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; +typedef std::function facebook::react::jsinspector_modern::FrontendChannel; +using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; +using facebook::react::jsinspector_modern::IOReadError = const std::string; +using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; +using facebook::react::jsinspector_modern::StreamID = const std::string; +using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; +bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); +facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); +folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); +folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); +std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); +template +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); +template +facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); +void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); +void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); +void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); +void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); + +class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { + public CallbackLocalConnection(std::function handler); + public virtual void disconnect() override; + public virtual void sendMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public CallbackRemoteConnection(std::function handler); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::ConsoleTask { + public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; + public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; + public ConsoleTask(std::shared_ptr taskContext); + public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; + public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; + public ~ConsoleTask(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { + public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); + public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskId id() const; + public std::optional getSerializedStackTrace() const; + public void schedule(); + public ~ConsoleTaskContext(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskId { + public ConsoleTaskId() = default; + public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public operator bool() const; + public operator void *() const; + public ~ConsoleTaskId() = default; +} + +class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { + public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); + public std::shared_ptr top() const; + public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); + public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public ~ConsoleTaskOrchestrator() = default; +} + +class facebook::react::jsinspector_modern::EmulationAgent { + public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); +} + +class facebook::react::jsinspector_modern::ExecutionContextManager { + public int32_t allocateExecutionContextId(); +} + +class facebook::react::jsinspector_modern::ExecutionContextSelector { + public ExecutionContextSelector() = delete; + public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; + public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); + public ~ExecutionContextSelector() = default; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public FallbackRuntimeTargetDelegate(std::string engineDescription); + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; +} + +class facebook::react::jsinspector_modern::HostAgent { + public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); + public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public bool isEligibleForBackgroundTrace() const; + public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public void emitSystemStateChanged(bool isSingleHost); + public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void setCurrentInstanceAgent(std::shared_ptr agent); + public ~HostAgent(); +} + +class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public bool stopAndMaybeEmitBackgroundTrace(); + public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public std::unique_ptr connect(std::unique_ptr connectionToFrontend); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); + public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); + public ~HostTarget(); +} + +class facebook::react::jsinspector_modern::HostTargetController { + public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); + public bool decrementPauseOverlayCounter(); + public bool hasInstance() const; + public bool maybeEmitStashedBackgroundTrace(); + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public void incrementPauseOverlayCounter(); +} + +class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public HostTargetDelegate() = default; + public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&); + public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; + public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); + public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&); + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; + public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; + public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; + public virtual ~HostTargetDelegate() override; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; + public std::optional message; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest { + public std::optional quality; + public std::optional format; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; + public std::optional ignoreCache; + public std::optional scriptToEvaluateOnLoad; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest& rhs) const; + public std::string colorScheme; +} + +class facebook::react::jsinspector_modern::HostTargetTraceRecording { + public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public bool isBackgroundInitiated() const; + public bool isUserInitiated() const; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); + public void start(); +} + +class facebook::react::jsinspector_modern::HostTargetTracingDelegate { + public HostTargetTracingDelegate() = default; + public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); + public virtual void onTracingStopped(); + public virtual ~HostTargetTracingDelegate() = default; +} + +class facebook::react::jsinspector_modern::HostTracingAgent { + public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); +} + +class facebook::react::jsinspector_modern::IDestructible { + public virtual ~IDestructible() = 0; +} + +class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { + public using ConnectFunc = std::function(std::unique_ptr)>; + public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; + public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; + public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; + public virtual std::vector getPages() const = 0; + public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; + public virtual void removePage(int pageId) = 0; + public virtual ~IInspector() = 0; +} + +class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void disconnect() = 0; + public virtual void sendMessage(std::string message) = 0; + public virtual ~ILocalConnection() = 0; +} + +class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onPageRemoved(int); + public virtual ~IPageStatusListener() = 0; +} + +class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onDisconnect() = 0; + public virtual void onMessage(std::string message) = 0; + public virtual ~IRemoteConnection() = 0; +} + +class facebook::react::jsinspector_modern::IWebSocket { + public virtual void send(std::string_view message) = 0; + public virtual ~IWebSocket() = default; +} + +class facebook::react::jsinspector_modern::IWebSocketDelegate { + public virtual void didClose() = 0; + public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; + public virtual void didOpen() = 0; + public virtual void didReceiveMessage(std::string_view message) = 0; + public virtual ~IWebSocketDelegate() = default; +} + +class facebook::react::jsinspector_modern::InspectorFlags { + public InspectorFlags(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; + public bool getAssertSingleHostState() const; + public bool getFrameRecordingEnabled() const; + public bool getFuseboxEnabled() const; + public bool getIsProfilingBuild() const; + public bool getPerfIssuesEnabled() const; + public bool getScreenshotCaptureEnabled() const; + public facebook::react::jsinspector_modern::InspectorFlags& operator=(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; + public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); + public void dangerouslyDisableFuseboxForTest(); + public void dangerouslyResetFlags(); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection { + public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public bool isConnected() const; + public void closeQuietly(); + public void connect(); + public void sendEventToAllConnections(std::string event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { + public bool isConnected() const; + public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public using SessionId = uint32_t; + public void closeQuietly(); + public void connect(); + public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); + public void sendEventToAllConnections(const std::string& event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { + public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; + public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; + public virtual ~InspectorPackagerConnectionDelegate() = default; +} + +class facebook::react::jsinspector_modern::InstanceAgent { + public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); +} + +class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); + public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); + public ~InstanceTarget(); +} + +class facebook::react::jsinspector_modern::InstanceTargetDelegate { + public InstanceTargetDelegate() = default; + public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public virtual ~InstanceTargetDelegate(); +} + +class facebook::react::jsinspector_modern::InstanceTracingAgent { + public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); + public ~InstanceTracingAgent(); +} + +class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public LoadNetworkResourceDelegate() = default; + public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; + public virtual ~LoadNetworkResourceDelegate() = default; +} + +class facebook::react::jsinspector_modern::NetworkIOAgent { + public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); + public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public ~NetworkIOAgent(); +} + +class facebook::react::jsinspector_modern::NetworkRequestListener { + public NetworkRequestListener() = default; + public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public virtual void onCompletion() = 0; + public virtual void onData(std::string_view data) = 0; + public virtual void onError(const std::string& message) = 0; + public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; + public virtual void setCancelFunction(std::function cancelFunction) = 0; + public virtual ~NetworkRequestListener() = default; +} + +class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { + public NotImplementedException(std::string message); + public const char* what() const noexcept override; +} + +class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { +} + +class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { + public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); + public void handlePerfIssueAdded(const std::string& message); +} + +class facebook::react::jsinspector_modern::RAIIRemoteConnection { + public RAIIRemoteConnection(std::unique_ptr remote); + public void onMessage(std::string message); + public ~RAIIRemoteConnection(); +} + +class facebook::react::jsinspector_modern::RuntimeAgent { + public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); + public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); + public void notifyFastRefreshComplete(); + public ~RuntimeAgent(); +} + +struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { + public std::unique_ptr delegateState; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; + public virtual std::unique_ptr getExportedState(); + public virtual ~RuntimeAgentDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { + public virtual ~ExportedState() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public ~RuntimeTarget(); +} + +class facebook::react::jsinspector_modern::RuntimeTargetController { + public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); + public void disableSamplingProfiler(); + public void emitTracingStateChange(bool isTracing); + public void enableSamplingProfiler(); + public void installBindingHandler(const std::string& bindingName); + public void installScriptToEvaluateOnNewDocument(const std::string& source); + public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); +} + +enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { + Log, + Network, + Runtime, + kMaxValue, +} + +class facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public virtual bool supportsConsole() const = 0; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; + public virtual void disableSamplingProfiler() = 0; + public virtual void enableSamplingProfiler() = 0; + public virtual ~RuntimeTargetDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); + public ~RuntimeTracingAgent(); +} + +class facebook::react::jsinspector_modern::StackTrace { + public StackTrace() = default; + public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public static std::unique_ptr empty(); + public virtual ~StackTrace() = default; +} + +class facebook::react::jsinspector_modern::TracingAgent { + public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public ~TracingAgent(); +} + +enum facebook::react::jsinspector_modern::ConsoleAPIType { + kAssert, + kClear, + kCount, + kDebug, + kDir, + kDirXML, + kEndGroup, + kError, + kInfo, + kLog, + kStartGroup, + kStartGroupCollapsed, + kTable, + kTimeEnd, + kTrace, + kWarning, +} + +enum facebook::react::jsinspector_modern::HostCommand { + DebuggerResume, + DebuggerStepOver, +} + +struct facebook::react::jsinspector_modern::ConsoleMessage { + public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); + public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public std::unique_ptr stackTrace; + public std::vector args; + public ~ConsoleMessage() = default; +} + +struct facebook::react::jsinspector_modern::ExecutionContextDescription { + public int32_t id; + public std::optional uniqueId; + public std::string name; + public std::string origin; +} + +struct facebook::react::jsinspector_modern::GetResponseBodyResult { + public bool base64Encoded; + public folly::dynamic toDynamic() const; + public std::string body; +} + +struct facebook::react::jsinspector_modern::HostTargetMetadata { + public std::optional appDisplayName; + public std::optional appIdentifier; + public std::optional deviceName; + public std::optional integrationName; + public std::optional platform; + public std::optional reactNativeVersion; +} + +struct facebook::react::jsinspector_modern::IOReadResult { + public bool base64Encoded; + public bool eof; + public folly::dynamic toDynamic() const; + public std::string data; +} + +struct facebook::react::jsinspector_modern::InspectorPageDescription { + public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; + public const int id; + public const std::string description; + public const std::string vm; +} + +struct facebook::react::jsinspector_modern::InspectorSystemState { + public int registeredHostsCount; +} + +struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { + public bool nativePageReloads; + public bool nativeSourceCodeFetching; +} + +struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { + public std::string url; +} + +struct facebook::react::jsinspector_modern::NetworkResource { + public bool success; + public folly::dynamic toDynamic() const; + public std::optional headers; + public std::optional netErrorName; + public std::optional stream; + public std::optional httpStatusCode; +} + +struct facebook::react::jsinspector_modern::PerfIssuePayload { + public std::optional description; + public std::optional learnMoreUrl; + public std::optional severity; + public std::string name; +} + +struct facebook::react::jsinspector_modern::ReadStreamParams { + public facebook::react::jsinspector_modern::StreamID handle; + public std::optional offset; + public std::optional size; +} + +struct facebook::react::jsinspector_modern::SessionState { + public bool hasPendingTraceRecording; + public bool isDebuggerDomainEnabled; + public bool isLogDomainEnabled; + public bool isNetworkDomainEnabled; + public bool isReactNativeApplicationDomainEnabled; + public bool isRuntimeDomainEnabled; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; + public std::unordered_map subscribedBindings; + public std::vector scriptsToEvaluateOnNewDocument; + public std::vector pendingSimpleConsoleMessages; + public unsigned int nextScriptToEvaluateOnNewDocumentId; +} + +struct facebook::react::jsinspector_modern::SessionState::ScriptToEvaluateOnNewDocument { + public std::string identifier; + public std::string source; +} + +struct facebook::react::jsinspector_modern::SimpleConsoleMessage { + public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public std::vector args; + public ~SimpleConsoleMessage() = default; +} + +template +class facebook::react::jsinspector_modern::EnumArray { + public constexpr ValueType& operator[](IndexType i); + public constexpr const ValueType& operator[](IndexType i) const; + public constexpr int size() const; +} + +template +struct facebook::react::jsinspector_modern::UniqueMonostate { + public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + +template +class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { + public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); + public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); + template + public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +} + +template +class facebook::react::jsinspector_modern::WeakList { + public bool empty() const; + public size_t size() const; + public void insert(std::weak_ptr ptr); + template + public bool anyOf(Fn&& fn) const; + template + public bool anyOf(Fn&& fn); + template + public void forEach(Fn&& fn) const; + template + public void forEach(Fn&& fn); +} + + +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; +using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; +using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; +using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; +using facebook::react::jsinspector_modern::tracing::Headers = std::map; +using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; +using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; +using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; +int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); +std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); +std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); +std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); +std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); +uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); + +class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { + public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); + public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); + public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); +} + +class facebook::react::jsinspector_modern::tracing::PerformanceTracer { + public bool isTracing() const; + public bool startTracing(); + public bool startTracing(facebook::react::HighResDuration maxDuration); + public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); + public std::optional> stopTracing(); + public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); + public using TracingStateCallback = std::function; + public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); + public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); + public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); + public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); + public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); + public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); + public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); + public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); +} + +class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { + public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); + public bool hasParent() const; + public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; + public static constexpr uint32_t NO_PARENT; + public uint32_t getId() const; + public uint32_t getParentId() const; +} + +enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { + JavaScript, + Other, +} + +class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public virtual ~RawRuntimeProfile() = default; +} + +class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { + public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); + public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); +} + +class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; + public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public bool isRunningInBackgroundMode(); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { + public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); + public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { + public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); + public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); + public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); + public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); + public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); + public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); + public static size_t estimateJsonSize(const folly::dynamic& value); +} + +enum facebook::react::jsinspector_modern::tracing::Category { + Frame, + HiddenTimeline, + JavaScriptSampling, + RuntimeExecution, + Screenshot, + Timeline, + UserTiming, +} + +enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { + Error, + Primary, + PrimaryDark, + PrimaryLight, + Secondary, + SecondaryDark, + SecondaryLight, + Tertiary, + TertiaryDark, + TertiaryLight, + Warning, +} + +enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { + Microtasks, + Task, +} + +enum facebook::react::jsinspector_modern::tracing::Mode { + Background, + CDP, +} + +struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { + public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public ~EventLoopReporter(); +} + +struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { + public FrameTimingSequence() = delete; + public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); + public facebook::react::HighResDuration vsyncInterval; + public facebook::react::HighResTimeStamp beginTimestamp; + public facebook::react::HighResTimeStamp endTimestamp; + public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::optional> screenshot; +} + +struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { + public HostTracingProfile() = default; + public HostTracingProfile(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; + public HostTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; + public facebook::react::HighResTimeStamp startTime; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public std::vector frameTimings; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; + public ~HostTracingProfile() = default; +} + +struct facebook::react::jsinspector_modern::tracing::IdGenerator { + public uint32_t getNext(); +} + +struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { + public std::vector performanceTraceEvents; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { + public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public std::string runtimeName; + public std::unique_ptr rawRuntimeProfile; + public std::vector samples; + public ~RuntimeSamplingProfile() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { + public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::vector callStack; + public uint64_t timestamp; + public ~Sample() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { + public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; + public std::optional scriptURL; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string_view functionName; + public uint32_t scriptId; +} + +enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { + GarbageCollector, + HostFunction, + JSFunction, + NativeFunction, +} + +struct facebook::react::jsinspector_modern::tracing::TraceEvent { + public char ph; + public facebook::react::HighResTimeStamp ts; + public facebook::react::jsinspector_modern::tracing::Categories cat; + public facebook::react::jsinspector_modern::tracing::ProcessId pid; + public facebook::react::jsinspector_modern::tracing::ThreadId tid; + public folly::dynamic args; + public std::optional s; + public std::optional dur; + public std::optional id; + public std::string name; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; + public using TimeDeltas = std::vector; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { + public std::vector nodes; + public std::vector samples; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; + public std::optional parentId; + public uint32_t id; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { + public std::optional url; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string codeType; + public std::string functionName; + public uint32_t scriptId; +} + +struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { + public TraceRecordingState(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; + public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public TraceRecordingState(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; + public facebook::react::jsinspector_modern::tracing::Mode mode; + public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; + public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; + public std::optional windowSize; + public std::set enabledCategories; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; + public ~TraceRecordingState() = default; +} + +template +class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { + public TimeWindowedBuffer(); + public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); + public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); + public using TimestampAccessor = std::function; + public void clear(); + public void push(T&& element); + public void push(const T& element); +} + +template +class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { + public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; + public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public ~PerformanceTracerSection() noexcept; +} + + +using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; +using facebook::react::jsinspector_modern::cdp::RequestId = long long; +using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; +facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); +std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); + +enum facebook::react::jsinspector_modern::cdp::ErrorCode { + InternalError, + InvalidParams, + InvalidRequest, + MethodNotFound, + ParseError, +} + +struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { + public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; + public facebook::react::jsinspector_modern::cdp::RequestId id; + public folly::dynamic params; + public std::string method; + public std::string toJson() const; +} + + +template +struct facebook::react::array_detail::BridgingStatic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::array_detail::BridgingDynamic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& list, const std::shared_ptr& jsInvoker); +} + + +template +struct facebook::react::map_detail::Bridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& map, const std::shared_ptr& jsInvoker); +} + + +using facebook::react::ReactMarker::LogTaggedMarker = std::function; +using facebook::react::ReactMarker::LogTaggedMarkerBridgeless = facebook::react::ReactMarker::LogTaggedMarker; +void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); +void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +facebook::react::ReactMarker::AtomicLogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; + +class facebook::react::ReactMarker::StartupLogger { + public double getAppStartupEndTime(); + public double getAppStartupStartTime(); + public double getInitReactRuntimeStartTime(); + public double getRunJSBundleStartTime(); + public static facebook::react::ReactMarker::StartupLogger& getInstance(); + public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); + public void reset(); +} + +enum facebook::react::ReactMarker::ReactMarkerId { + APP_STARTUP_START, + APP_STARTUP_STOP, + CREATE_REACT_CONTEXT_STOP, + INIT_REACT_RUNTIME_START, + INIT_REACT_RUNTIME_STOP, + JS_BUNDLE_STRING_CONVERT_START, + JS_BUNDLE_STRING_CONVERT_STOP, + NATIVE_MODULE_SETUP_START, + NATIVE_MODULE_SETUP_STOP, + NATIVE_REQUIRE_START, + NATIVE_REQUIRE_STOP, + REACT_INSTANCE_INIT_START, + REACT_INSTANCE_INIT_STOP, + REGISTER_JS_SEGMENT_START, + REGISTER_JS_SEGMENT_STOP, + RUN_JS_BUNDLE_START, + RUN_JS_BUNDLE_STOP, +} + +struct facebook::react::ReactMarker::AtomicLogTaggedMarker { + public facebook::react::ReactMarker::AtomicLogTaggedMarker& operator=(facebook::react::ReactMarker::LogTaggedMarker marker); + public operator bool() const noexcept; + public void operator()(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag) const; +} + +struct facebook::react::ReactMarker::ReactMarkerEvent { + public const char* tag; + public const facebook::react::ReactMarker::ReactMarkerId markerId; + public double time; +} + + +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); +void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +void facebook::react::LowPriorityExecutor::execute(std::function&& workItem); + + +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::TurboModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::disableLogging(); +void facebook::react::TurboModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::TurboModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +std::unique_ptr facebook::jsc::makeJSCRuntime(); + + +using facebook::jsi::HostFunctionType = std::function; +facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); +folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); +template +U* facebook::jsi::castInterface(T* ptr); +template +std::shared_ptr facebook::jsi::dynamicInterfaceCast(T&& ptr); + +class facebook::jsi::Array : public facebook::jsi::Object { + public Array(facebook::jsi::Array&&) = default; + public Array(facebook::jsi::IRuntime& runtime, size_t length); + public facebook::jsi::Array& operator=(facebook::jsi::Array&&) = default; + public facebook::jsi::Value getValueAtIndex(facebook::jsi::IRuntime& runtime, size_t i) const; + public size_t length(facebook::jsi::IRuntime& runtime) const; + public size_t push(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value* elements, size_t count); + public size_t push(facebook::jsi::IRuntime& runtime, std::initializer_list elements); + public size_t size(facebook::jsi::IRuntime& runtime) const; + public static facebook::jsi::Array createWithElements(facebook::jsi::IRuntime& runtime, std::initializer_list elements); + template + public void setValueAtIndex(facebook::jsi::IRuntime& runtime, size_t i, T&& value) const; + template + public size_t push(facebook::jsi::IRuntime& runtime, Args &&... args); + template + public static facebook::jsi::Array createWithElements(facebook::jsi::IRuntime& runtime, Args &&... args); +} + +class facebook::jsi::ArrayBuffer : public facebook::jsi::Object { + public ArrayBuffer(facebook::jsi::ArrayBuffer&&) = default; + public ArrayBuffer(facebook::jsi::IRuntime& runtime, std::shared_ptr buffer); + public bool detached(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::ArrayBuffer& operator=(facebook::jsi::ArrayBuffer&&) = default; + public size_t length(facebook::jsi::IRuntime& runtime) const; + public size_t size(facebook::jsi::IRuntime& runtime) const; + public std::shared_ptr tryGetMutableBuffer(facebook::jsi::IRuntime& runtime) const; + public uint8_t* data(facebook::jsi::IRuntime& runtime) const; +} + +class facebook::jsi::BigInt : public facebook::jsi::Pointer { + public BigInt(facebook::jsi::BigInt&& other) = default; + public BigInt(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public BigInt(facebook::jsi::Pointer&& other) noexcept; + public bool isInt64(facebook::jsi::IRuntime& runtime) const; + public bool isUint64(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::BigInt& operator=(facebook::jsi::BigInt&& other) = default; + public facebook::jsi::String toString(facebook::jsi::IRuntime& runtime, int radix = 10) const; + public int64_t asInt64(facebook::jsi::IRuntime& runtime) const; + public int64_t getInt64(facebook::jsi::IRuntime& runtime) const; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b); + public static facebook::jsi::BigInt fromInt64(facebook::jsi::IRuntime& runtime, int64_t value); + public static facebook::jsi::BigInt fromUint64(facebook::jsi::IRuntime& runtime, uint64_t value); + public uint64_t asUint64(facebook::jsi::IRuntime& runtime) const; + public uint64_t getUint64(facebook::jsi::IRuntime& runtime) const; +} + +class facebook::jsi::Buffer { + public virtual const uint8_t* data() const = 0; + public virtual size_t size() const = 0; + public virtual ~Buffer(); +} + +class facebook::jsi::DecoratedHostFunction { + public DecoratedHostFunction(facebook::jsi::Runtime& drt, facebook::jsi::HostFunctionType plainHF); + public facebook::jsi::Runtime& decoratedRuntime(); + public facebook::jsi::Value operator()(facebook::jsi::Runtime&, const facebook::jsi::Value& thisVal, const facebook::jsi::Value* args, size_t count); +} + +class facebook::jsi::DecoratedHostObject : public facebook::jsi::HostObject { + public DecoratedHostObject(facebook::jsi::Runtime& drt, std::shared_ptr plainHO); + public facebook::jsi::Runtime& decoratedRuntime(); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime&) override; + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; +} + +class facebook::jsi::FileBuffer : public facebook::jsi::Buffer { + public FileBuffer(const std::string& path); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; + public ~FileBuffer() override; +} + +class facebook::jsi::Function : public facebook::jsi::Object { + public Function(facebook::jsi::Function&&) = default; + public bool isHostFunction(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Function& operator=(facebook::jsi::Function&&) = default; + public facebook::jsi::HostFunctionType& getHostFunction(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Value call(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value call(facebook::jsi::IRuntime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::IRuntime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callWithThis(facebook::jsi::IRuntime& Runtime, const facebook::jsi::Object& jsThis, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callWithThis(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& jsThis, std::initializer_list args) const; + public static facebook::jsi::Function createFromHostFunction(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func); + template + public facebook::jsi::Value call(facebook::jsi::IRuntime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callAsConstructor(facebook::jsi::IRuntime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callWithThis(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& jsThis, Args &&... args) const; +} + +class facebook::jsi::HostObject { + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& rt); + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value); + public virtual ~HostObject(); +} + +class facebook::jsi::IRuntime : public facebook::jsi::ICast { + protected virtual ~IRuntime() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual ScopeState* pushScope() = 0; + public virtual bool bigintIsInt64(const facebook::jsi::BigInt&) = 0; + public virtual bool bigintIsUint64(const facebook::jsi::BigInt&) = 0; + public virtual bool compare(const facebook::jsi::PropNameID&, const facebook::jsi::PropNameID&) = 0; + public virtual bool detached(const facebook::jsi::ArrayBuffer&) = 0; + public virtual bool drainMicrotasks(int maxMicrotasksHint = -1) = 0; + public virtual bool hasNativeState(const facebook::jsi::Object&) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) = 0; + public virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) = 0; + public virtual bool isArray(const facebook::jsi::Object&) const = 0; + public virtual bool isArrayBuffer(const facebook::jsi::Object&) const = 0; + public virtual bool isFunction(const facebook::jsi::Object&) const = 0; + public virtual bool isHostFunction(const facebook::jsi::Function&) const = 0; + public virtual bool isHostObject(const facebook::jsi::Object&) const = 0; + public virtual bool isInspectable() = 0; + public virtual bool isTypedArray(const facebook::jsi::Object&) const = 0; + public virtual bool isUint8Array(const facebook::jsi::Object&) const = 0; + public virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const = 0; + public virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const = 0; + public virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const = 0; + public virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const = 0; + public virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& dataUUID) = 0; + public virtual facebook::jsi::Array createArray(size_t length) = 0; + public virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object&) = 0; + public virtual facebook::jsi::ArrayBuffer buffer(const facebook::jsi::TypedArray& typedArray) = 0; + public virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) = 0; + public virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t) = 0; + public virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t) = 0; + public virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) = 0; + public virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function&) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* cloneBigInt(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* cloneObject(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* clonePropNameID(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* cloneString(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* cloneSymbol(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::Instrumentation& instrumentation() = 0; + public virtual facebook::jsi::Object createObject() = 0; + public virtual facebook::jsi::Object createObject(std::shared_ptr ho) = 0; + public virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) = 0; + public virtual facebook::jsi::Object global() = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) = 0; + public virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt&, int) = 0; + public virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) = 0; + public virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) = 0; + public virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) = 0; + public virtual facebook::jsi::Uint8Array createUint8Array(const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length) = 0; + public virtual facebook::jsi::Uint8Array createUint8Array(size_t length) = 0; + public virtual facebook::jsi::Value call(const facebook::jsi::Function&, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) = 0; + public virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function&, const facebook::jsi::Value* args, size_t count) = 0; + public virtual facebook::jsi::Value createError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createEvalError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createRangeError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createReferenceError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createSyntaxError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createTypeError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createURIError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) = 0; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) = 0; + public virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) = 0; + public virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array&, size_t i) = 0; + public virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject&) = 0; + public virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object&) = 0; + public virtual size_t byteLength(const facebook::jsi::TypedArray& typedArray) = 0; + public virtual size_t byteOffset(const facebook::jsi::TypedArray& typedArray) = 0; + public virtual size_t length(const facebook::jsi::String& str) = 0; + public virtual size_t length(const facebook::jsi::TypedArray& typedArray) = 0; + public virtual size_t push(const facebook::jsi::Array&, const facebook::jsi::Value*, size_t) = 0; + public virtual size_t size(const facebook::jsi::Array&) = 0; + public virtual size_t size(const facebook::jsi::ArrayBuffer&) = 0; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) = 0; + public virtual std::shared_ptr getHostObject(const facebook::jsi::Object&) = 0; + public virtual std::shared_ptr tryGetMutableBuffer(const facebook::jsi::ArrayBuffer& arrayBuffer) = 0; + public virtual std::shared_ptr getNativeState(const facebook::jsi::Object&) = 0; + public virtual std::shared_ptr getRuntimeData(const facebook::jsi::UUID& dataUUID) = 0; + public virtual std::string description() = 0; + public virtual std::string symbolToString(const facebook::jsi::Symbol&) = 0; + public virtual std::string utf8(const facebook::jsi::PropNameID&) = 0; + public virtual std::string utf8(const facebook::jsi::String&) = 0; + public virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) = 0; + public virtual std::u16string utf16(const facebook::jsi::String& str) = 0; + public virtual uint8_t* data(const facebook::jsi::ArrayBuffer&) = 0; + public virtual uint64_t truncate(const facebook::jsi::BigInt&) = 0; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) = 0; + public virtual void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) = 0; + public virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) = 0; + public virtual void popScope(ScopeState*) = 0; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) = 0; + public virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) = 0; + public virtual void setNativeState(const facebook::jsi::Object&, std::shared_ptr state) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::String& name, const facebook::jsi::Value& value) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::Value& name, const facebook::jsi::Value& value) = 0; + public virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) = 0; + public virtual void setRuntimeData(const facebook::jsi::UUID& dataUUID, const std::shared_ptr& data) = 0; + public virtual void setRuntimeDataImpl(const facebook::jsi::UUID& dataUUID, const void* data, void(*)(const void* data) deleter) = 0; + public virtual void setValueAtIndexImpl(const facebook::jsi::Array&, size_t i, const facebook::jsi::Value& value) = 0; +} + +struct facebook::jsi::IRuntime::PointerValue { + protected virtual ~PointerValue() = default; + public virtual void invalidate() noexcept = 0; +} + +class facebook::jsi::Instrumentation { + public using HeapStatsUpdate = std::tuple; + public virtual std::string flushAndDisableBridgeTrafficTrace() = 0; + public virtual std::string getRecordedGCStats() = 0; + public virtual std::unordered_map getHeapInfo(bool includeExpensive) = 0; + public virtual void collectGarbage(std::string cause) = 0; + public virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void dumpOpcodeStats(std::ostream& os) const = 0; + public virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const = 0; + public virtual void startHeapSampling(size_t samplingInterval) = 0; + public virtual void startTrackingHeapObjectStackTraces(std::function stats)> fragmentCallback) = 0; + public virtual void stopHeapSampling(std::ostream& os) = 0; + public virtual void stopTrackingHeapObjectStackTraces() = 0; + public virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const = 0; + public virtual ~Instrumentation() = default; +} + +struct facebook::jsi::Instrumentation::HeapSnapshotOptions { + public bool captureNumericValue; +} + +class facebook::jsi::JSError : public facebook::jsi::JSIException { + public JSError(const facebook::jsi::JSError&) = default; + public JSError(facebook::jsi::IRuntime& r, facebook::jsi::Value&& value); + public JSError(facebook::jsi::IRuntime& rt, const char* message); + public JSError(facebook::jsi::IRuntime& rt, std::string message); + public JSError(facebook::jsi::IRuntime& rt, std::string message, std::string stack); + public JSError(facebook::jsi::Value&& value, std::string message, std::string stack); + public JSError(std::string what, facebook::jsi::IRuntime& rt, facebook::jsi::Value&& value); + public const facebook::jsi::Value& value() const; + public const std::string& getMessage() const; + public const std::string& getStack() const; + public static facebook::jsi::JSError createEvalError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createRangeError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createReferenceError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createSyntaxError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createTypeError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createURIError(facebook::jsi::IRuntime& rt, const std::string& message); + public virtual ~JSError(); +} + +class facebook::jsi::JSIException : public std::exception { + protected JSIException(); + protected JSIException(std::string what); + protected std::string what_; + public JSIException(const facebook::jsi::JSIException&) = default; + public virtual const char* what() const noexcept override; + public virtual ~JSIException() override; +} + +class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { + public JSINativeException(const facebook::jsi::JSINativeException&) = default; + public JSINativeException(std::string what); + public virtual ~JSINativeException(); +} + +class facebook::jsi::MutableBuffer { + public virtual size_t size() const = 0; + public virtual uint8_t* data() = 0; + public virtual ~MutableBuffer(); +} + +class facebook::jsi::NativeState { + public virtual ~NativeState(); +} + +class facebook::jsi::Object : public facebook::jsi::Pointer { + protected void setPropertyValue(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name, const facebook::jsi::Value& value) const; + public Object(facebook::jsi::IRuntime& runtime); + public Object(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public Object(facebook::jsi::Object&& other) = default; + public Object(facebook::jsi::Pointer&& other) noexcept; + public bool hasNativeState(facebook::jsi::IRuntime& runtime) const; + public bool hasProperty(facebook::jsi::IRuntime& runtime, const char* name) const; + public bool hasProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name) const; + public bool hasProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name) const; + public bool hasProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name) const; + public bool instanceOf(facebook::jsi::IRuntime& rt, const facebook::jsi::Function& ctor) const; + public bool isArray(facebook::jsi::IRuntime& runtime) const; + public bool isArrayBuffer(facebook::jsi::IRuntime& runtime) const; + public bool isFunction(facebook::jsi::IRuntime& runtime) const; + public bool isHostObject(facebook::jsi::IRuntime& runtime) const; + public bool isTypedArray(facebook::jsi::IRuntime& runtime) const; + public bool isUint8Array(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Array getArray(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Array getArray(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Array getPropertyNames(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Function asFunction(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Function asFunction(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Function getFunction(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Function getFunction(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Function getPropertyAsFunction(facebook::jsi::IRuntime& runtime, const char* name) const; + public facebook::jsi::Object getPropertyAsObject(facebook::jsi::IRuntime& runtime, const char* name) const; + public facebook::jsi::Object& operator=(facebook::jsi::Object&& other) = default; + public facebook::jsi::TypedArray asTypedArray(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::TypedArray getTypedArray(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Uint8Array asUint8Array(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Uint8Array getUint8Array(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Value getProperty(facebook::jsi::IRuntime& runtime, const char* name) const; + public facebook::jsi::Value getProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name) const; + public facebook::jsi::Value getPrototype(facebook::jsi::IRuntime& runtime) const; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& a, const facebook::jsi::Object& b); + public static facebook::jsi::Object create(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& prototype); + public static facebook::jsi::Object createFromHostObject(facebook::jsi::IRuntime& runtime, std::shared_ptr ho); + public std::shared_ptr getHostObject(facebook::jsi::IRuntime& runtime) const; + public void deleteProperty(facebook::jsi::IRuntime& runtime, const char* name) const; + public void deleteProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name) const; + public void deleteProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name) const; + public void deleteProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name) const; + public void setExternalMemoryPressure(facebook::jsi::IRuntime& runtime, size_t amt) const; + public void setNativeState(facebook::jsi::IRuntime& runtime, std::shared_ptr state) const; + public void setPrototype(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& prototype) const; + template + public bool isHostObject(facebook::jsi::IRuntime& runtime) const; + template + public std::shared_ptr asHostObject(facebook::jsi::IRuntime& runtime) const; + template + public std::shared_ptr getHostObject(facebook::jsi::IRuntime& runtime) const; + template + public bool hasNativeState(facebook::jsi::IRuntime& runtime) const; + template + public std::shared_ptr getNativeState(facebook::jsi::IRuntime& runtime) const; + template + public void setProperty(facebook::jsi::IRuntime& runtime, const char* name, T&& value) const; + template + public void setProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name, T&& value) const; + template + public void setProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name, T&& value) const; + template + public void setProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name, T&& value) const; +} + +class facebook::jsi::Pointer { + protected Pointer(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + protected Pointer(facebook::jsi::Pointer&& other) noexcept; + protected facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr_; + protected facebook::jsi::Pointer& operator=(facebook::jsi::Pointer&& other) noexcept; + protected ~Pointer(); +} + +class facebook::jsi::PreparedJavaScript { + protected PreparedJavaScript() = default; + public virtual ~PreparedJavaScript() = 0; +} + +class facebook::jsi::PropNameID : public facebook::jsi::Pointer { + public PropNameID(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& other); + public PropNameID(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public PropNameID(facebook::jsi::Pointer&& other) noexcept; + public PropNameID(facebook::jsi::PropNameID&& other) = default; + public facebook::jsi::PropNameID& operator=(facebook::jsi::PropNameID&& other) = default; + public static bool compare(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::IRuntime& runtime, const char* str); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::IRuntime& runtime, const char* str, size_t length); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::IRuntime& runtime, const std::string& str); + public static facebook::jsi::PropNameID forString(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& str); + public static facebook::jsi::PropNameID forSymbol(facebook::jsi::IRuntime& runtime, const facebook::jsi::Symbol& sym); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::IRuntime& runtime, const std::string& utf8); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::IRuntime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::IRuntime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::IRuntime& runtime, const std::u16string& str); + public std::string utf8(facebook::jsi::IRuntime& runtime) const; + public std::u16string utf16(facebook::jsi::IRuntime& runtime) const; + template + public static std::vector names(facebook::jsi::PropNameID(&&propertyNames)[N]); + template + public void getPropNameIdData(facebook::jsi::IRuntime& runtime, CB& cb) const; + template + public static std::vector names(facebook::jsi::IRuntime& runtime, Args &&... args); +} + +class facebook::jsi::Runtime : public facebook::jsi::IRuntime { + protected static const facebook::jsi::IRuntime::PointerValue* getPointerValue(const facebook::jsi::Pointer& pointer); + protected static const facebook::jsi::IRuntime::PointerValue* getPointerValue(const facebook::jsi::Value& value); + protected static facebook::jsi::IRuntime::PointerValue* getPointerValue(facebook::jsi::Pointer& pointer); + public virtual ScopeState* pushScope() override; + public virtual bool detached(const facebook::jsi::ArrayBuffer&) override; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) override; + public virtual bool isTypedArray(const facebook::jsi::Object&) const override; + public virtual bool isUint8Array(const facebook::jsi::Object&) const override; + public virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& dataUUID) override; + public virtual facebook::jsi::ArrayBuffer buffer(const facebook::jsi::TypedArray& typedArray) override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + public virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + public virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + public virtual facebook::jsi::Uint8Array createUint8Array(const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length) override; + public virtual facebook::jsi::Uint8Array createUint8Array(size_t length) override; + public virtual facebook::jsi::Value createError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createEvalError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createRangeError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createReferenceError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createSyntaxError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createTypeError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createURIError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) override; + public virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + public virtual size_t byteLength(const facebook::jsi::TypedArray& typedArray) override; + public virtual size_t byteOffset(const facebook::jsi::TypedArray& typedArray) override; + public virtual size_t length(const facebook::jsi::String& str) override; + public virtual size_t length(const facebook::jsi::TypedArray& typedArray) override; + public virtual size_t push(const facebook::jsi::Array&, const facebook::jsi::Value*, size_t) override; + public virtual std::shared_ptr tryGetMutableBuffer(const facebook::jsi::ArrayBuffer& arrayBuffer) override; + public virtual std::shared_ptr getRuntimeData(const facebook::jsi::UUID& uuid) override; + public virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + public virtual std::u16string utf16(const facebook::jsi::String& str) override; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) override; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) override; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) override; + public virtual void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + public virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + public virtual void popScope(ScopeState*) override; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::String& name, const facebook::jsi::Value& value) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + public virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + public virtual void setRuntimeData(const facebook::jsi::UUID& uuid, const std::shared_ptr& data) override; + public virtual void setRuntimeDataImpl(const facebook::jsi::UUID& dataUUID, const void* data, void(*)(const void* data) deleter) override; + public virtual ~Runtime() override; + template + protected static T make(facebook::jsi::IRuntime::PointerValue* pv); +} + +class facebook::jsi::Scope { + public Scope(const facebook::jsi::Scope&) = delete; + public Scope(facebook::jsi::IRuntime& rt); + public Scope(facebook::jsi::Scope&&) = delete; + public facebook::jsi::Scope& operator=(const facebook::jsi::Scope&) = delete; + public facebook::jsi::Scope& operator=(facebook::jsi::Scope&&) = delete; + public ~Scope(); + template + public static decltype(f()) callInNewScope(facebook::jsi::IRuntime& rt, F f); +} + +class facebook::jsi::SourceJavaScriptPreparation : public facebook::jsi::PreparedJavaScript, public facebook::jsi::Buffer { + public SourceJavaScriptPreparation(std::shared_ptr buf, std::string sourceURL); + public const std::string& sourceURL() const; + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::String : public facebook::jsi::Pointer { + public String(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public String(facebook::jsi::Pointer&& other) noexcept; + public String(facebook::jsi::String&& other) = default; + public facebook::jsi::String& operator=(facebook::jsi::String&& other) = default; + public size_t length(facebook::jsi::IRuntime& runtime) const; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& a, const facebook::jsi::String& b); + public static facebook::jsi::String createFromAscii(facebook::jsi::IRuntime& runtime, const char* str); + public static facebook::jsi::String createFromAscii(facebook::jsi::IRuntime& runtime, const char* str, size_t length); + public static facebook::jsi::String createFromAscii(facebook::jsi::IRuntime& runtime, const std::string& str); + public static facebook::jsi::String createFromUtf8(facebook::jsi::IRuntime& runtime, const std::string& utf8); + public static facebook::jsi::String createFromUtf8(facebook::jsi::IRuntime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::IRuntime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::IRuntime& runtime, const std::u16string& utf16); + public std::string utf8(facebook::jsi::IRuntime& runtime) const; + public std::u16string utf16(facebook::jsi::IRuntime& runtime) const; + template + public void getStringData(facebook::jsi::IRuntime& runtime, CB& cb) const; +} + +class facebook::jsi::StringBuffer : public facebook::jsi::Buffer { + public StringBuffer(std::string s); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::Symbol : public facebook::jsi::Pointer { + public Symbol(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public Symbol(facebook::jsi::Pointer&& other) noexcept; + public Symbol(facebook::jsi::Symbol&& other) = default; + public facebook::jsi::Symbol& operator=(facebook::jsi::Symbol&& other) = default; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b); + public std::string toString(facebook::jsi::IRuntime& runtime) const; +} + +class facebook::jsi::ThreadSafeRuntime : public facebook::jsi::Runtime { + public virtual facebook::jsi::Runtime& getUnsafeRuntime() = 0; + public virtual void lock() const = 0; + public virtual void unlock() const = 0; +} + +class facebook::jsi::TypedArray : public facebook::jsi::Object { + public TypedArray(facebook::jsi::TypedArray&&) = default; + public facebook::jsi::ArrayBuffer buffer(facebook::jsi::IRuntime& runtime); + public facebook::jsi::TypedArray& operator=(facebook::jsi::TypedArray&&) = default; + public size_t byteLength(facebook::jsi::IRuntime& runtime); + public size_t byteOffset(facebook::jsi::IRuntime& runtime); + public size_t length(facebook::jsi::IRuntime& runtime); +} + +class facebook::jsi::UUID { + public constexpr UUID(); + public constexpr UUID(const facebook::jsi::UUID&) = default; + public constexpr UUID(uint32_t timeLow, uint16_t timeMid, uint16_t timeHighAndVersion, uint16_t variantAndClockSeq, uint64_t node); + public constexpr bool operator!=(const facebook::jsi::UUID& other) const; + public constexpr bool operator<(const facebook::jsi::UUID& other) const; + public constexpr bool operator==(const facebook::jsi::UUID& other) const; + public constexpr facebook::jsi::UUID& operator=(const facebook::jsi::UUID&) = default; + public constexpr uint16_t getTimeHighAndVersion() const; + public constexpr uint16_t getTimeMid() const; + public constexpr uint16_t getVariantAndClockSeq() const; + public constexpr uint32_t getTimeLow() const; + public constexpr uint64_t getNode() const; + public std::string toString() const; +} + +struct facebook::jsi::UUID::Hash { + public std::size_t operator()(const facebook::jsi::UUID& uuid) const noexcept; +} + +class facebook::jsi::Uint8Array : public facebook::jsi::TypedArray { + public Uint8Array(facebook::jsi::IRuntime& runtime, const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length); + public Uint8Array(facebook::jsi::IRuntime& runtime, size_t length); + public Uint8Array(facebook::jsi::Uint8Array&&) = default; + public facebook::jsi::Uint8Array& operator=(facebook::jsi::Uint8Array&&) = default; +} + +class facebook::jsi::Value { + public Value() noexcept; + public Value(bool b); + public Value(double d); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::BigInt& bigint); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& obj); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& str); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::Symbol& sym); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& value); + public Value(facebook::jsi::Value&& other) noexcept; + public Value(int i); + public Value(std::nullptr_t); + public bool asBool() const; + public bool getBool() const; + public bool isBigInt() const; + public bool isBool() const; + public bool isInteger() const; + public bool isNull() const; + public bool isNumber() const; + public bool isObject() const; + public bool isString() const; + public bool isSymbol() const; + public bool isUndefined() const; + public double asNumber() const; + public double getNumber() const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::IRuntime& runtime); + public facebook::jsi::BigInt getBigInt(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::BigInt getBigInt(facebook::jsi::IRuntime&); + public facebook::jsi::Object asObject(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Object asObject(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Object getObject(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Object getObject(facebook::jsi::IRuntime&); + public facebook::jsi::String asString(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::String asString(facebook::jsi::IRuntime& runtime); + public facebook::jsi::String getString(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::String getString(facebook::jsi::IRuntime&); + public facebook::jsi::String toString(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Symbol getSymbol(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Symbol getSymbol(facebook::jsi::IRuntime&); + public facebook::jsi::Value& operator=(facebook::jsi::Value&& other) noexcept; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& a, const facebook::jsi::Value& b); + public static facebook::jsi::Value createFromJsonUtf8(facebook::jsi::IRuntime& runtime, const uint8_t* json, size_t length); + public static facebook::jsi::Value null(); + public static facebook::jsi::Value undefined(); + public ~Value(); + template + public Value(const char*); + template + public Value(facebook::jsi::IRuntime&, const char*); + template ::value || std::is_base_of::value || std::is_base_of::value || std::is_base_of::value>> + public Value(T&& other); +} + +class facebook::jsi::WeakObject : public facebook::jsi::Pointer { + public WeakObject(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& o); + public WeakObject(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public WeakObject(facebook::jsi::Pointer&& other) noexcept; + public WeakObject(facebook::jsi::WeakObject&& other) = default; + public facebook::jsi::Value lock(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::WeakObject& operator=(facebook::jsi::WeakObject&& other) = default; +} + +struct facebook::jsi::ICast { + protected ~ICast() = default; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) = 0; +} + +template +class facebook::jsi::RuntimeDecorator : public facebook::jsi::Runtime { + protected RuntimeDecorator(Plain& plain); + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& b) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& b) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool detached(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool isTypedArray(const facebook::jsi::Object& o) const override; + protected virtual bool isUint8Array(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& dataUUID) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer buffer(const facebook::jsi::TypedArray& typedArray) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t value) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t value) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneBigInt(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneObject(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* clonePropNameID(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneString(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneSymbol(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bigint, int radix) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Uint8Array createUint8Array(const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length) override; + protected virtual facebook::jsi::Uint8Array createUint8Array(size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t byteLength(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t byteOffset(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t length(const facebook::jsi::String& str) override; + protected virtual size_t length(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t push(const facebook::jsi::Array& a, const facebook::jsi::Value* elements, size_t count) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr tryGetMutableBuffer(const facebook::jsi::ArrayBuffer& arrayBuffer) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string flushAndDisableBridgeTrafficTrace() override; + protected virtual std::string getRecordedGCStats() override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual std::unordered_map getHeapInfo(bool includeExpensive) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& b) override; + protected virtual void collectGarbage(std::string cause) override; + protected virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void dumpOpcodeStats(std::ostream& os) const override; + protected virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& dataUUID, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected virtual void startHeapSampling(size_t samplingInterval) override; + protected virtual void stopHeapSampling(std::ostream& os) override; + protected virtual void stopTrackingHeapObjectStackTraces() override; + protected virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + protected void startTrackingHeapObjectStackTraces(std::function)> callback) override; + public Plain& plain(); + public const Plain& plain() const; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + +template +class facebook::jsi::WithRuntimeDecorator : public facebook::jsi::RuntimeDecorator { + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& bi) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& bi) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool detached(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool isTypedArray(const facebook::jsi::Object& o) const override; + protected virtual bool isUint8Array(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer buffer(const facebook::jsi::TypedArray& typedArray) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t i) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t i) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneBigInt(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneObject(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* clonePropNameID(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneString(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneSymbol(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bi, int i) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Uint8Array createUint8Array(const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length) override; + protected virtual facebook::jsi::Uint8Array createUint8Array(size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t byteLength(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t byteOffset(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t length(const facebook::jsi::String& str) override; + protected virtual size_t length(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t push(const facebook::jsi::Array& a, const facebook::jsi::Value* elements, size_t count) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr tryGetMutableBuffer(const facebook::jsi::ArrayBuffer& arrayBuffer) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& bi) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amt) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + public WithRuntimeDecorator(Plain& plain, With& with); + public using RD = facebook::jsi::RuntimeDecorator; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + + +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::IRuntime& runtime, const char* name); +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::IRuntime& runtime, const std::string& name); +facebook::jsi::PropNameID&& facebook::jsi::detail::toPropNameID(facebook::jsi::IRuntime&, facebook::jsi::PropNameID&& name); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime& runtime, const char* str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& value); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime& runtime, const std::string& str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, bool b); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, double d); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, float f); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, int i); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, std::nullptr_t); +facebook::jsi::Value&& facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, facebook::jsi::Value&& value); +template +void facebook::jsi::detail::throwOrDie(Args &&... args); +template +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime& runtime, const T& other); + +template +class facebook::jsi::detail::ThreadSafeRuntimeImpl : public facebook::jsi::WithRuntimeDecorator, R, facebook::jsi::ThreadSafeRuntime> { + public virtual R& getUnsafeRuntime() override; + public virtual void lock() const override; + public virtual void unlock() const override; + template + public ThreadSafeRuntimeImpl(Args &&... args); +} + +template +struct facebook::jsi::detail::WithLock { + public L lock; + public WithLock(R& r); + public void after(); + public void before(); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T&); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T&); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T& t); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T& t); +} + +template +struct facebook::jsi::detail::AfterCaller> { + public static void after(std::tuple& tuple); +} + +template +struct facebook::jsi::detail::BeforeCaller> { + public static void before(std::tuple& tuple); +} + + +using facebook::yoga::GridTrackList = std::vector; +template +concept facebook::yoga::Enumeration = std::is_enum_v; +template +concept facebook::yoga::HasOrdinality = (facebook::yoga::ordinalCount()> 0); +YGLogger facebook::yoga::getDefaultLogger(); +bool facebook::yoga::calculateLayoutInternal(facebook::yoga::Node* node, float availableWidth, float availableHeight, facebook::yoga::Direction ownerDirection, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::SizingMode heightSizingMode, float ownerWidth, float ownerHeight, bool performLayout, facebook::yoga::LayoutPassReason reason, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +bool facebook::yoga::canUseCachedMeasurement(facebook::yoga::SizingMode widthMode, float availableWidth, facebook::yoga::SizingMode heightMode, float availableHeight, facebook::yoga::SizingMode lastWidthMode, float lastAvailableWidth, facebook::yoga::SizingMode lastHeightMode, float lastAvailableHeight, float lastComputedWidth, float lastComputedHeight, float marginRow, float marginColumn, const facebook::yoga::Config* config); +bool facebook::yoga::configUpdateInvalidatesLayout(const facebook::yoga::Config& oldConfig, const facebook::yoga::Config& newConfig); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleLength& a, const facebook::yoga::StyleLength& b); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleSizeLength& a, const facebook::yoga::StyleSizeLength& b); +bool facebook::yoga::inexactEquals(double a, double b); +bool facebook::yoga::inexactEquals(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +bool facebook::yoga::inexactEquals(float a, float b); +bool facebook::yoga::isBaselineLayout(const facebook::yoga::Node* node); +bool facebook::yoga::isColumn(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::isRow(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::layoutAbsoluteDescendants(facebook::yoga::Node* containingNode, facebook::yoga::Node* currentNode, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::Direction currentNodeDirection, facebook::yoga::LayoutData& layoutMarkerData, uint32_t currentDepth, uint32_t generationCount, float currentNodeMainOffsetFromContainingBlock, float currentNodeCrossOffsetFromContainingBlock, float containingNodeAvailableInnerWidth, float containingNodeAvailableInnerHeight); +bool facebook::yoga::needsTrailingPosition(const facebook::yoga::FlexDirection axis); +const char* facebook::yoga::LayoutPassReasonToString(facebook::yoga::LayoutPassReason value); +const char* facebook::yoga::toString(facebook::yoga::Align e); +const char* facebook::yoga::toString(facebook::yoga::BoxSizing e); +const char* facebook::yoga::toString(facebook::yoga::Dimension e); +const char* facebook::yoga::toString(facebook::yoga::Direction e); +const char* facebook::yoga::toString(facebook::yoga::Display e); +const char* facebook::yoga::toString(facebook::yoga::Edge e); +const char* facebook::yoga::toString(facebook::yoga::Errata e); +const char* facebook::yoga::toString(facebook::yoga::FlexDirection e); +const char* facebook::yoga::toString(facebook::yoga::GridTrackType e); +const char* facebook::yoga::toString(facebook::yoga::Gutter e); +const char* facebook::yoga::toString(facebook::yoga::Justify e); +const char* facebook::yoga::toString(facebook::yoga::LogLevel e); +const char* facebook::yoga::toString(facebook::yoga::MeasureMode e); +const char* facebook::yoga::toString(facebook::yoga::NodeType e); +const char* facebook::yoga::toString(facebook::yoga::Overflow e); +const char* facebook::yoga::toString(facebook::yoga::PositionType e); +const char* facebook::yoga::toString(facebook::yoga::Unit e); +const char* facebook::yoga::toString(facebook::yoga::Wrap e); +const facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeConstRef ref); +constexpr YGAlign facebook::yoga::unscopedEnum(facebook::yoga::Align scoped); +constexpr YGBoxSizing facebook::yoga::unscopedEnum(facebook::yoga::BoxSizing scoped); +constexpr YGDimension facebook::yoga::unscopedEnum(facebook::yoga::Dimension scoped); +constexpr YGDirection facebook::yoga::unscopedEnum(facebook::yoga::Direction scoped); +constexpr YGDisplay facebook::yoga::unscopedEnum(facebook::yoga::Display scoped); +constexpr YGEdge facebook::yoga::unscopedEnum(facebook::yoga::Edge scoped); +constexpr YGErrata facebook::yoga::unscopedEnum(facebook::yoga::Errata scoped); +constexpr YGFlexDirection facebook::yoga::unscopedEnum(facebook::yoga::FlexDirection scoped); +constexpr YGGridTrackType facebook::yoga::unscopedEnum(facebook::yoga::GridTrackType scoped); +constexpr YGGutter facebook::yoga::unscopedEnum(facebook::yoga::Gutter scoped); +constexpr YGJustify facebook::yoga::unscopedEnum(facebook::yoga::Justify scoped); +constexpr YGLogLevel facebook::yoga::unscopedEnum(facebook::yoga::LogLevel scoped); +constexpr YGMeasureMode facebook::yoga::unscopedEnum(facebook::yoga::MeasureMode scoped); +constexpr YGNodeType facebook::yoga::unscopedEnum(facebook::yoga::NodeType scoped); +constexpr YGOverflow facebook::yoga::unscopedEnum(facebook::yoga::Overflow scoped); +constexpr YGPositionType facebook::yoga::unscopedEnum(facebook::yoga::PositionType scoped); +constexpr YGUnit facebook::yoga::unscopedEnum(facebook::yoga::Unit scoped); +constexpr YGWrap facebook::yoga::unscopedEnum(facebook::yoga::Wrap scoped); +constexpr auto facebook::yoga::maxOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::minOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::to_underlying(Enumeration auto e) noexcept; +constexpr bool facebook::yoga::isDefined(std::floating_point auto value); +constexpr bool facebook::yoga::isUndefined(std::floating_point auto value); +constexpr bool facebook::yoga::isinf(auto value); +constexpr facebook::yoga::Align facebook::yoga::fallbackAlignment(facebook::yoga::Align align); +constexpr facebook::yoga::Align facebook::yoga::scopedEnum(YGAlign unscoped); +constexpr facebook::yoga::BoxSizing facebook::yoga::scopedEnum(YGBoxSizing unscoped); +constexpr facebook::yoga::Dimension facebook::yoga::scopedEnum(YGDimension unscoped); +constexpr facebook::yoga::Direction facebook::yoga::scopedEnum(YGDirection unscoped); +constexpr facebook::yoga::Display facebook::yoga::scopedEnum(YGDisplay unscoped); +constexpr facebook::yoga::Edge facebook::yoga::scopedEnum(YGEdge unscoped); +constexpr facebook::yoga::Errata facebook::yoga::scopedEnum(YGErrata unscoped); +constexpr facebook::yoga::FlexDirection facebook::yoga::scopedEnum(YGFlexDirection unscoped); +constexpr facebook::yoga::FloatOptional facebook::yoga::maxOrDefined(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::GridTrackType facebook::yoga::scopedEnum(YGGridTrackType unscoped); +constexpr facebook::yoga::Gutter facebook::yoga::scopedEnum(YGGutter unscoped); +constexpr facebook::yoga::Justify facebook::yoga::fallbackAlignment(facebook::yoga::Justify align); +constexpr facebook::yoga::Justify facebook::yoga::scopedEnum(YGJustify unscoped); +constexpr facebook::yoga::LogLevel facebook::yoga::scopedEnum(YGLogLevel unscoped); +constexpr facebook::yoga::MeasureMode facebook::yoga::scopedEnum(YGMeasureMode unscoped); +constexpr facebook::yoga::NodeType facebook::yoga::scopedEnum(YGNodeType unscoped); +constexpr facebook::yoga::Overflow facebook::yoga::scopedEnum(YGOverflow unscoped); +constexpr facebook::yoga::PositionType facebook::yoga::scopedEnum(YGPositionType unscoped); +constexpr facebook::yoga::Unit facebook::yoga::scopedEnum(YGUnit unscoped); +constexpr facebook::yoga::Wrap facebook::yoga::scopedEnum(YGWrap unscoped); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +facebook::yoga::Align facebook::yoga::resolveChildAlignment(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::Config* facebook::yoga::resolveRef(const YGConfigRef ref); +facebook::yoga::Dimension facebook::yoga::dimension(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::FlexDirection facebook::yoga::resolveCrossDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexDirection facebook::yoga::resolveDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexLine facebook::yoga::calculateFlexLine(facebook::yoga::Node* node, facebook::yoga::Direction ownerDirection, float ownerWidth, float mainAxisOwnerSize, float availableInnerWidth, float availableInnerMainDim, facebook::yoga::Node::LayoutableChildren::Iterator& iterator, size_t lineCount); +facebook::yoga::FloatOptional facebook::yoga::boundAxisWithinMinAndMax(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::FlexDirection axis, const facebook::yoga::FloatOptional value, const float axisSize, const float widthSize); +facebook::yoga::Justify facebook::yoga::resolveChildJustification(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::MeasureMode facebook::yoga::measureMode(facebook::yoga::SizingMode mode); +facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeRef ref); +facebook::yoga::PhysicalEdge facebook::yoga::flexEndEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::flexStartEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::inlineEndEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::PhysicalEdge facebook::yoga::inlineStartEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::SizingMode facebook::yoga::sizingMode(facebook::yoga::MeasureMode mode); +float facebook::yoga::boundAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float value, const float axisSize, const float widthSize); +float facebook::yoga::calculateAvailableInnerDimension(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::Dimension dimension, const float availableDim, float paddingAndBorder, const float ownerDim, const float ownerWidth); +float facebook::yoga::calculateBaseline(const facebook::yoga::Node* node); +float facebook::yoga::getPositionOfOppositeEdge(float position, facebook::yoga::FlexDirection axis, const facebook::yoga::Node *const containingNode, const facebook::yoga::Node *const node); +float facebook::yoga::paddingAndBorderForAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float widthSize); +float facebook::yoga::roundValueToPixelGrid(double value, double pointScaleFactor, bool forceCeil, bool forceFloor); +template +constexpr int32_t facebook::yoga::ordinalCount(); +template +auto facebook::yoga::ordinals(); +template +constexpr int32_t facebook::yoga::bitCount(); +template +bool facebook::yoga::inexactEquals(const std::array& val1, const std::array& val2); +void facebook::yoga::assertFatal(bool condition, const char* message); +void facebook::yoga::assertFatalWithConfig(const facebook::yoga::Config* config, bool condition, const char* message); +void facebook::yoga::assertFatalWithNode(const facebook::yoga::Node* node, bool condition, const char* message); +void facebook::yoga::calculateLayout(facebook::yoga::Node* node, float ownerWidth, float ownerHeight, facebook::yoga::Direction ownerDirection); +void facebook::yoga::cleanupContentsNodesRecursively(facebook::yoga::Node* node, bool didPerformLayout); +void facebook::yoga::constrainMaxSizeForMode(const facebook::yoga::Node* node, facebook::yoga::Direction direction, facebook::yoga::FlexDirection axis, float ownerAxisSize, float ownerWidth, facebook::yoga::SizingMode* mode, float* size); +void facebook::yoga::fatalWithMessage(const char* message); +void facebook::yoga::layoutAbsoluteChild(const facebook::yoga::Node* containingNode, const facebook::yoga::Node* node, facebook::yoga::Node* child, float containingBlockWidth, float containingBlockHeight, facebook::yoga::SizingMode widthMode, facebook::yoga::Direction direction, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +void facebook::yoga::log(const facebook::yoga::Config* config, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(const facebook::yoga::Node* node, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::roundLayoutResultsToPixelGrid(facebook::yoga::Node* node, double absoluteLeft, double absoluteTop); +void facebook::yoga::setChildTrailingPosition(const facebook::yoga::Node *const node, facebook::yoga::Node *const child, const facebook::yoga::FlexDirection axis); +void facebook::yoga::zeroOutLayoutRecursively(facebook::yoga::Node *const node); +constexpr bool facebook::yoga::operator<(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator<=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, float rhs); +constexpr bool facebook::yoga::operator==(float lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::FloatOptional facebook::yoga::operator+(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); + +class facebook::yoga::Config : public YGConfig { + public Config(YGLogger logger); + public YGNodeRef cloneNode(YGNodeConstRef node, YGNodeConstRef owner, size_t childIndex) const; + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool useWebDefaults() const; + public facebook::yoga::Errata getErrata() const; + public float getPointScaleFactor() const; + public static const facebook::yoga::Config& getDefault(); + public uint32_t getVersion() const noexcept; + public void addErrata(facebook::yoga::Errata errata); + public void log(const facebook::yoga::Node* node, facebook::yoga::LogLevel logLevel, const char* format, va_list args) const; + public void removeErrata(facebook::yoga::Errata errata); + public void setCloneNodeCallback(YGCloneNodeFunc cloneNode); + public void setContext(void* context); + public void setErrata(facebook::yoga::Errata errata); + public void setLogger(YGLogger logger); + public void setPointScaleFactor(float pointScaleFactor); + public void setUseWebDefaults(bool useWebDefaults); + public void* getContext() const; +} + +class facebook::yoga::GridStyleStorage { + public GridStyleStorage() = default; + public GridStyleStorage(const facebook::yoga::GridStyleStorage& other); + public GridStyleStorage(facebook::yoga::GridStyleStorage&&) noexcept = default; + public bool operator==(const facebook::yoga::GridStyleStorage& other) const; + public const facebook::yoga::GridStyle& get() const; + public facebook::yoga::GridStyle& ensure(); + public facebook::yoga::GridStyleStorage& operator=(const facebook::yoga::GridStyleStorage& other); + public facebook::yoga::GridStyleStorage& operator=(facebook::yoga::GridStyleStorage&&) noexcept = default; +} + +class facebook::yoga::Node : public YGNode { + public Node(); + public Node(const facebook::yoga::Config* config); + public Node(const facebook::yoga::Node& node) = default; + public Node(facebook::yoga::Node&& node) noexcept; + public YGDirtiedFunc getDirtiedFunc() const; + public YGSize measure(float availableWidth, facebook::yoga::MeasureMode widthMode, float availableHeight, facebook::yoga::MeasureMode heightMode); + public YGSize measureMinContent(float availableWidth, facebook::yoga::MeasureMode widthMode, float availableHeight, facebook::yoga::MeasureMode heightMode); + public bool alwaysFormsContainingBlock() const; + public bool getHasNewLayout() const; + public bool hasBaselineFunc() const noexcept; + public bool hasContentsChildren() const; + public bool hasDefiniteLength(facebook::yoga::Dimension dimension, float ownerSize); + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool hasMeasureFunc() const noexcept; + public bool hasMinContentMeasureFunc() const noexcept; + public bool isDirty() const; + public bool isLayoutDimensionDefined(facebook::yoga::FlexDirection axis); + public bool isNodeFlexible(); + public bool isReferenceBaseline() const; + public bool removeChild(facebook::yoga::Node* child); + public const facebook::yoga::Config* getConfig() const; + public const facebook::yoga::LayoutResults& getLayout() const; + public const facebook::yoga::Style& style() const; + public const std::vector& getChildren() const; + public facebook::yoga::Direction resolveDirection(facebook::yoga::Direction ownerDirection); + public facebook::yoga::FloatOptional getMinContentHeight() const noexcept; + public facebook::yoga::FloatOptional getMinContentWidth() const noexcept; + public facebook::yoga::FloatOptional getResolvedDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolveFlexBasis(facebook::yoga::Direction direction, facebook::yoga::FlexDirection flexDirection, float referenceLength, float ownerWidth) const; + public facebook::yoga::LayoutResults& getLayout(); + public facebook::yoga::Node& operator=(const facebook::yoga::Node&) = delete; + public facebook::yoga::Node* getChild(size_t index) const; + public facebook::yoga::Node* getOwner() const; + public facebook::yoga::Node::LayoutableChildren getLayoutChildren() const; + public facebook::yoga::NodeType getNodeType() const; + public facebook::yoga::Style& style(); + public facebook::yoga::Style::SizeLength getProcessedDimension(facebook::yoga::Dimension dimension) const; + public facebook::yoga::Style::SizeLength processFlexBasis() const; + public float baseline(float width, float height) const; + public float dimensionWithMargin(facebook::yoga::FlexDirection axis, float widthSize); + public float relativePosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float resolveFlexGrow() const; + public float resolveFlexShrink() const; + public size_t getChildCount() const; + public size_t getLayoutChildCount() const; + public size_t getLineIndex() const; + public using LayoutableChildren = facebook::yoga::LayoutableChildren; + public void clearChildren(); + public void cloneChildrenIfNeeded(); + public void cloneContentsChildrenIfNeeded(); + public void insertChild(facebook::yoga::Node* child, size_t index); + public void markDirtyAndPropagate(); + public void processDimensions(); + public void removeChild(size_t index); + public void replaceChild(facebook::yoga::Node* child, size_t index); + public void replaceChild(facebook::yoga::Node* oldChild, facebook::yoga::Node* newChild); + public void reset(); + public void setAlwaysFormsContainingBlock(bool alwaysFormsContainingBlock); + public void setBaselineFunc(YGBaselineFunc baseLineFunc); + public void setChildren(const std::vector& children); + public void setConfig(facebook::yoga::Config* config); + public void setContext(void* context); + public void setDirtiedFunc(YGDirtiedFunc dirtiedFunc); + public void setDirty(bool isDirty); + public void setHasNewLayout(bool hasNewLayout); + public void setIsReferenceBaseline(bool isReferenceBaseline); + public void setLayout(const facebook::yoga::LayoutResults& layout); + public void setLayoutBorder(float border, facebook::yoga::PhysicalEdge edge); + public void setLayoutComputedFlexBasis(facebook::yoga::FloatOptional computedFlexBasis); + public void setLayoutComputedFlexBasisGeneration(uint32_t computedFlexBasisGeneration); + public void setLayoutDimension(float lengthValue, facebook::yoga::Dimension dimension); + public void setLayoutDirection(facebook::yoga::Direction direction); + public void setLayoutHadOverflow(bool hadOverflow); + public void setLayoutLastOwnerDirection(facebook::yoga::Direction direction); + public void setLayoutMargin(float margin, facebook::yoga::PhysicalEdge edge); + public void setLayoutMeasuredDimension(float measuredDimension, facebook::yoga::Dimension dimension); + public void setLayoutPadding(float padding, facebook::yoga::PhysicalEdge edge); + public void setLayoutPosition(float position, facebook::yoga::PhysicalEdge edge); + public void setLineIndex(size_t lineIndex); + public void setMeasureFunc(YGMeasureFunc measureFunc); + public void setMinContentHeight(facebook::yoga::FloatOptional minContentHeight) noexcept; + public void setMinContentMeasureFunc(YGMinContentMeasureFunc minContentMeasureFunc); + public void setMinContentWidth(facebook::yoga::FloatOptional minContentWidth) noexcept; + public void setNodeType(facebook::yoga::NodeType nodeType); + public void setOwner(facebook::yoga::Node* owner); + public void setPosition(facebook::yoga::Direction direction, float ownerWidth, float ownerHeight); + public void setStyle(const facebook::yoga::Style& style); + public void* getContext() const; +} + +class facebook::yoga::Style { + public bool flexEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool flexStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool horizontalInsetsDefined() const; + public bool inlineEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool inlineStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool operator==(const facebook::yoga::Style& other) const; + public bool verticalInsetsDefined() const; + public const facebook::yoga::GridLine& gridColumnEnd() const; + public const facebook::yoga::GridLine& gridColumnStart() const; + public const facebook::yoga::GridLine& gridRowEnd() const; + public const facebook::yoga::GridLine& gridRowStart() const; + public const facebook::yoga::GridTrackList& gridAutoColumns() const; + public const facebook::yoga::GridTrackList& gridAutoRows() const; + public const facebook::yoga::GridTrackList& gridTemplateColumns() const; + public const facebook::yoga::GridTrackList& gridTemplateRows() const; + public facebook::yoga::Align alignContent() const; + public facebook::yoga::Align alignItems() const; + public facebook::yoga::Align alignSelf() const; + public facebook::yoga::BoxSizing boxSizing() const; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Display display() const; + public facebook::yoga::FlexDirection flexDirection() const; + public facebook::yoga::FloatOptional aspectRatio() const; + public facebook::yoga::FloatOptional flex() const; + public facebook::yoga::FloatOptional flexGrow() const; + public facebook::yoga::FloatOptional flexShrink() const; + public facebook::yoga::FloatOptional resolvedMaxDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolvedMinDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::Justify justifyContent() const; + public facebook::yoga::Justify justifyItems() const; + public facebook::yoga::Justify justifySelf() const; + public facebook::yoga::Overflow overflow() const; + public facebook::yoga::PositionType positionType() const; + public facebook::yoga::Style::Length border(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length gap(facebook::yoga::Gutter gutter) const; + public facebook::yoga::Style::Length margin(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length padding(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length position(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::SizeLength dimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength flexBasis() const; + public facebook::yoga::Style::SizeLength maxDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength minDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Wrap flexWrap() const; + public float computeBorderForAxis(facebook::yoga::FlexDirection axis) const; + public float computeFlexEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeFlexStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeGapForAxis(facebook::yoga::FlexDirection axis, float ownerSize) const; + public float computeGapForDimension(facebook::yoga::Dimension dimension, float ownerSize) const; + public float computeInlineEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeInlineStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeMarginForAxis(facebook::yoga::FlexDirection axis, float widthSize) const; + public float computePaddingAndBorderForDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float widthSize) const; + public static constexpr float DefaultFlexGrow; + public static constexpr float DefaultFlexShrink; + public static constexpr float WebDefaultFlexShrink; + public using Length = facebook::yoga::StyleLength; + public using SizeLength = facebook::yoga::StyleSizeLength; + public void resizeGridAutoColumns(size_t count); + public void resizeGridAutoRows(size_t count); + public void resizeGridTemplateColumns(size_t count); + public void resizeGridTemplateRows(size_t count); + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBorder(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setGap(facebook::yoga::Gutter gutter, facebook::yoga::Style::Length value); + public void setGridAutoColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoColumns(facebook::yoga::GridTrackList value); + public void setGridAutoRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoRows(facebook::yoga::GridTrackList value); + public void setGridColumnEnd(facebook::yoga::GridLine value); + public void setGridColumnStart(facebook::yoga::GridLine value); + public void setGridRowEnd(facebook::yoga::GridLine value); + public void setGridRowStart(facebook::yoga::GridLine value); + public void setGridTemplateColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateColumns(facebook::yoga::GridTrackList value); + public void setGridTemplateRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateRows(facebook::yoga::GridTrackList value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setJustifyItems(facebook::yoga::Justify value); + public void setJustifySelf(facebook::yoga::Justify value); + public void setMargin(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setMaxDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setMinDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPosition(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPositionType(facebook::yoga::PositionType value); +} + +class facebook::yoga::StyleLength { + public constexpr StyleLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength); + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleLength ofAuto(); + public static constexpr facebook::yoga::StyleLength percent(float value); + public static constexpr facebook::yoga::StyleLength points(float value); + public static constexpr facebook::yoga::StyleLength undefined(); +} + +class facebook::yoga::StyleSizeLength { + public constexpr StyleSizeLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleSizeLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isFitContent() const; + public constexpr bool isMaxContent() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isStretch() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleSizeLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength) const; + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleSizeLength ofAuto(); + public static constexpr facebook::yoga::StyleSizeLength ofFitContent(); + public static constexpr facebook::yoga::StyleSizeLength ofMaxContent(); + public static constexpr facebook::yoga::StyleSizeLength ofStretch(); + public static constexpr facebook::yoga::StyleSizeLength percent(float value); + public static constexpr facebook::yoga::StyleSizeLength points(float value); + public static constexpr facebook::yoga::StyleSizeLength stretch(float fraction); + public static constexpr facebook::yoga::StyleSizeLength undefined(); +} + +class facebook::yoga::StyleValueHandle { + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isPercent() const; + public constexpr bool isPoint() const; + public constexpr bool isUndefined() const; + public static constexpr facebook::yoga::StyleValueHandle ofAuto(); +} + +class facebook::yoga::StyleValuePool { + public facebook::yoga::FloatOptional getNumber(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleLength getLength(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleSizeLength getSize(facebook::yoga::StyleValueHandle handle) const; + public float getStoredValue(facebook::yoga::StyleValueHandle handle) const; + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::FloatOptional number); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleLength length); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleSizeLength sizeValue); +} + +enum facebook::yoga::Align : uint8_t { + Auto, + Baseline, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::BoxSizing : uint8_t { + BorderBox, + ContentBox, +} + +enum facebook::yoga::Dimension : uint8_t { + Height, + Width, +} + +enum facebook::yoga::Direction : uint8_t { + Inherit, + LTR, + RTL, +} + +enum facebook::yoga::Display : uint8_t { + Contents, + Flex, + Grid, + None, +} + +enum facebook::yoga::Edge : uint8_t { + All, + Bottom, + End, + Horizontal, + Left, + Right, + Start, + Top, + Vertical, +} + +enum facebook::yoga::Errata : uint32_t { + AbsolutePercentAgainstInnerSize, + AbsolutePositionWithoutInsetsExcludesPadding, + All, + Classic, + FlexFirstPassUsesRunningTotals, + MinSizeUndefinedInsteadOfAuto, + None, + StretchFlexBasis, +} + +enum facebook::yoga::FlexDirection : uint8_t { + Column, + ColumnReverse, + Row, + RowReverse, +} + +enum facebook::yoga::GridLineType : uint8_t { + Auto, + Integer, + Span, +} + +enum facebook::yoga::GridTrackType : uint8_t { + Auto, + Fr, + Minmax, + Percent, + Points, +} + +enum facebook::yoga::Gutter : uint8_t { + All, + Column, + Row, +} + +enum facebook::yoga::Justify : uint8_t { + Auto, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::LayoutPassReason : int { + COUNT, + kAbsLayout, + kAbsMeasureChild, + kFlexLayout, + kFlexMeasure, + kGridLayout, + kInitial, + kMeasureChild, + kMultilineStretch, + kStretch, +} + +enum facebook::yoga::LayoutType : int { + kCachedLayout, + kCachedMeasure, + kLayout, + kMeasure, +} + +enum facebook::yoga::LogLevel : uint8_t { + Debug, + Error, + Fatal, + Info, + Verbose, + Warn, +} + +enum facebook::yoga::MeasureMode : uint8_t { + AtMost, + Exactly, + Undefined, +} + +enum facebook::yoga::NodeType : uint8_t { + Default, + Text, +} + +enum facebook::yoga::Overflow : uint8_t { + Hidden, + Scroll, + Visible, +} + +enum facebook::yoga::PhysicalEdge : uint32_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::yoga::PositionType : uint8_t { + Absolute, + Relative, + Static, +} + +enum facebook::yoga::SizingMode { + FitContent, + MaxContent, + StretchFit, +} + +enum facebook::yoga::Unit : uint8_t { + Auto, + FitContent, + MaxContent, + Percent, + Point, + Stretch, + Undefined, +} + +enum facebook::yoga::Wrap : uint8_t { + NoWrap, + Wrap, + WrapReverse, +} + +struct facebook::yoga::CachedMeasurement { + public bool operator==(facebook::yoga::CachedMeasurement measurement) const; + public facebook::yoga::SizingMode heightSizingMode; + public facebook::yoga::SizingMode widthSizingMode; + public float availableHeight; + public float availableWidth; + public float computedHeight; + public float computedWidth; +} + +struct facebook::yoga::Event { + public static void reset(); + public static void subscribe(std::function&& subscriber); + public using Subscriber = void(YGNodeConstRef, facebook::yoga::Event::Type, facebook::yoga::Event::Data); + public using Subscribers = std::vector>; + template + public static void publish(YGNodeConstRef node, const facebook::yoga::Event::TypedData& eventData = {}); +} + +class facebook::yoga::Event::Data { + template + public Data(const facebook::yoga::Event::TypedData& data); + template + public const facebook::yoga::Event::TypedData& get() const; +} + +enum facebook::yoga::Event::Type { + LayoutPassEnd, + LayoutPassStart, + MeasureCallbackEnd, + MeasureCallbackStart, + NodeAllocation, + NodeBaselineEnd, + NodeBaselineStart, + NodeDeallocation, + NodeLayout, +} + +template +struct facebook::yoga::Event::TypedData { +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutData* layoutData; +} + +struct facebook::yoga::Event::TypedData { + public YGMeasureMode heightMeasureMode; + public YGMeasureMode widthMeasureMode; + public const facebook::yoga::LayoutPassReason reason; + public float height; + public float measuredHeight; + public float measuredWidth; + public float width; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutType layoutType; +} + +struct facebook::yoga::FlexLine { + public const float sizeConsumed; + public const size_t numberOfAutoMargins; + public const std::vector itemsInFlow; + public facebook::yoga::FlexLineRunningLayout layout; +} + +struct facebook::yoga::FlexLineRunningLayout { + public float crossDim; + public float mainDim; + public float remainingFreeSpace; + public float totalFlexGrowFactors; + public float totalFlexShrinkScaledFactors; +} + +struct facebook::yoga::FloatOptional { + public constexpr FloatOptional() = default; + public constexpr FloatOptional(float value); + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public constexpr float unwrap() const; + public constexpr float unwrapOrDefault(float defaultValue) const; +} + +struct facebook::yoga::GridLine { + public bool operator==(const facebook::yoga::GridLine& other) const = default; + public constexpr bool isAuto() const; + public constexpr bool isInteger() const; + public constexpr bool isSpan() const; + public facebook::yoga::GridLineType type; + public int32_t integer; + public static constexpr facebook::yoga::GridLine auto_(); + public static constexpr facebook::yoga::GridLine fromInteger(int32_t value); + public static constexpr facebook::yoga::GridLine span(int32_t value); +} + +struct facebook::yoga::GridStyle { + public bool operator==(const facebook::yoga::GridStyle& other) const = default; + public facebook::yoga::GridLine columnEnd; + public facebook::yoga::GridLine columnStart; + public facebook::yoga::GridLine rowEnd; + public facebook::yoga::GridLine rowStart; + public facebook::yoga::GridTrackList autoColumns; + public facebook::yoga::GridTrackList autoRows; + public facebook::yoga::GridTrackList templateColumns; + public facebook::yoga::GridTrackList templateRows; +} + +struct facebook::yoga::GridTrackSize { + public bool infinitelyGrowable; + public bool operator==(const facebook::yoga::GridTrackSize& other) const = default; + public facebook::yoga::StyleSizeLength maxSizingFunction; + public facebook::yoga::StyleSizeLength minSizingFunction; + public float baseSize; + public float growthLimit; + public static constexpr facebook::yoga::GridTrackSize auto_(); + public static constexpr facebook::yoga::GridTrackSize fr(float fraction); + public static constexpr facebook::yoga::GridTrackSize length(float points); + public static constexpr facebook::yoga::GridTrackSize minmax(facebook::yoga::StyleSizeLength min, facebook::yoga::StyleSizeLength max); + public static constexpr facebook::yoga::GridTrackSize percent(float percentage); +} + +struct facebook::yoga::LayoutData { + public int cachedLayouts; + public int cachedMeasures; + public int layouts; + public int measureCallbacks; + public int measures; + public std::array(facebook::yoga::LayoutPassReason::COUNT)> measureCallbackReasonsCount; + public uint32_t maxMeasureCache; +} + +struct facebook::yoga::LayoutResults { + public bool hadOverflow() const; + public bool operator==(facebook::yoga::LayoutResults layout) const; + public facebook::yoga::CachedMeasurement cachedLayout; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Direction lastOwnerDirection; + public facebook::yoga::FloatOptional computedAutoMinMainSize; + public facebook::yoga::FloatOptional computedFlexBasis; + public float border(facebook::yoga::PhysicalEdge physicalEdge) const; + public float dimension(facebook::yoga::Dimension axis) const; + public float margin(facebook::yoga::PhysicalEdge physicalEdge) const; + public float measuredDimension(facebook::yoga::Dimension axis) const; + public float padding(facebook::yoga::PhysicalEdge physicalEdge) const; + public float position(facebook::yoga::PhysicalEdge physicalEdge) const; + public float rawDimension(facebook::yoga::Dimension axis) const; + public static constexpr int32_t MaxCachedMeasurements; + public std::array cachedMeasurements; + public uint32_t computedFlexBasisGeneration; + public uint32_t configVersion; + public uint32_t generationCount; + public uint32_t nextCachedMeasurementsIndex; + public void setBorder(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setDimension(facebook::yoga::Dimension axis, float dimension); + public void setDirection(facebook::yoga::Direction direction); + public void setHadOverflow(bool hadOverflow); + public void setMargin(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setMeasuredDimension(facebook::yoga::Dimension axis, float dimension); + public void setPadding(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setPosition(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setRawDimension(facebook::yoga::Dimension axis, float dimension); +} + +template +class facebook::yoga::SmallValueBuffer { + public SmallValueBuffer() = default; + public SmallValueBuffer(const facebook::yoga::SmallValueBuffer& other); + public SmallValueBuffer(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public facebook::yoga::SmallValueBuffer& operator=(const facebook::yoga::SmallValueBuffer& other); + public facebook::yoga::SmallValueBuffer& operator=(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public uint16_t push(uint32_t value); + public uint16_t push(uint64_t value); + public uint16_t replace(uint16_t index, uint32_t value); + public uint16_t replace(uint16_t index, uint64_t value); + public uint32_t get32(uint16_t index) const; + public uint64_t get64(uint16_t index) const; +} + +template +class facebook::yoga::LayoutableChildren { + public LayoutableChildren(const T* node); + public facebook::yoga::LayoutableChildren::Iterator begin() const; + public facebook::yoga::LayoutableChildren::Iterator end() const; +} + +struct facebook::yoga::LayoutableChildren::Iterator { + public Iterator() = default; + public Iterator(const T* node, size_t childIndex); + public T* operator*() const; + public facebook::yoga::LayoutableChildren::Iterator operator++(int); + public facebook::yoga::LayoutableChildren::Iterator& operator++(); + public using difference_type = std::ptrdiff_t; + public using iterator_category = std::input_iterator_tag; + public using pointer = T*; + public using reference = T*; + public using value_type = T*; +} + + +struct JS::NativeAccessibilityManager::SpecAnnounceForAccessibilityWithOptionsOptions { + protected NSString* priority() const; + protected SpecAnnounceForAccessibilityWithOptionsOptions(NSDictionary* const v); + protected std::optional queue() const; +} + +struct JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers { + protected SpecSetAccessibilityContentSizeMultipliersJSMultipliers(NSDictionary* const v); + protected std::optional accessibilityExtraExtraExtraLarge() const; + protected std::optional accessibilityExtraExtraLarge() const; + protected std::optional accessibilityExtraLarge() const; + protected std::optional accessibilityLarge() const; + protected std::optional accessibilityMedium() const; + protected std::optional extraExtraExtraLarge() const; + protected std::optional extraExtraLarge() const; + protected std::optional extraLarge() const; + protected std::optional extraSmall() const; + protected std::optional large() const; + protected std::optional medium() const; + protected std::optional small() const; +} + + +struct JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions { + protected NSString* message() const; + protected NSString* title() const; + protected NSString* userInterfaceStyle() const; + protected SpecShowActionSheetWithOptionsOptions(NSDictionary* const v); + protected std::optional anchor() const; + protected std::optional cancelButtonIndex() const; + protected std::optional cancelButtonTintColor() const; + protected std::optional disabledButtonTintColor() const; + protected std::optional tintColor() const; + protected std::optional> options() const; + protected std::optional> destructiveButtonIndices() const; + protected std::optional> disabledButtonIndices() const; +} + +struct JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions { + protected NSString* message() const; + protected NSString* subject() const; + protected NSString* url() const; + protected NSString* userInterfaceStyle() const; + protected SpecShowShareActionSheetWithOptionsOptions(NSDictionary* const v); + protected std::optional anchor() const; + protected std::optional cancelButtonTintColor() const; + protected std::optional disabledButtonTintColor() const; + protected std::optional tintColor() const; + protected std::optional> excludedActivityTypes() const; +} + + +struct JS::NativeAlertManager::Args { + protected Args(NSDictionary* const v); + protected NSString* cancelButtonKey() const; + protected NSString* defaultValue() const; + protected NSString* destructiveButtonKey() const; + protected NSString* keyboardType() const; + protected NSString* message() const; + protected NSString* preferredButtonKey() const; + protected NSString* title() const; + protected NSString* type() const; + protected NSString* userInterfaceStyle() const; + protected std::optional>> buttons() const; +} + + +struct JS::NativeAnimatedModule::EventMapping { + protected EventMapping(NSDictionary* const v); + protected facebook::react::LazyVector nativeEventPath() const; + protected std::optional animatedValueTag() const; +} + + +struct JS::NativeAnimatedTurboModule::EventMapping { + protected EventMapping(NSDictionary* const v); + protected facebook::react::LazyVector nativeEventPath() const; + protected std::optional animatedValueTag() const; +} + + +struct JS::NativeAppState::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeAppState::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeAppState::Constants::Builder { + protected Builder(JS::NativeAppState::Constants i); + protected Builder(const JS::NativeAppState::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeAppState::Constants; +} + +struct JS::NativeAppState::Constants::Builder::Input { + protected RCTRequired initialAppState; +} + + +struct JS::NativeBlobModule::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeBlobModule::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeBlobModule::Constants::Builder { + protected Builder(JS::NativeBlobModule::Constants i); + protected Builder(const JS::NativeBlobModule::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeBlobModule::Constants; +} + +struct JS::NativeBlobModule::Constants::Builder::Input { + protected RCTRequired BLOB_URI_HOST; + protected RCTRequired BLOB_URI_SCHEME; +} + + +struct JS::NativeDeviceInfo::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeDeviceInfo::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeDeviceInfo::Constants::Builder { + protected Builder(JS::NativeDeviceInfo::Constants i); + protected Builder(const JS::NativeDeviceInfo::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeDeviceInfo::Constants; +} + +struct JS::NativeDeviceInfo::Constants::Builder::Input { + protected RCTRequired Dimensions; + protected std::optional isEdgeToEdge; + protected std::optional isIPhoneX_deprecated; +} + +struct JS::NativeDeviceInfo::DimensionsPayload { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeDeviceInfo::DimensionsPayload fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeDeviceInfo::DimensionsPayload::Builder { + protected Builder(JS::NativeDeviceInfo::DimensionsPayload i); + protected Builder(const JS::NativeDeviceInfo::DimensionsPayload::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeDeviceInfo::DimensionsPayload; +} + +struct JS::NativeDeviceInfo::DimensionsPayload::Builder::Input { + protected std::optional screen; + protected std::optional window; +} + +struct JS::NativeDeviceInfo::DisplayMetrics { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeDeviceInfo::DisplayMetrics fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeDeviceInfo::DisplayMetrics::Builder { + protected Builder(JS::NativeDeviceInfo::DisplayMetrics i); + protected Builder(const JS::NativeDeviceInfo::DisplayMetrics::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeDeviceInfo::DisplayMetrics; +} + +struct JS::NativeDeviceInfo::DisplayMetrics::Builder::Input { + protected RCTRequired fontScale; + protected RCTRequired height; + protected RCTRequired scale; + protected RCTRequired width; +} + + +struct JS::NativeExceptionsManager::ExceptionData { + protected ExceptionData(NSDictionary* const v); + protected NSString* componentStack() const; + protected NSString* message() const; + protected NSString* name() const; + protected NSString* originalMessage() const; + protected bool isFatal() const; + protected double id_() const; + protected facebook::react::LazyVector stack() const; + protected id _Nullable extraData() const; +} + +struct JS::NativeExceptionsManager::StackFrame { + protected NSString* file() const; + protected NSString* methodName() const; + protected StackFrame(NSDictionary* const v); + protected std::optional collapse() const; + protected std::optional column() const; + protected std::optional lineNumber() const; +} + + +struct JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions { + protected SpecSetGlobalOptionsOptions(NSDictionary* const v); + protected std::optional debug() const; +} + + +struct JS::NativeI18nManager::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeI18nManager::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeI18nManager::Constants::Builder { + protected Builder(JS::NativeI18nManager::Constants i); + protected Builder(const JS::NativeI18nManager::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeI18nManager::Constants; +} + +struct JS::NativeI18nManager::Constants::Builder::Input { + protected NSString* localeIdentifier; + protected RCTRequired doLeftAndRightSwapInRTL; + protected RCTRequired isRTL; +} + + +struct JS::NativeImageEditor::Options { + protected JS::NativeImageEditor::OptionsOffset offset() const; + protected JS::NativeImageEditor::OptionsSize size() const; + protected NSString* resizeMode() const; + protected Options(NSDictionary* const v); + protected std::optional displaySize() const; + protected std::optional allowExternalStorage() const; +} + +struct JS::NativeImageEditor::OptionsDisplaySize { + protected OptionsDisplaySize(NSDictionary* const v); + protected double height() const; + protected double width() const; +} + +struct JS::NativeImageEditor::OptionsOffset { + protected OptionsOffset(NSDictionary* const v); + protected double x() const; + protected double y() const; +} + +struct JS::NativeImageEditor::OptionsSize { + protected OptionsSize(NSDictionary* const v); + protected double height() const; + protected double width() const; +} + + +struct JS::NativeNetworkingIOS::SpecSendRequestQuery { + protected NSString* method() const; + protected NSString* responseType() const; + protected NSString* url() const; + protected SpecSendRequestQuery(NSDictionary* const v); + protected bool incrementalUpdates() const; + protected bool withCredentials() const; + protected double timeout() const; + protected id data() const; + protected id headers() const; +} + + +struct JS::NativePlatformConstantsIOS::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativePlatformConstantsIOS::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativePlatformConstantsIOS::Constants::Builder { + protected Builder(JS::NativePlatformConstantsIOS::Constants i); + protected Builder(const JS::NativePlatformConstantsIOS::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativePlatformConstantsIOS::Constants; +} + +struct JS::NativePlatformConstantsIOS::Constants::Builder::Input { + protected RCTRequired reactNativeVersion; + protected RCTRequired interfaceIdiom; + protected RCTRequired osVersion; + protected RCTRequired systemName; + protected RCTRequired forceTouchAvailable; + protected RCTRequired isTesting; + protected std::optional isDisableAnimations; + protected std::optional isMacCatalyst; +} + +struct JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion::Builder { + protected Builder(JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion i); + protected Builder(const JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion; +} + +struct JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion::Builder::Input { + protected RCTRequired prerelease; + protected RCTRequired major; + protected RCTRequired minor; + protected RCTRequired patch; +} + + +struct JS::NativePushNotificationManagerIOS::Notification { + protected NSString* alertBody() const; + protected NSString* alertTitle() const; + protected NSString* category() const; + protected NSString* soundName() const; + protected Notification(NSDictionary* const v); + protected id _Nullable userInfo() const; + protected std::optional isSilent() const; + protected std::optional applicationIconBadgeNumber() const; + protected std::optional fireDate() const; + protected std::optional fireIntervalSeconds() const; +} + +struct JS::NativePushNotificationManagerIOS::SpecRequestPermissionsPermission { + protected SpecRequestPermissionsPermission(NSDictionary* const v); + protected bool alert() const; + protected bool badge() const; + protected bool sound() const; +} + + +struct JS::NativeReactDevToolsRuntimeSettingsModule::PartialReloadAndProfileConfig { + protected PartialReloadAndProfileConfig(NSDictionary* const v); + protected std::optional recordChangeDescriptions() const; + protected std::optional shouldReloadAndProfile() const; +} + + +struct JS::NativeSettingsManager::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeSettingsManager::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeSettingsManager::Constants::Builder { + protected Builder(JS::NativeSettingsManager::Constants i); + protected Builder(const JS::NativeSettingsManager::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeSettingsManager::Constants; +} + +struct JS::NativeSettingsManager::Constants::Builder::Input { + protected RCTRequired> settings; +} + + +struct JS::NativeShareModule::SpecShareContent { + protected NSString* message() const; + protected NSString* title() const; + protected SpecShareContent(NSDictionary* const v); +} + + +struct JS::NativeSourceCode::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeSourceCode::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeSourceCode::Constants::Builder { + protected Builder(JS::NativeSourceCode::Constants i); + protected Builder(const JS::NativeSourceCode::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeSourceCode::Constants; +} + +struct JS::NativeSourceCode::Constants::Builder::Input { + protected RCTRequired scriptURL; +} + + +struct JS::NativeStatusBarManagerIOS::Constants { + protected NSDictionary* unsafeRawValue() const; + protected static JS::NativeStatusBarManagerIOS::Constants fromUnsafeRawValue(NSDictionary* const v); +} + +struct JS::NativeStatusBarManagerIOS::Constants::Builder { + protected Builder(JS::NativeStatusBarManagerIOS::Constants i); + protected Builder(const JS::NativeStatusBarManagerIOS::Constants::Builder::Input i); + protected NSDictionary* buildUnsafeRawValue() const; + protected using ResultT = JS::NativeStatusBarManagerIOS::Constants; +} + +struct JS::NativeStatusBarManagerIOS::Constants::Builder::Input { + protected RCTRequired HEIGHT; + protected std::optional DEFAULT_BACKGROUND_COLOR; +} + + +struct JS::NativeWebSocketModule::SpecConnectOptions { + protected SpecConnectOptions(NSDictionary* const v); + protected id _Nullable headers() const; +} + + +struct std::hash { + public size_t operator()(const RCTComponentViewDescriptor& componentViewDescriptor) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString& attributedString) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Color& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Point& point) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Rect& rect) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::ShadowView& shadowView) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::SharedColor& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Size& size) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextEffectInfo& info) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Transform& transform) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleCorners& corners) const noexcept; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + + +template +FB::LazyIterator FB::operator+(typename FB::LazyIterator::difference_type n, const FB::LazyIterator& i); +template +bool FB::operator<=(const FB::LazyIterator& a, const FB::LazyIterator& b); +template +bool FB::operator>(const FB::LazyIterator& a, const FB::LazyIterator& b); +template +bool FB::operator>=(const FB::LazyIterator& a, const FB::LazyIterator& b); + +template +class FB::LazyIterator { + public FB::LazyIterator operator+(FB::LazyIterator::difference_type n) const; + public FB::LazyIterator operator++(int); + public FB::LazyIterator operator-(FB::LazyIterator::difference_type n) const; + public FB::LazyIterator operator--(int); + public FB::LazyIterator& operator++(); + public FB::LazyIterator& operator+=(FB::LazyIterator::difference_type n); + public FB::LazyIterator& operator--(); + public FB::LazyIterator& operator-=(FB::LazyIterator::difference_type n); + public FB::LazyIterator::difference_type operator-(const FB::LazyIterator& a) const; + public FB::LazyIterator::value_type operator*() const; + public FB::LazyIterator::value_type operator[](FB::LazyIterator::difference_type n) const; + public LazyIterator() = default; + public LazyIterator(U vector, FB::LazyIterator::convert_type convert, FB::LazyIterator::size_type i); + public bool operator<(const FB::LazyIterator& b) const; + public bool operator==(const FB::LazyIterator& other) const; + public std::unique_ptr operator->() const; + public using convert_type = std::function; + public using difference_type = std::int32_t; + public using iterator_category = std::random_access_iterator_tag; + public using pointer = std::unique_ptr; + public using reference = T; + public using size_type = std::int32_t; + public using value_type = T; +} + +template +class FB::LazyVector { + public FB::LazyVector::const_iterator begin() const; + public FB::LazyVector::const_iterator cbegin() const; + public FB::LazyVector::const_iterator cend() const; + public FB::LazyVector::const_iterator end() const; + public FB::LazyVector::const_reference at(FB::LazyVector::size_type pos) const; + public FB::LazyVector::const_reference back() const; + public FB::LazyVector::const_reference front() const; + public FB::LazyVector::const_reference operator[](FB::LazyVector::size_type pos) const; + public FB::LazyVector::size_type size() const; + public U unsafeRawValue() const; + public bool empty() const; + public static FB::LazyVector fromUnsafeRawValue(U v, FB::LazyVector::size_type size, FB::LazyVector::convert_type convert); + public using const_iterator = FB::LazyIterator; + public using const_reference = T; + public using convert_type = std::function; + public using iterator = FB::LazyVector::const_iterator; + public using reference = T; + public using size_type = std::int32_t; + public using value_type = T; +} \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api index 81674ace5e1c..84c15bfa7752 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleNewarchCxx.api @@ -313,15 +313,6 @@ category UIView(React) { public virtual void removeReactSubview:(UIView* subview); } -class ObjCTimerRegistry : public facebook::react::PlatformTimerRegistry { - public ObjCTimerRegistry(); - public RCTTiming* _Null_unspecified timing; - public virtual void createRecurringTimer(uint32_t timerID, double delayMS) override; - public virtual void createTimer(uint32_t timerID, double delayMS) override; - public virtual void deleteTimer(uint32_t timerID) override; - public virtual void setTimerManager(std::weak_ptr timerManager) override; -} - class RCTComponentViewClassDescriptor { public Class viewClass; public bool observesMountingTransactionDidMount; @@ -1151,20 +1142,6 @@ interface RCTGradientUtils : public NSObject { interface RCTHTTPRequestHandler : public NSObject { } -interface RCTHost : public NSObject { - public @property (assign, readonly) RCTModuleRegistry* moduleRegistry; - public @property (assign, readonly) RCTSurfacePresenter* surfacePresenter; - public @property (weak) id runtimeDelegate; - public virtual RCTFabricSurface* createSurfaceWithModuleName:initialProperties:(NSString* moduleName, NSDictionary* properties); - public virtual RCTFabricSurface* createSurfaceWithModuleName:mode:initialProperties:(NSString* moduleName, facebook::react::DisplayMode displayMode, NSDictionary* properties); - public virtual instancetype initWithBundleURL:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:(NSURL* bundleURL, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions); - public virtual instancetype initWithBundleURLProvider:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:(RCTHostBundleURLProvider provider, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions); - public virtual instancetype initWithBundleURLProvider:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:bundleConfiguration:devMenuConfiguration:(RCTHostBundleURLProvider provider, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); - public virtual std::shared_ptr jsCallInvoker(); - public virtual void callFunctionOnJSModule:method:args:(NSString* moduleName, NSString* method, NSArray* args); - public virtual void start(); -} - interface RCTI18nManager : public NSObject { } @@ -1259,17 +1236,6 @@ interface RCTInspectorWebSocketReporter : public NSObject { public virtual static void reportWillSendHandshakeRequest:request:(_Nullable NSString* requestId, NSURLRequest* request); } -interface RCTInstance : public NSObject { - public @property (assign, readonly) std::shared_ptr jsCallInvoker; - public @property (strong, readonly) RCTSurfacePresenter* surfacePresenter; - public virtual instancetype initWithDelegate:jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:moduleRegistry:parentInspectorTarget:launchOptions:(id delegate, std::shared_ptr jsRuntimeFactory, RCTBundleManager* bundleManager, id turboModuleManagerDelegate, RCTModuleRegistry* moduleRegistry, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget, _Nullable NSDictionary* launchOptions); - public virtual instancetype initWithDelegate:jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:moduleRegistry:parentInspectorTarget:launchOptions:devMenuConfiguration:(id delegate, std::shared_ptr jsRuntimeFactory, RCTBundleManager* bundleManager, id turboModuleManagerDelegate, RCTModuleRegistry* moduleRegistry, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget, _Nullable NSDictionary* launchOptions, RCTDevMenuConfiguration* _Nullable devMenuConfiguration); - public virtual void callFunctionOnBufferedRuntimeExecutor:(std::function&& executor); - public virtual void callFunctionOnJSModule:method:args:(NSString* moduleName, NSString* method, NSArray* args); - public virtual void invalidate(); - public virtual void registerSegmentWithId:path:(NSNumber* segmentId, NSString* path); -} - interface RCTInterpolationAnimatedNode : public RCTValueAnimatedNode { } @@ -1287,15 +1253,6 @@ interface RCTJSStackFrame : public NSObject { public virtual static instancetype stackFrameWithLine:(NSString* line); } -interface RCTJSThreadManager : public NSObject { - public virtual std::shared_ptr jsMessageThread(); - public virtual void dispatchToJSThread:(dispatch_block_t block); -} - -interface RCTJSTimerExecutor : public NSObject { - public virtual void setTimerManager:(std::weak_ptr timerManager); -} - interface RCTJavaScriptLoader : public NSObject { public virtual static NSData* attemptSynchronousLoadOfBundleAtURL:sourceLength:error:(NSURL* scriptURL, int64_t* sourceLength, NSError** error); public virtual static void loadBundleAtURL:onProgress:onComplete:(NSURL* scriptURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock onComplete); @@ -1941,15 +1898,6 @@ interface RCTSyncImageManager : public NSObject { interface RCTTextInputComponentView : public RCTViewComponentView { } -interface RCTTextLayoutManager : public NSObject { - public virtual facebook::react::LinesMeasurements getLinesForAttributedString:paragraphAttributes:size:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGSize size); - public virtual facebook::react::TextMeasurement measureAttributedString:paragraphAttributes:layoutContext:layoutConstraints:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, facebook::react::TextLayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints); - public virtual facebook::react::TextMeasurement measureNSAttributedString:paragraphAttributes:layoutContext:layoutConstraints:(NSAttributedString* attributedString, facebook::react::ParagraphAttributes paragraphAttributes, facebook::react::TextLayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints); - public virtual std::shared_ptr getEventEmitterWithAttributeString:paragraphAttributes:frame:atPoint:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, CGPoint point); - public virtual void drawAttributedString:paragraphAttributes:frame:drawHighlightPath:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, void(^)(UIBezierPath* highlightPath) block); - public virtual void getRectWithAttributedString:paragraphAttributes:enumerateAttribute:frame:usingBlock:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, NSString* enumerateAttribute, CGRect frame, RCTTextLayoutFragmentEnumerationBlock block); -} - interface RCTTextSelection : public NSObject { public @property (assign, readonly) NSInteger end; public @property (assign, readonly) NSInteger start; @@ -2674,10 +2622,6 @@ protocol RCTComponentViewProtocol : public NSObject { public virtual void updateState:oldState:(const facebook::react::State::Shared& state, const facebook::react::State::Shared& oldState); } -protocol RCTContextContainerHandling : public NSObject { - public virtual void didCreateContextContainer:(std::shared_ptr contextContainer); -} - protocol RCTCustomPullToRefreshViewProtocol { } @@ -2776,18 +2720,6 @@ protocol RCTFrameUpdateObserver : public NSObjectNSObject { public virtual void didUpdateFrame:(RCTFrameUpdate* update); } -protocol RCTHostDelegate : public NSObject { - public virtual NSArray* unstableModulesRequiringMainQueueSetup(); - public virtual void host:didInitializeRuntime:(RCTHost* host, facebook::jsi::Runtime& runtime); - public virtual void host:didReceiveJSErrorStack:message:originalMessage:name:componentStack:exceptionId:isFatal:extraData:(RCTHost* host, NSArray*>* stack, NSString* message, NSString* _Nullable originalMessage, NSString* _Nullable name, NSString* _Nullable componentStack, NSUInteger exceptionId, BOOL isFatal, NSDictionary* extraData); - public virtual void hostDidStart:(RCTHost* host); - public virtual void loadBundleAtURL:onProgress:onComplete:(NSURL* sourceURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); -} - -protocol RCTHostRuntimeDelegate : public NSObject { - public virtual void host:didInitializeRuntime:(RCTHost* host, facebook::jsi::Runtime& runtime); -} - protocol RCTImageCache : public NSObject { public virtual UIImage* imageForUrl:size:scale:resizeMode:(NSString* url, CGSize size, CGFloat scale, RCTResizeMode resizeMode); public virtual void addImageToCache:URL:size:scale:resizeMode:response:(UIImage* image, NSString* url, CGSize size, CGFloat scale, RCTResizeMode resizeMode, NSURLResponse* response); @@ -2864,13 +2796,6 @@ protocol RCTInitializing : public NSObject { protocol RCTInputAccessoryViewProtocol : public NSObject { } -protocol RCTInstanceDelegate : public RCTContextContainerHandling { - public virtual BOOL instance:didReceiveJSErrorStack:message:originalMessage:name:componentStack:exceptionId:isFatal:extraData:(RCTInstance* instance, NSArray*>* stack, NSString* message, NSString* _Nullable originalMessage, NSString* _Nullable name, NSString* _Nullable componentStack, NSUInteger exceptionId, BOOL isFatal, NSDictionary* extraData); - public virtual NSArray* unstableModulesRequiringMainQueueSetup(); - public virtual void instance:didInitializeRuntime:(RCTInstance* instance, facebook::jsi::Runtime& runtime); - public virtual void loadBundleAtURL:onProgress:onComplete:(NSURL* sourceURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); -} - protocol RCTInvalidating : public NSObject { public virtual void invalidate(); } @@ -3137,16 +3062,6 @@ struct RCTCornerRadii { public CGFloat topRightVertical; } -struct RCTFontProperties { - public CGFloat size; - public CGFloat sizeMultiplier; - public NSDictionary* _Nullable variations; - public NSString* family; - public RCTFontStyle style; - public RCTFontVariant variant; - public UIFontWeight weight; -} - struct RCTLayoutContext { public CGPoint absolutePosition; public __unsafe_unretained NSHashTable* _Nonnull other; @@ -3205,86 +3120,6 @@ struct RCTRequired { } -bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); -double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); -int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); -std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); - -class facebook::xplat::JsArgumentException : public std::logic_error { - public JsArgumentException(const std::string& msg); -} - - -class facebook::xplat::module::CxxModule { - public static constexpr AsyncTagType AsyncTag; - public static constexpr SyncTagType SyncTag; - public std::weak_ptr getInstance(); - public using Callback = std::function)>; - public using Provider = std::function()>; - public virtual std::map getConstants(); - public virtual std::string getName() = 0; - public virtual std::vector getMethods() = 0; - public virtual ~CxxModule() = default; - public void setInstance(std::weak_ptr instance); -} - -struct facebook::xplat::module::CxxModule::Method { - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc, AsyncTagType); - public bool isPromise; - public const char* getType(); - public size_t callbacks; - public std::function syncFunc; - public std::function func; - public std::string name; - template - public Method(std::string aname, T* t, void(T::*method)()); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); -} - - -std::string facebook::xplat::detail::toStringHelper(); -template -R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); -template -std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); -template -std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); - -template -struct facebook::xplat::detail::is_dynamic { - public using type = typename std::enable_if::value, T>::type; -} - - class facebook::hermes::IHermes : public facebook::jsi::ICast { protected ~IHermes() = default; public static constexpr facebook::jsi::UUID uuid; @@ -3339,71 +3174,23 @@ struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { } -const char facebook::react::AppleSwitchComponentName[]; -const char facebook::react::ImageComponentName[]; -const char facebook::react::ImageManagerKey[]; -const char facebook::react::InputAccessoryComponentName[]; -const char facebook::react::LegacyViewManagerInteropComponentName[]; -const char facebook::react::ModalHostViewComponentName[]; -const char facebook::react::ParagraphComponentName[]; -const char facebook::react::RawTextComponentName[]; -const char facebook::react::RootComponentName[]; -const char facebook::react::RuntimeSchedulerKey[]; -const char facebook::react::SafeAreaViewComponentName[]; -const char facebook::react::ScrollViewComponentName[]; -const char facebook::react::TextComponentName[]; -const char facebook::react::TextEffectComponentName[]; -const char facebook::react::TextInputComponentName[]; -const char facebook::react::UnimplementedViewComponentName[]; const char facebook::react::ViewComponentName[]; const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; -constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; -constexpr char facebook::react::VirtualViewComponentName[]; -constexpr char* const facebook::react::TextLayoutManagerKey; -constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; -constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; constexpr facebook::react::Tag facebook::react::kNoTag; -constexpr float facebook::react::kDefaultEpsilon; -constexpr size_t facebook::react::EVENT_BUFFER_SIZE; -constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; -constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; static constexpr auto facebook::react::kPropNameLengthHardCap; -static constexpr double facebook::react::SingleFrameIntervalMs; -static constexpr double facebook::react::TicksPerMs; static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; -static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; -static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; -static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; -template -using facebook::react::CSSCompoundDataType = std::variant; -template -using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; -template -using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; template using facebook::react::LazyVector = FB::LazyVector; template using facebook::react::ModuleConstants = _RCTTypedModuleConstants*; -template -using facebook::react::EventListenerT = std::function; -typedef std::function facebook::react::ValueListenerCallback; -typedef std::tuple facebook::react::RectAsTuple; -using facebook::react::ActivePointerRegistry = std::unordered_map; using facebook::react::ActivityIndicatorViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::ActivityIndicatorViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::ActivityIndicatorViewState = facebook::react::StateData; -using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; -using facebook::react::AnimationTimestamp = std::chrono::duration; -using facebook::react::BackgroundExecutor = std::function&& callback)>; using facebook::react::BackgroundImage = std::variant; using facebook::react::BackgroundSize = std::variant; using facebook::react::BorderColors = facebook::react::RectangleEdges; @@ -3411,22 +3198,7 @@ using facebook::react::BorderCurves = facebook::react::RectangleCorners; using facebook::react::BorderStyles = facebook::react::RectangleEdges; using facebook::react::BorderWidths = facebook::react::RectangleEdges; -using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSPreservedToken = facebook::react::CSSToken; -using facebook::react::CSSRadialGradientSize = std::variant; -using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; using facebook::react::CallFunc = std::function; -using facebook::react::Callback = std::function; -using facebook::react::CallbackHandle = facebook::jsi::Object; -using facebook::react::CallbackId = uint64_t; -using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; @@ -3436,184 +3208,58 @@ using facebook::react::ComponentDescriptorConstructor = facebook::react::Compone using facebook::react::ComponentDescriptorProviderRequest = std::function; using facebook::react::ComponentHandle = int64_t; using facebook::react::ComponentName = const char*; -using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; using facebook::react::CornerInsets = facebook::react::RectangleCorners; -using facebook::react::CrashManagerProvider = std::function()>; using facebook::react::DebuggingOverlayComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::DebuggingOverlayShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::DebuggingOverlayState = facebook::react::StateData; -using facebook::react::DispatchEvent = std::function; using facebook::react::EdgeInsets = facebook::react::RectangleEdges; -using facebook::react::EndResult = facebook::react::NativeAnimatedTurboModuleEndResult, std::optional>; using facebook::react::EventEmitterCallback = std::function; -using facebook::react::EventEmitterListener = facebook::react::EventListenerT; -using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; using facebook::react::EventListener = std::function; using facebook::react::EventPipe = std::function; using facebook::react::EventPipeConclusion = std::function; using facebook::react::EventTag = unsigned int; using facebook::react::Float = CGFloat; -using facebook::react::GarbageCollectionTrigger = std::function; using facebook::react::GradientDirection = std::variant; -using facebook::react::HasComponentProviderFunctionType = std::function; -using facebook::react::Headers = std::map; using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; using facebook::react::ImageSources = std::vector; -using facebook::react::InteractionTypesMap = std::unordered_map; -using facebook::react::IntersectionObserverObserverId = int32_t; -using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::LinesMeasurements = std::vector; -using facebook::react::Logger = std::function; -using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MethodCallResult = std::optional; using facebook::react::ModalHostViewSupportedOrientationsMask = uint32_t; -using facebook::react::MountingTransactionCallback = std::function; -using facebook::react::MutationObserverId = int32_t; -using facebook::react::NativeIntersectionObserverEntry = facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry; -using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; -using facebook::react::NativeIntersectionObserverObserveOptions = facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; using facebook::react::NativeMethodCallFunc = std::function; -using facebook::react::NativeMutationObserverObserveOptions = facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions, bool>; -using facebook::react::NativeMutationRecord = facebook::react::NativeMutationObserverNativeMutationRecord, std::vector>; -using facebook::react::NativePartialReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; -using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; -using facebook::react::NativePerformancePerformanceObserverObserveOptions = facebook::react::NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; -using facebook::react::NativeReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; -using facebook::react::NativeRequestIdleCallbackOptions = facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions>; -using facebook::react::NativeResizeObserverEntry = facebook::react::NativeResizeObserverNativeResizeObserverEntry; -using facebook::react::NativeResizeObserverNotifyCallback = facebook::react::SyncCallback; -using facebook::react::NativeResizeObserverObserveOptions = facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions, std::optional>; -using facebook::react::OnMutations = std::function&)>; -using facebook::react::ParagraphProps = HostPlatformParagraphProps; -using facebook::react::PerformanceEntry = std::variant; -using facebook::react::PerformanceEntryInteractionId = uint32_t; -using facebook::react::PerformanceObserverCallback = std::function; -using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; -using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; -using facebook::react::PointerIdentifier = int32_t; using facebook::react::PromiseSetupFunctionType = std::function)>; using facebook::react::PullToRefreshViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::PullToRefreshViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::PullToRefreshViewState = facebook::react::StateData; -using facebook::react::RawCallback = std::function; using facebook::react::RawPropsPropNameHash = uint32_t; using facebook::react::RawPropsPropNameLength = uint16_t; using facebook::react::RawPropsValueIndex = uint16_t; -using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ResizeObserverObserverId = int32_t; -using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::RuntimeExecutor = std::function&& callback)>; -using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; -using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; -using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ScrollViewProps = HostPlatformScrollViewProps; -using facebook::react::ShadowTreeCommitTransaction = std::function; -using facebook::react::ShadowViewMutationList = std::vector; using facebook::react::SharedComponentDescriptor = std::shared_ptr; using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; using facebook::react::SharedEventEmitter = std::shared_ptr; using facebook::react::SharedEventPayload = std::shared_ptr; using facebook::react::SharedEventTarget = std::shared_ptr; -using facebook::react::SharedParagraphAttributes = std::shared_ptr; -using facebook::react::SharedRawTextProps = std::shared_ptr; -using facebook::react::SharedScrollViewProps = std::shared_ptr; using facebook::react::SharedShadowNodeFamily = std::shared_ptr; -using facebook::react::SharedTextAttributes = std::shared_ptr; using facebook::react::SharedTouchEventEmitter = std::shared_ptr; using facebook::react::SharedViewEventEmitter = std::shared_ptr; using facebook::react::SharedViewProps = std::shared_ptr; -using facebook::react::SizeAsTuple = std::tuple; -using facebook::react::SnapshotMap = std::unordered_map>; using facebook::react::StatePipe = std::function; using facebook::react::SurfaceId = int32_t; using facebook::react::Tag = int32_t; using facebook::react::TelemetryClock = std::chrono::steady_clock; using facebook::react::TelemetryDuration = std::chrono::nanoseconds; using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; -using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; -using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); -using facebook::react::TimerHandle = int; -using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; using facebook::react::Touch = facebook::react::HostPlatformTouch; using facebook::react::Touches = std::unordered_set; -using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; -using facebook::react::UiTask = std::function; using facebook::react::UnimplementedNativeViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::UnimplementedNativeViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::UnimplementedNativeViewState = facebook::react::StateData; -using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::UserTimingDetailProvider = std::function; using facebook::react::ValueFactory = std::function; using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; -using facebook::react::ViewNodePairScope = std::deque; using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; using facebook::react::ViewShadowNodeProps = facebook::react::ViewProps; -using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); -template -concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; -template -concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && - ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; -template -concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { - { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { - { T::consume(parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { - { T::consumePreservedToken(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { - { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && - !CSSParserSink) || -CSSParserSink; -template -concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& - (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); -template -concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(func, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { - { visitor(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(block, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; -template -concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; -template -concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; -template -concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; -template -concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; template concept facebook::react::DeclaresOwnSetProp = std::is_same_v; template @@ -3631,78 +3277,38 @@ template concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { { T::filterRawProps(rawProps) } -> std::same_as; }; -template -concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( - TextLayoutManagerT textLayoutManager, - facebook::react::AttributedString attributedString, - facebook::react::ParagraphAttributes paragraphAttributes, - facebook::react::TextLayoutContext layoutContext, - facebook::react::LayoutConstraints layoutConstraints, - typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { - sizeof(typename TextLayoutManagerT::PreparedTextLayout); - { - textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) - } -> std::same_as; - { - textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) - } -> std::same_as; -}; NSArray* facebook::react::extractKeysFromFollyDynamic(const folly::dynamic& dyn); NSError* facebook::react::tryAndReturnError(const std::function& func); NSString* facebook::react::deriveSourceURL(NSURL* url); YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); -bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); -bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); bool facebook::react::areBorderRadiiCircular(const facebook::react::BorderRadii& borderRadii); -bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); -bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); bool facebook::react::hostPlatformColorIsColorMeaningful(facebook::react::Color color) noexcept; bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); bool facebook::react::isZero(facebook::react::Float n); const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); -const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); -const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); constexpr auto facebook::react::to_underlying(auto e) noexcept; -constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); constexpr char facebook::react::toLower(char c); -constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); -constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); -constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); -double facebook::react::ceil(double value) noexcept; -double facebook::react::floor(double value) noexcept; -double facebook::react::getCPUTimeNanos(); -double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); -double facebook::react::round(double value) noexcept; facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); facebook::react::Color facebook::react::hostPlatformColorFromComponents(facebook::react::ColorComponents components); facebook::react::Color facebook::react::hostPlatformColorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); facebook::react::ColorComponents facebook::react::colorComponentsFromHostPlatformColor(facebook::react::Color color); facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); -facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); -facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); facebook::react::Float facebook::react::floatFromYogaFloat(float value); facebook::react::Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); -facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); -facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); -facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); facebook::react::SharedColor facebook::react::blackColor(); facebook::react::SharedColor facebook::react::clearColor(); -facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); facebook::react::SharedColor facebook::react::parsePlatformColor(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value); facebook::react::SharedColor facebook::react::whiteColor(); -facebook::react::Size facebook::react::ModalHostViewScreenSize(void); facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); @@ -3711,99 +3317,40 @@ facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(facebook::react::Float value); float facebook::react::alphaFromHostPlatformColor(facebook::react::Color color); float facebook::react::blueFromHostPlatformColor(facebook::react::Color color); -float facebook::react::ceil(float value) noexcept; -float facebook::react::floor(float value) noexcept; float facebook::react::greenFromHostPlatformColor(facebook::react::Color color); float facebook::react::redFromHostPlatformColor(facebook::react::Color color); -float facebook::react::round(float value) noexcept; float facebook::react::yogaFloatFromFloat(facebook::react::Float value); folly::dynamic facebook::react::convertIdToFollyDynamic(id json); folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); -folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); id facebook::react::convertFollyDynamicToId(const folly::dynamic& dyn); int facebook::react::toInt(const facebook::react::DisplayType& displayType); int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); -long double facebook::react::ceil(long double value) noexcept; -long double facebook::react::floor(long double value) noexcept; -long double facebook::react::round(long double value) noexcept; -size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); std::optional facebook::react::blendModeFromString(std::string_view blendModeName); std::optional facebook::react::filterTypeFromString(std::string_view filterName); -std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); -std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); std::optional facebook::react::isolationFromString(std::string_view isolationSetting); -std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); -std::string facebook::react::base64Encode(const std::string_view s); -std::string facebook::react::componentNameByReactViewName(std::string viewName); -std::string facebook::react::generateRandomUuidString(); std::string facebook::react::toString(const double& value); std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); -std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); std::string facebook::react::toString(const facebook::react::DisplayType& displayType); -std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); -std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); std::string facebook::react::toString(const facebook::react::FilterType& filterType); -std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); -std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); -std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); -std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); std::string facebook::react::toString(const facebook::react::ImageSource& value); std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); -std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); -std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); std::string facebook::react::toString(const facebook::react::Role& role); -std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); std::string facebook::react::toString(const facebook::react::SharedColor& value); -std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); -std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); -std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); -std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); -std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); -std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); -std::string facebook::react::toString(const facebook::react::TextWidthMode& textWidthMode); -std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); std::string facebook::react::toString(double doubleValue, char suffix); std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); std::string facebook::react::toString(facebook::react::PointerEventsMode value); -std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); -std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); -std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); -template -constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); -template -constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); -template -facebook::react::Float facebook::react::roundToPixel(facebook::react::Float value, facebook::react::Float scaleFactor); -template -facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, facebook::react::Float scaleFactor); -template -facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, facebook::react::Float scaleFactor); -template -facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, facebook::react::Float scaleFactor); template std::size_t facebook::react::hash_combine(const T& v, const Args &... args); template void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); template void facebook::react::hash_combine_optionals(std::size_t& seed, const std::optional &... optionals); -template ::type> -facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); -template -constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); -template -constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); template constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; template @@ -3817,12 +3364,6 @@ RCTManagedPointer* facebook::react::managedPointer(P initializer); template T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue); template -T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); -template -T facebook::react::get(const std::unique_ptr& animatedProp); -template -bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); -template facebook::react::ModuleConstants facebook::react::typedConstants(typename T::Builder::Input&& value); template void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); @@ -3841,11 +3382,6 @@ uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexc uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; void facebook::react::FBReactNativeSpec_registerComponentDescriptorsFromCodegen(std::shared_ptr registry); -void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); -void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); -void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); -void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); -void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); void facebook::react::executeSynchronouslyOnSameThread_CAN_DEADLOCK(const facebook::react::RuntimeExecutor& runtimeExecutor, std::function&& runtimeWork); void facebook::react::fromRawValue(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); @@ -3855,42 +3391,17 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AutocapitalizationType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::KeyboardAppearance& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::KeyboardType& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ReturnKeyType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Selection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextInputAccessoryVisibilityMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); @@ -3901,9 +3412,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); @@ -3912,12 +3420,8 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageSource& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); @@ -3926,16 +3430,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); -void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); -void facebook::react::handleJSError(facebook::jsi::Runtime& runtime, const facebook::jsi::JSError& error, bool isFatal); -void facebook::react::installLegacyUIManagerConstantsProviderBinding(facebook::jsi::Runtime& runtime); -void facebook::react::mergeAnimatedRawProps(folly::dynamic& target, const folly::dynamic& source); -void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); -void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); -void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); @@ -3943,17 +3437,10 @@ void facebook::react::serializeTransformOperationValue(const std::string& operat void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); void facebook::react::unsafeExecuteOnMainThreadSync(std::function work); -void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); -void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); -bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); -bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); -bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); -bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; -bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); constexpr bool facebook::react::operator&(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); @@ -4021,147 +3508,6 @@ class facebook::react::ActivityIndicatorViewProps : public facebook::react::Host public facebook::react::SharedColor color; } -class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::AnimatedModule : public facebook::react::NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { - public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); - public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); - public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); - public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); - public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); - public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void finishOperationBatch(facebook::jsi::Runtime& rt); - public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); - public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); - public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); - public void removeListeners(facebook::jsi::Runtime& rt, int count); - public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); - public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); - public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); - public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void startOperationBatch(facebook::jsi::Runtime& rt); - public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); - public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); -} - -class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { - public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number transactionNumber, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; -} - -class facebook::react::AnimatedNode { - protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); - protected facebook::react::AnimatedNodeType type_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag tag_; - protected std::unordered_set children_; - public AnimatedNode(const facebook::react::AnimatedNode&) = default; - public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; - public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); - public const folly::dynamic& getConfig() const noexcept; - public const std::unordered_set& getChildren() const noexcept; - public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; - public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; - public facebook::react::AnimatedNodeType type() const noexcept; - public facebook::react::Tag tag() const noexcept; - public int activeIncomingNodes; - public int bfsColor; - public static constexpr int INITIAL_BFS_COLOR; - public static std::optional getNodeTypeByName(const std::string& nodeTypeName); - public virtual void onAttachToNode(facebook::react::Tag); - public virtual void onDetachedFromNode(facebook::react::Tag); - public virtual void update(); - public virtual ~AnimatedNode() = default; - public void addChild(facebook::react::Tag tag); - public void removeChild(facebook::react::Tag tag); -} - -class facebook::react::AnimatedPropsRegistry { - public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); - public void clear(facebook::react::SurfaceId surfaceId); - public void clearOnSurfaceStop(facebook::react::SurfaceId surfaceId); - public void initializeSurface(facebook::react::SurfaceId surfaceId); - public void update(const std::vector& batches); -} - -class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { - public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); - public using PauseCallback = std::function; - public using ResumeCallback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) override; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; - public virtual void stop(facebook::react::CallbackId callbackId) override; - public virtual void trigger() override; - public void requestAsyncFlushForSurfaces(const std::set& surfaces); - public void synchronouslyUpdateProps(const std::unordered_map& updates); - public ~AnimationBackend() override; -} - -class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { - public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; -} - -class facebook::react::AnimationChoreographer { - public virtual facebook::react::AnimationTimestamp now() const; - public virtual void pause() = 0; - public virtual void resume() = 0; - public virtual ~AnimationChoreographer() = default; - public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; - public void setAnimationBackend(std::weak_ptr animationBackend); -} - -class facebook::react::AnimationDriver { - protected bool ignoreCompletedHandlers_; - protected bool isComplete_; - protected bool isStarted_; - protected double startFrameTimeMs_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag animatedValueTag_; - protected folly::dynamic config_; - protected int currentIteration_; - protected int id_; - protected int iterations_; - protected std::optional endCallback_; - protected virtual bool update(double, bool); - protected void markNodeUpdated(facebook::react::Tag tag); - public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); - public bool getIsComplete() const noexcept; - public facebook::react::Tag getAnimatedValueTag() const noexcept; - public int getId() const noexcept; - public static std::optional getDriverTypeByName(const std::string& driverTypeName); - public virtual void updateConfig(folly::dynamic config); - public virtual ~AnimationDriver() = default; - public void runAnimationStep(double renderingTime); - public void startAnimation(); - public void stopAnimation(bool ignoreCompletedHandlers = false); -} - -class facebook::react::AppRegistryBinding { - public AppRegistryBinding() = delete; - public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); -} - class facebook::react::AppleEventBeat : public facebook::react::EventBeat, public facebook::react::RunLoopObserver::Delegate { public AppleEventBeat(const facebook::react::AppleEventBeat&) = delete; public AppleEventBeat(facebook::react::AppleEventBeat&&) = delete; @@ -4193,151 +3539,6 @@ class facebook::react::AsyncArrayBuffer { public ~AsyncArrayBuffer() = default; } -class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { - public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; - public bool isContentEqual(const facebook::react::AttributedString& rhs) const; - public bool isEmpty() const; - public bool operator==(const facebook::react::AttributedString& rhs) const; - public const facebook::react::AttributedString::Fragments& getFragments() const; - public const facebook::react::TextAttributes& getBaseTextAttributes() const; - public facebook::react::AttributedString::Fragments& getFragments(); - public std::string getString() const; - public using Fragments = std::vector; - public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); - public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); - public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); -} - -class facebook::react::AttributedString::Fragment { - public bool isAttachment() const; - public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; - public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; - public facebook::react::ShadowView parentShadowView; - public facebook::react::TextAttributes textAttributes; - public static std::string AttachmentCharacter(); - public std::string string; -} - -class facebook::react::AttributedString::Range { - public int length; - public int location; -} - -class facebook::react::AttributedStringBox { - public AttributedStringBox(); - public AttributedStringBox(const facebook::react::AttributedString& value); - public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; - public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; - public AttributedStringBox(std::shared_ptr opaquePointer); - public const facebook::react::AttributedString& getValue() const; - public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; - public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; - public facebook::react::AttributedStringBox::Mode getMode() const; - public std::shared_ptr getOpaquePointer() const; -} - -enum facebook::react::AttributedStringBox::Mode { - OpaquePointer, - Value, -} - -class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseParagraphProps() = default; - public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool isSelectable; - public bool onTextLayout; - public facebook::react::ParagraphAttributes paragraphAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { - public BaseScrollViewProps() = default; - public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool alwaysBounceHorizontal; - public bool alwaysBounceVertical; - public bool automaticallyAdjustContentInsets; - public bool automaticallyAdjustKeyboardInsets; - public bool automaticallyAdjustsScrollIndicatorInsets; - public bool bounces; - public bool bouncesZoom; - public bool canCancelContentTouches; - public bool centerContent; - public bool directionalLockEnabled; - public bool disableIntervalMomentum; - public bool horizontal; - public bool isInvertedVirtualizedList; - public bool pagingEnabled; - public bool persistentScrollbar; - public bool pinchGestureEnabled; - public bool scrollEnabled; - public bool scrollToOverflowEnabled; - public bool scrollsToTop; - public bool showsHorizontalScrollIndicator; - public bool showsVerticalScrollIndicator; - public bool snapToEnd; - public bool snapToStart; - public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; - public facebook::react::EdgeInsets contentInset; - public facebook::react::EdgeInsets scrollIndicatorInsets; - public facebook::react::Float decelerationRate; - public facebook::react::Float endDraggingSensitivityMultiplier; - public facebook::react::Float maximumZoomScale; - public facebook::react::Float minimumZoomScale; - public facebook::react::Float scrollEventThrottle; - public facebook::react::Float snapToInterval; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::ScrollViewIndicatorStyle indicatorStyle; - public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; - public facebook::react::ScrollViewSnapToAlignment snapToAlignment; - public std::optional maintainVisibleContentPosition; - public std::vector snapToOffsets; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseTextInputProps() = default; - public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool autoFocus; - public bool disableKeyboardShortcuts; - public bool editable; - public bool multiline; - public bool readOnly; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::SharedColor cursorColor; - public facebook::react::SharedColor placeholderTextColor; - public facebook::react::SharedColor selectionColor; - public facebook::react::SharedColor selectionHandleColor; - public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; - public facebook::react::SubmitBehavior submitBehavior; - public facebook::react::TextAttributes getEffectiveTextAttributes(facebook::react::Float fontSizeMultiplier) const; - public int maxLength; - public int mostRecentEventCount; - public std::optional> acceptDragAndDropTypes; - public std::string autoCapitalize; - public std::string defaultValue; - public std::string placeholder; - public std::string text; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextProps { - public BaseTextProps() = default; - public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::TextAttributes textAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextShadowNode { - public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); - public using Attachments = std::vector; -} - -class facebook::react::BaseTextShadowNode::Attachment { - public const facebook::react::ShadowNode* shadowNode; - public size_t fragmentIndex; -} - class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { public void onAccessibilityAction(const std::string& name) const; public void onAccessibilityEscape() const; @@ -4394,82 +3595,6 @@ class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { - public BigStringBuffer(std::unique_ptr script); - public virtual const uint8_t* data() const override; - public virtual size_t size() const override; -} - -class facebook::react::BindingsInstaller { - public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); -} - -class facebook::react::BridgelessNativeMethodCallInvoker : public facebook::react::NativeMethodCallInvoker { - public BridgelessNativeMethodCallInvoker(std::shared_ptr messageQueueThread); - public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; - public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; -} - -class facebook::react::BufferedRuntimeExecutor : public std::enable_shared_from_this { - public BufferedRuntimeExecutor(facebook::react::BufferedRuntimeExecutor::Executor executor); - public facebook::react::RuntimeExecutor asRuntimeExecutor(); - public facebook::react::RuntimeExecutor asWeakRuntimeExecutor(); - public using Executor = std::function; - public using Work = std::function; - public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void execute(facebook::react::SchedulerPriority priority, facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void flush(); -} - -class facebook::react::CSSSyntaxParser { - public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; - public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; - public constexpr CSSSyntaxParser(std::string_view css); - public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); - public constexpr bool isFinished() const; - public constexpr const facebook::react::CSSToken& peek() const; - public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; - public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; - public constexpr void consumeWhitespace(); - template - public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); - template - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); -} - -class facebook::react::CSSToken { - public constexpr CSSToken(const facebook::react::CSSToken& other) = default; - public constexpr CSSToken(facebook::react::CSSToken&& other) = default; - public constexpr CSSToken(facebook::react::CSSTokenType type); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); - public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); - public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; - public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; - public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; - public constexpr facebook::react::CSSTokenType type() const; - public constexpr float numericValue() const; - public constexpr std::string_view stringValue() const; - public constexpr std::string_view unit() const; -} - -class facebook::react::CSSTokenizer { - public constexpr CSSTokenizer(std::string_view characters); - public constexpr facebook::react::CSSToken next(); -} - -class facebook::react::CSSValueParser { - public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; - public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); - public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; - public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); - public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); -} - class facebook::react::CallInvoker { public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; @@ -4479,13 +3604,6 @@ class facebook::react::CallInvoker { public virtual ~CallInvoker() = default; } -class facebook::react::CallInvokerImpl : public facebook::react::CallInvoker { - public CallInvokerImpl(std::shared_ptr bufferedRuntimeExecutor, std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { public facebook::jsi::Function& callback() noexcept; public facebook::jsi::Runtime& runtime() noexcept; @@ -4495,32 +3613,6 @@ class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject public void destroy(); } -class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; -} - -class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; -} - -class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { - public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::Color getColor(); - public virtual void update() override; -} - -class facebook::react::ComponentBuilder { - public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; - public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; - public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); - public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; - public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; - template - public std::shared_ptr build(facebook::react::Element element) const; -} - class facebook::react::ComponentDescriptor { protected facebook::react::ComponentDescriptor::Flavor flavor_; protected facebook::react::EventDispatcher::Weak eventDispatcher_; @@ -4597,71 +3689,12 @@ class facebook::react::DebuggingOverlayProps : public facebook::react::HostPlatf public DebuggingOverlayProps(const facebook::react::PropsParserContext& context, const facebook::react::DebuggingOverlayProps& sourceProps, const facebook::react::RawProps& rawProps); } -class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::DevToolsRuntimeSettings { - public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; - public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; - public static facebook::react::DevToolsRuntimeSettings& getInstance(); - public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; - public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; - public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); - public ~DevToolsRuntimeSettings() = default; -} - -class facebook::react::DevToolsRuntimeSettingsModule : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec { - public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); - public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); -} - -class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { - public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::ElementFragment { - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; - public facebook::react::ElementFragment::List children; - public facebook::react::ElementFragment::ReferenceCallback referenceCallback; - public facebook::react::ElementFragment::StateCallback stateCallback; - public facebook::react::Props::Shared props; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public using FinalizeCallback = std::function; - public using List = std::vector; - public using ListOfShared = std::vector; - public using ReferenceCallback = std::function& shadowNode)>; - public using Shared = std::shared_ptr; - public using StateCallback = std::function; -} - class facebook::react::Error { public Error(const char* message); public Error(std::string message); public const std::string& message() const; } -class facebook::react::EventAnimationDriver { - protected const facebook::react::Tag animatedValueTag_; - protected std::vector eventPath_; - public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); - public facebook::react::Tag getAnimatedNodeTag() const; - public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); - public ~EventAnimationDriver() = default; -} - class facebook::react::EventBeat { protected facebook::react::EventBeat::BeatCallback beatCallback_; protected mutable std::atomic isEventBeatRequested_; @@ -4732,15 +3765,6 @@ class facebook::react::EventLogger { public virtual ~EventLogger() = default; } -class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { - public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); - public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; - public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; -} - class facebook::react::EventQueue { protected const std::unique_ptr eventBeat_; protected facebook::react::EventQueueProcessor eventProcessor_; @@ -4789,45 +3813,6 @@ class facebook::react::EventTarget { public void setEnabled(bool enabled); } -class facebook::react::ExecutorDelegate { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; - public virtual std::shared_ptr getModuleRegistry() = 0; - public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; - public virtual ~ExecutorDelegate() = default; -} - -class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - protected virtual void updateConfig(folly::dynamic config) override; - public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::FuseboxTracer { - public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; - public bool isTracing(); - public bool startTracing(); - public bool stopTracing(const std::function& resultCallback); - public bool stopTracingAndWriteToFile(const std::string& path); - public static facebook::react::FuseboxTracer& getFuseboxTracer(); - public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); -} - -class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { - public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; -} - -class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { - public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; - public void setDebuggerName(const std::string& debuggerName); - public void setEnableDebugger(bool enableDebugger); -} - -class facebook::react::HermesInstance { - public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; -} - class facebook::react::HighResDuration { public constexpr HighResDuration(); public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; @@ -4897,26 +3882,12 @@ class facebook::react::IAsyncEventEmitter { public virtual ~IAsyncEventEmitter() noexcept = default; } -class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ImageErrorInfo { public int responseCode; public std::string error; public std::vector> httpResponseHeaders; } -class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onError(const facebook::react::ImageErrorInfo& error) const; - public void onLoad(const facebook::react::ImageSource& source) const; - public void onLoadEnd() const; - public void onLoadStart() const; - public void onPartialLoad() const; - public void onProgress(double progress, int64_t loaded, int64_t total) const; -} - class facebook::react::ImageLoadError { public ImageLoadError(std::shared_ptr error); public std::shared_ptr getError() const; @@ -4928,25 +3899,6 @@ class facebook::react::ImageManager { public virtual ~ImageManager(); } -class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { - public ImageProps() = default; - public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool shouldNotifyLoadEvents; - public facebook::react::EdgeInsets capInsets; - public facebook::react::Float blurRadius; - public facebook::react::Float resizeMultiplier; - public facebook::react::ImageResizeMode resizeMode; - public facebook::react::ImageSource defaultSource; - public facebook::react::ImageSource loadingIndicatorSource; - public facebook::react::ImageSources sources; - public facebook::react::SharedColor overlayColor; - public std::optional progressiveRenderingEnabled; - public std::optional fadeDuration; - public std::optional tintColor; - public std::string resizeMethod; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - class facebook::react::ImageRequest { public ImageRequest(const facebook::react::ImageRequest& other) = delete; public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; @@ -4997,15 +3949,6 @@ class facebook::react::ImageResponseObserverCoordinator { public void removeObserver(const std::shared_ptr& observer) const; } -class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { - public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setImageManager(const std::shared_ptr& imageManager); -} - class facebook::react::ImageSource { public bool operator==(const facebook::react::ImageSource& rhs) const; public facebook::react::Float scale; @@ -5032,24 +3975,12 @@ enum facebook::react::ImageSource::Type { Remote, } -class facebook::react::ImageState { - public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const facebook::react::ImageRequestParams& imageRequestParams); - public const facebook::react::ImageRequest& getImageRequest() const; - public const facebook::react::ImageRequestParams& getImageRequestParams() const; - public facebook::react::ImageSource getImageSource() const; -} - class facebook::react::ImageTelemetry { public ImageTelemetry(const facebook::react::SurfaceId surfaceId); public facebook::react::SurfaceId getSurfaceId() const; public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; } -class facebook::react::InputAccessoryComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public InputAccessoryComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::InputAccessoryEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -5059,18 +3990,6 @@ class facebook::react::InputAccessoryProps : public facebook::react::HostPlatfor public facebook::react::SharedColor backgroundColor; } -class facebook::react::InputAccessoryShadowNode : public facebook::react::ConcreteViewShadowNode { - public InputAccessoryShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public InputAccessoryShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::InputAccessoryState { - public InputAccessoryState(); - public InputAccessoryState(facebook::react::Size viewportSize_); - public const facebook::react::Size viewportSize; -} - class facebook::react::InstanceHandle { public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; @@ -5078,43 +3997,6 @@ class facebook::react::InstanceHandle { public using Shared = std::shared_ptr; } -class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { - public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; - public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; - public virtual void update() override; -} - -class facebook::react::IntersectionObserver { - public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); - public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); - public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); - public std::vector getThresholds() const; -} - -class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public IntersectionObserverManager(); - public std::vector takeRecords(); - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); - public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); -} - -class facebook::react::IntersectionObserverState { - public bool isIntersecting() const; - public bool operator==(const facebook::react::IntersectionObserverState& other) const; - public static facebook::react::IntersectionObserverState Initial(); - public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold); - public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold, facebook::react::Float rootThreshold); - public static facebook::react::IntersectionObserverState NotIntersecting(); -} - class facebook::react::JSBigBufferString : public facebook::react::JSBigString { public JSBigBufferString(size_t size); public char* mutableData(); @@ -5154,142 +4036,9 @@ class facebook::react::JSBigString : public facebook::jsi::Buffer { public ~JSBigString() override = default; } -class facebook::react::JSExecutor { - public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); - public virtual bool isInspectable(); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); - public virtual std::string getDescription() = 0; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; - public virtual void destroy(); - public virtual void flush(); - public virtual void handleMemoryPressure(int pressureLevel); - public virtual void initializeRuntime() = 0; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; - public virtual void* getJavaScriptContext(); - public virtual ~JSExecutor() = default; -} - -class facebook::react::JSExecutorFactory { - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; - public virtual ~JSExecutorFactory() = default; -} - -class facebook::react::JSIExecutor : public facebook::react::JSExecutor { - public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); - public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); - public using RuntimeInstaller = std::function; - public virtual bool isInspectable() override; - public virtual std::string getDescription() override; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; - public virtual void flush() override; - public virtual void handleMemoryPressure(int pressureLevel) override; - public virtual void initializeRuntime() override; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; - public virtual void* getJavaScriptContext() override; -} - -class facebook::react::JSIRuntimeHolder : public facebook::react::JSRuntime { - public JSIRuntimeHolder(std::unique_ptr runtime); - public virtual facebook::jsi::Runtime& getRuntime() noexcept override; -} - -class facebook::react::JSRuntime { - public virtual facebook::jsi::Runtime& getRuntime() noexcept = 0; - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); - public virtual ~JSRuntime() = default; -} - -class facebook::react::JSRuntimeFactory { - public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept = 0; - public virtual ~JSRuntimeFactory() = default; -} - -class facebook::react::JsErrorHandler { - public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); - public bool hasHandledFatalError(); - public bool inErrorHandler(); - public bool isRuntimeReady(); - public using OnJsError = std::function; - public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); - public void notifyOfFatalError(); - public void registerErrorListener(const std::function& listener); - public void setRuntimeReady(); - public ~JsErrorHandler(); -} - -struct facebook::react::JsErrorHandler::ProcessedError { - public bool isFatal; - public facebook::jsi::Object extraData; - public int id; - public std::optional componentStack; - public std::optional name; - public std::optional originalMessage; - public std::string message; - public std::vector stack; -} - -struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { - public std::optional column; - public std::optional lineNumber; - public std::optional file; - public std::string methodName; -} - -class facebook::react::LayoutAnimationCallbackWrapper { - public LayoutAnimationCallbackWrapper(); - public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); - public void call(facebook::jsi::Runtime& runtime) const; -} - -class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; - public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); -} - -class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { - protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected facebook::react::ShadowView createInterpolatedShadowView(facebook::react::Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; - protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; - protected mutable std::mutex currentAnimationMutex_; - protected mutable std::optional currentAnimation_; - protected mutable std::vector inflightAnimations_; - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; - protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; - protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; - public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); - public virtual bool shouldAnimateFrame() const override; - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; - public void setClockNow(std::function now); - public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; - public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; -} - -class facebook::react::LayoutAnimationStatusDelegate { - public virtual void onAllAnimationsComplete() = 0; - public virtual void onAnimationStarted() = 0; - public virtual ~LayoutAnimationStatusDelegate() = default; -} - class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { } -class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; -} - class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); @@ -5322,44 +4071,6 @@ struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { public bool includeViewportOffset; } -class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { - public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); - public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); - public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; - public virtual void lockRevisions() override; - public virtual void unlockRevisions() override; -} - -class facebook::react::LeakChecker { - public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); - public void stopSurface(facebook::react::SurfaceId surfaceId); - public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; -} - -class facebook::react::LegacyViewManagerInteropComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public LegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public LegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::ComponentHandle getComponentHandle() const override; - public virtual facebook::react::ComponentName getComponentName() const override; -} - -class facebook::react::LegacyViewManagerInteropState { - public std::shared_ptr coordinator; -} - -class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { - public LegacyViewManagerInteropViewProps() = default; - public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public const folly::dynamic otherProps; -} - -class facebook::react::LineMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::Size size; -} - class facebook::react::LongLivedObject { protected LongLivedObject(facebook::jsi::Runtime& runtime); protected facebook::jsi::Runtime& runtime_; @@ -5441,25 +4152,6 @@ class facebook::react::MapBufferBuilder { public void putString(facebook::react::MapBuffer::Key key, const std::string& value); } -class facebook::react::MergedValueDispatcher { - public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); - public using DispatchFunction = std::function&&)>; - public using MergedValueFunction = std::function&& tagToProps)>; - public void dispatch(const std::unordered_map& value); -} - -class facebook::react::MessageQueueThread { - public virtual void quitSynchronous() = 0; - public virtual void runOnQueue(std::function&&) = 0; - public virtual void runOnQueueSync(std::function&&) = 0; - public virtual ~MessageQueueThread() = default; -} - -class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ModalHostViewEventEmitter : public facebook::react::BaseViewEventEmitter { public static char const* toString(const facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation value); public void onDismiss(facebook::react::ModalHostViewEventEmitter::OnDismiss value) const; @@ -5501,83 +4193,6 @@ class facebook::react::ModalHostViewProps : public facebook::react::HostPlatform public int identifier; } -class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::ModalHostViewState { - public ModalHostViewState(); - public ModalHostViewState(facebook::react::Size screenSize_); - public const facebook::react::Size screenSize; - public using Shared = std::shared_ptr; -} - -class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { - public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MountingCoordinator { - public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); - public bool hasPendingTransactions() const; - public bool waitForTransaction(std::chrono::duration timeout) const; - public const facebook::react::TelemetryController& getTelemetryController() const; - public facebook::react::ShadowTreeRevision getBaseRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional pullTransaction(bool willPerformAsynchronously = false) const; - public void didPerformAsyncTransactions() const; - public void setMountingOverrideDelegate(std::weak_ptr delegate) const; -} - -class facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const = 0; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; - public virtual ~MountingOverrideDelegate() = default; -} - -class facebook::react::MountingTransaction { - public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; - public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; - public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); - public const facebook::react::ShadowViewMutationList& getMutations() const; - public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; - public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; - public facebook::react::MountingTransaction::Number getNumber() const; - public facebook::react::ShadowViewMutationList getMutations(); - public facebook::react::SurfaceId getSurfaceId() const; - public facebook::react::TransactionTelemetry& getTelemetry() const; - public using Number = int64_t; - public void mergeWith(facebook::react::MountingTransaction&& transaction); -} - -class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { - public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MutationObserver { - public MutationObserver(const facebook::react::MutationObserver&) = delete; - public MutationObserver(facebook::react::MutationObserver&&) = default; - public MutationObserver(facebook::react::MutationObserverId mutationObserverId); - public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; - public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; - public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); - public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; -} - -class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { - public MutationObserverManager(); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); - public void disconnect(facebook::react::UIManager& uiManager); - public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); - public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); -} - class facebook::react::NSDataBigString : public facebook::react::JSBigString { public NSDataBigString(NSData* data); public virtual bool isAscii() const override; @@ -5605,68 +4220,6 @@ class facebook::react::NativeAnimatedModuleSpecJSI : public facebook::react::Obj public NativeAnimatedModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { - public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; - public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; - public bool commitProps(); - public bool hasManagedProps() const noexcept; - public bool isOnRenderThread() const noexcept; - public bool useSharedAnimatedBackend() const noexcept; - public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); - public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); - public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; - public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; - public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; - public std::optional getValue(facebook::react::Tag tag) noexcept; - public std::shared_ptr getEventEmitterListener() noexcept; - public using DirectManipulationCallback = std::function; - public using FabricCommitCallback = std::function&)>; - public using FrameRateListenerCallback = std::function; - public using ResolvePlatformColor = std::function; - public using StartOnRenderCallback = std::function&&, bool isAsync)>; - public using StopOnRenderCallback = std::function; - public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; - public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; - public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void dropAnimatedNode(facebook::react::Tag tag) noexcept; - public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); - public void flattenAnimatedNodeOffset(facebook::react::Tag tag); - public void flushAnimatedNodesCreatedAsync() noexcept; - public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); - public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; - public void onRender(); - public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; - public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; - public void restoreDefaultValues(facebook::react::Tag tag) noexcept; - public void scheduleOnUI(facebook::react::UiTask&& task); - public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; - public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); - public void setAnimatedNodeValue(facebook::react::Tag tag, double value); - public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; - public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; - public void startRenderCallbackIfNeeded(bool isAsync); - public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; - public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; - public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; - public ~NativeAnimatedNodesManager() noexcept; - template >> - public T* getAnimatedNode(facebook::react::Tag tag) const; -} - -class facebook::react::NativeAnimatedNodesManagerProvider { - public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); - public std::shared_ptr getEventEmitterListener(); - public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); - public void addEventEmitterListener(const std::shared_ptr& listener); -} - class facebook::react::NativeAnimatedTurboModuleSpecJSI : public facebook::react::ObjCTurboModule { public NativeAnimatedTurboModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5683,41 +4236,10 @@ class facebook::react::NativeBlobModuleSpecJSI : public facebook::react::ObjCTur public NativeBlobModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeCPUTime : public facebook::react::NativeCPUTimeCxxSpec { - public NativeCPUTime(std::shared_ptr jsInvoker); - public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); - public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); -} - class facebook::react::NativeClipboardSpecJSI : public facebook::react::ObjCTurboModule { public NativeClipboardSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeDOM : public facebook::react::NativeDOMCxxSpec { - public NativeDOM(std::shared_ptr jsInvoker); - public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); - public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); - public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); - public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); - public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); - public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); - public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); - public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); - public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); -} - class facebook::react::NativeDevLoadingViewSpecJSI : public facebook::react::ObjCTurboModule { public NativeDevLoadingViewSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5758,12 +4280,6 @@ class facebook::react::NativeI18nManagerSpecJSI : public facebook::react::ObjCTu public NativeI18nManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeIdleCallbacks : public facebook::react::NativeIdleCallbacksCxxSpec { - public NativeIdleCallbacks(std::shared_ptr jsInvoker); - public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); - public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); -} - class facebook::react::NativeImageEditorSpecJSI : public facebook::react::ObjCTurboModule { public NativeImageEditorSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5776,15 +4292,6 @@ class facebook::react::NativeImageStoreIOSSpecJSI : public facebook::react::ObjC public NativeImageStoreIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeIntersectionObserver : public facebook::react::NativeIntersectionObserverCxxSpec { - public NativeIntersectionObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeJSCHeapCaptureSpecJSI : public facebook::react::ObjCTurboModule { public NativeJSCHeapCaptureSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5807,91 +4314,10 @@ class facebook::react::NativeMethodCallInvoker { public virtual ~NativeMethodCallInvoker() = default; } -class facebook::react::NativeMicrotasks : public facebook::react::NativeMicrotasksCxxSpec { - public NativeMicrotasks(std::shared_ptr jsInvoker); - public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); -} - -class facebook::react::NativeModulePerfLogger { - public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; - public virtual void asyncMethodCallBatchPreprocessStart() = 0; - public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; - public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual ~NativeModulePerfLogger() = default; -} - -class facebook::react::NativeMutationObserver : public facebook::react::NativeMutationObserverCxxSpec { - public NativeMutationObserver(std::shared_ptr jsInvoker); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); - public void disconnect(facebook::jsi::Runtime& runtime); - public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); - public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); -} - class facebook::react::NativeNetworkingIOSSpecJSI : public facebook::react::ObjCTurboModule { public NativeNetworkingIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativePerformance : public facebook::react::NativePerformanceCxxSpec { - public NativePerformance(std::shared_ptr jsInvoker); - public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); - public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); - public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); - public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); - public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); - public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); - public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); - public std::vector getEntries(facebook::jsi::Runtime& rt); - public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); - public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); - public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); - public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); - public std::vector> getEventCounts(facebook::jsi::Runtime& rt); - public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); - public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); - public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); - public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); - public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); -} - class facebook::react::NativePlatformConstantsIOSSpecJSI : public facebook::react::ObjCTurboModule { public NativePlatformConstantsIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5912,15 +4338,6 @@ class facebook::react::NativeRedBoxSpecJSI : public facebook::react::ObjCTurboMo public NativeRedBoxSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeResizeObserver : public facebook::react::NativeResizeObserverCxxSpec { - public NativeResizeObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeResizeObserverObserveOptions& options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::NativeResizeObserverNotifyCallback notifyResizeObserversFunction); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserve(facebook::jsi::Runtime& runtime, facebook::react::ResizeObserverObserverId resizeObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::ObjCTurboModule { public NativeSegmentFetcherSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5965,24 +4382,6 @@ class facebook::react::NativeWebSocketModuleSpecJSI : public facebook::react::Ob public NativeWebSocketModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NetworkReporter { - public bool isDebuggingEnabled() const; - public static facebook::react::NetworkReporter& getInstance(); - public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); - public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); - public void reportRequestFailed(const std::string& requestId, bool cancelled) const; - public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); - public void reportResponseEnd(const std::string& requestId, int encodedDataLength); - public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); - public void reportWebSocketClosed(const std::string& requestId) const; - public void reportWebSocketCreated(const std::string& requestId, const std::string& url) const; - public void reportWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t statusCode, const facebook::react::Headers& headers) const; - public void reportWebSocketMessageReceived(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketMessageSent(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::Headers& headers) const; - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - class facebook::react::ObjCInteropTurboModule : public facebook::react::ObjCTurboModule { protected virtual NSString* getArgumentTypeName(facebook::jsi::Runtime& runtime, NSString* methodName, int argIndex) override; protected virtual facebook::jsi::Value convertReturnIdToJSIValue(facebook::jsi::Runtime& runtime, const char* methodName, facebook::react::TurboModuleMethodValueKind returnType, id result) override; @@ -6019,181 +4418,12 @@ struct facebook::react::ObjCTurboModule::InitParams { public std::string moduleName; } -class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { - public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(std::string propKey, folly::dynamic& props); -} - -class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { - protected std::vector inputNodes_; - public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); -} - -class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { - public bool adjustsFontSizeToFit; - public bool includeFontPadding; - public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; - public facebook::react::EllipsizeMode ellipsizeMode; - public facebook::react::Float minimumFontScale; - public facebook::react::Float minimumFontSize; - public facebook::react::HyphenationFrequency android_hyphenationFrequency; - public facebook::react::TextBreakStrategy textBreakStrategy; - public facebook::react::TextWidthMode textWidthMode; - public int maximumNumberOfLines; - public std::optional textAlignVertical; -} - -class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; -} - -class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; - public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - -class facebook::react::ParagraphShadowNode::Content { - public facebook::react::AttributedString attributedString; - public facebook::react::BaseTextShadowNode::Attachments attachments; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::PerformanceEntryBuffer { - public PerformanceEntryBuffer() = default; - public facebook::react::HighResDuration durationThreshold; - public size_t droppedEntriesCount; - public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; - public virtual void clear() = 0; - public virtual void clear(const std::string& name) = 0; - public virtual void getEntries(std::vector& target) const = 0; - public virtual void getEntries(std::vector& target, const std::string& name) const = 0; - public virtual ~PerformanceEntryBuffer() = default; -} - -class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryCircularBuffer(size_t size); - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; - public ~PerformanceEntryCircularBuffer() override = default; -} - -class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryKeyedBuffer() = default; - public std::optional find(const std::string& name) const; - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; -} - -class facebook::react::PerformanceEntryReporter { - public PerformanceEntryReporter(); - public const std::unordered_map& getEventCounts() const; - public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); - public static std::shared_ptr& getInstance(); - public static std::vector getSupportedEntryTypes(); - public std::optional getMarkTime(const std::string& markName) const; - public std::vector getEntries() const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; - public using UserTimingDetailProvider = std::function; - public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void clearEntries(); - public void clearEntries(facebook::react::PerformanceEntryType entryType); - public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); - public void clearEventCounts(); - public void getEntries(std::vector& dest) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); - public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); - public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); -} - -class facebook::react::PerformanceEntryReporterEventListener { - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); - public virtual ~PerformanceEntryReporterEventListener() = default; -} - -class facebook::react::PerformanceObserver : public std::enable_shared_from_this { - public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public std::vector takeRecords(); - public uint32_t getDroppedEntriesCount() noexcept; - public void disconnect() noexcept; - public void handleEntry(const facebook::react::PerformanceEntry& entry); - public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); - public void observe(std::unordered_set types); - public ~PerformanceObserver() = default; -} - -class facebook::react::PerformanceObserverRegistry { - public PerformanceObserverRegistry() = default; - public void addObserver(std::shared_ptr observer); - public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); - public void removeObserver(std::shared_ptr observer); -} - class facebook::react::PlatformRunLoopObserver : public facebook::react::RunLoopObserver { public PlatformRunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner, CFRunLoopRef runLoop); public virtual bool isOnRunLoopThread() const noexcept override; public ~PlatformRunLoopObserver(); } -class facebook::react::PlatformTimerRegistry { - public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; - public virtual void createTimer(uint32_t timerID, double delayMS) = 0; - public virtual void deleteTimer(uint32_t timerID) = 0; - public virtual void quit(); - public virtual void setTimerManager(std::weak_ptr); - public virtual ~PlatformTimerRegistry() noexcept = default; -} - -class facebook::react::PointerEventsProcessor { - public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); - public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); - public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); -} - -class facebook::react::PointerHoverTracker { - public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); - public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; - public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; - public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; - public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; - public using EventPath = std::vector>; - public using Unique = std::unique_ptr; - public void markAsOld(); -} - -class facebook::react::PreparedTextCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::Float pointScaleFactor; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { public Props() = default; public Props(const facebook::react::Props& other) = default; @@ -6205,21 +4435,6 @@ class facebook::react::Props : public virtual facebook::react::Sealable, public public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { - public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::SurfaceId connectedRootTag() const; - public facebook::react::Tag connectedViewTag() const; - public folly::dynamic props(); - public virtual void update() override; - public void collectProps(); - public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); - public void connectToView(facebook::react::Tag viewTag); - public void disconnectFromShadowNodeFamily(); - public void disconnectFromView(facebook::react::Tag viewTag); - public void restoreDefaultValues(); - public void update(bool forceFabricCommit); -} - class facebook::react::PullToRefreshViewEventEmitter : public facebook::react::BaseViewEventEmitter { public void onRefresh(facebook::react::PullToRefreshViewEventEmitter::OnRefresh value) const; } @@ -6243,14 +4458,6 @@ class facebook::react::RCTBlobCollector : public facebook::jsi::HostObject { public ~RCTBlobCollector(); } -class facebook::react::RCTHermesInstance : public facebook::react::JSRuntimeFactory { - public RCTHermesInstance(); - public RCTHermesInstance(facebook::react::CrashManagerProvider crashManagerProvider); - public RCTHermesInstance(facebook::react::CrashManagerProvider crashManagerProvider, bool allocInOldGenBeforeTTI); - public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept override; - public ~RCTHermesInstance() override; -} - class facebook::react::RCTImageResponseObserverProxy : public facebook::react::ImageResponseObserver { public RCTImageResponseObserverProxy(id delegate = nil); public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const override; @@ -6258,12 +4465,6 @@ class facebook::react::RCTImageResponseObserverProxy : public facebook::react::I public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const override; } -class facebook::react::RCTJscInstance : public facebook::react::JSRuntimeFactory { - public RCTJscInstance(); - public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept override; - public ~RCTJscInstance(); -} - class facebook::react::RCTMessageThread : public facebook::react::MessageQueueThread, public std::enable_shared_from_this { public RCTMessageThread(NSRunLoop* runLoop, RCTJavaScriptCompleteBlock errorBlock); public virtual void quitSynchronous() override; @@ -6311,15 +4512,6 @@ class facebook::react::RawPropsParser { public void prepare() noexcept; } -class facebook::react::RawTextProps : public facebook::react::Props { - public RawTextProps() = default; - public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public std::string text; -} - -class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { -} - class facebook::react::RawValue { public RawValue() noexcept; public RawValue(const folly::dynamic& dynamic) noexcept; @@ -6336,230 +4528,6 @@ class facebook::react::RawValue { public operator T() const; } -class facebook::react::ReactInstance { - public ReactInstance(const facebook::react::ReactInstance&) = delete; - public ReactInstance(facebook::react::ReactInstance&&) = delete; - public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); - public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; - public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; - public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; - public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; - public std::shared_ptr createJSCallInvoker() noexcept; - public std::shared_ptr getRuntimeScheduler() noexcept; - public using BindingsInstallFunc = std::function; - public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); - public void handleMemoryPressureJs(int pressureLevel); - public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; - public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); - public void registerSegment(uint32_t segmentId, const std::string& segmentPath); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~ReactInstance() noexcept override; -} - -struct facebook::react::ReactInstance::JSRuntimeFlags { - public bool isProfiling; - public const std::string runtimeDiagnosticFlags; -} - -class facebook::react::ReactPerfettoLogger { - public static bool isTracing(); - public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); - public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); -} - -class facebook::react::ResizeObserver { - public ResizeObserver(facebook::react::ResizeObserverObserverId resizeObserverId, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions, uint64_t observationSequence); - public bool hasDeliveredDetachedState() const; - public bool needsInitialDeliveryCheck() const; - public facebook::react::ResizeObservationResult computeActiveObservation(const facebook::react::RootShadowNode& rootShadowNode) const; - public facebook::react::ResizeObserverObserverId getResizeObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public uint64_t getObservationSequence() const; - public void markAsReported(const facebook::react::ResizeObservationResult& result); - public void updateDetachedState(bool detached); -} - -class facebook::react::ResizeObserverManager : public facebook::react::UIManagerCommitHook, public facebook::react::RuntimeSchedulerResizeObserverDelegate { - public ResizeObserverManager(); - public std::vector takeRecords(); - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyResizeObserversFunction); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions); - public void unobserve(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily); -} - -class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { - public RootProps() = default; - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; -} - -class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { - public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public bool layoutIfNeeded(std::vector* affectedNodes = {}); - public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using Shared = std::shared_ptr; - public using Unshared = std::shared_ptr; - public virtual facebook::react::Transform getTransform() const override; - public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; -} - -class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { - public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::RunLoopObserver { - protected const facebook::react::RunLoopObserver::Activity activities_; - protected const facebook::react::RunLoopObserver::WeakOwner owner_; - protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; - protected mutable std::atomic enabled_; - protected virtual void startObserving() const noexcept = 0; - protected virtual void stopObserving() const noexcept = 0; - protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; - public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; - public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; - public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; - public using Owner = std::shared_ptr; - public using WeakOwner = std::weak_ptr; - public virtual bool isOnRunLoopThread() const noexcept = 0; - public virtual ~RunLoopObserver() noexcept = default; - public void disable() const noexcept; - public void enable() const noexcept; - public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; -} - -class facebook::react::RunLoopObserver::Delegate { - public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; - public virtual ~Delegate() noexcept = default; -} - -enum facebook::react::RunLoopObserver::Activity : int32_t { - AfterWaiting, - BeforeWaiting, - None, -} - -class facebook::react::RuntimeScheduler : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; - public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); - public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; - public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; - public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeSchedulerBase : public facebook::hermes::IEventLoopControl { - public virtual bool getShouldYield() noexcept = 0; - public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; - public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; - public virtual void scheduleTask(const std::function& task) = 0; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) = 0; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; - public virtual ~RuntimeSchedulerBase() = default; -} - -class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { - public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); - public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public std::shared_ptr getRuntimeScheduler() noexcept; - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; -} - -class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { - public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - -class facebook::react::RuntimeSchedulerEventTimingDelegate { - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerEventTimingDelegate() = default; -} - -class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; -} - -class facebook::react::RuntimeSchedulerResizeObserverDelegate { - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) = 0; - public virtual ~RuntimeSchedulerResizeObserverDelegate() = default; -} - -class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; - public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { -} - class facebook::react::SafeAreaViewEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -6568,127 +4536,12 @@ class facebook::react::SafeAreaViewProps : public facebook::react::HostPlatformV public SafeAreaViewProps(const facebook::react::PropsParserContext& context, const facebook::react::SafeAreaViewProps& sourceProps, const facebook::react::RawProps& rawProps); } -class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { -} - -class facebook::react::SafeAreaViewState { - public facebook::react::EdgeInsets padding; -} - -class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { - public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); - public facebook::react::SchedulerDelegate* getDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr getUIManager() const; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidClearPendingSnapshots() override; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) override; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; - public void addEventListener(std::shared_ptr listener); - public void animationTick() const; - public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void setDelegate(facebook::react::SchedulerDelegate* delegate); - public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public ~Scheduler() override; -} - -class facebook::react::SchedulerDelegate { - public virtual void schedulerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidClearPendingSnapshots() = 0; - public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; - public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void schedulerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~SchedulerDelegate() noexcept = default; -} - -class facebook::react::ScopedShadowTreeRevisionLock { - public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ~ScopedShadowTreeRevisionLock() noexcept; -} - -class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { - public using EndDragMetrics = facebook::react::ScrollEndDragEvent; - public using Metrics = facebook::react::ScrollEvent; - public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; - public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; - public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; -} - -class facebook::react::ScrollViewMaintainVisibleContentPosition { - public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; - public int minIndexForVisible; - public std::optional autoscrollToTopThreshold; -} - -class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); - public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; -} - -class facebook::react::ScrollViewState { - public ScrollViewState() = default; - public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); - public bool disableViewCulling; - public facebook::react::Point contentOffset; - public facebook::react::Rect contentBoundingRect; - public facebook::react::Size getContentSize() const; - public int scrollAwayPaddingTop; -} - class facebook::react::Sealable { public bool getSealed() const; public void ensureUnsealed() const; public void seal() const; } -class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { - public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static constexpr facebook::react::ComponentName Name(); - public static facebook::react::ComponentHandle Handle(); -} - -class facebook::react::Selection { - public int end; - public int start; -} - class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { protected facebook::react::Props::Shared props_; protected facebook::react::ShadowNodeTraits traits_; @@ -6788,63 +4641,6 @@ enum facebook::react::ShadowNodeTraits::Trait : int32_t { ViewKind, } -class facebook::react::ShadowTree { - public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); - public bool promoteReactRevision() const; - public facebook::react::CommitMode getCommitMode() const; - public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::ShadowTreeRevision getCurrentRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional getCurrentReactRevision() const; - public std::shared_ptr getMountingCoordinator() const; - public using CommitMode = facebook::react::ShadowTreeCommitMode; - public using CommitOptions = facebook::react::ShadowTreeCommitOptions; - public using CommitSource = facebook::react::ShadowTreeCommitSource; - public using CommitStatus = facebook::react::ShadowTreeCommitStatus; - public using Unique = std::unique_ptr; - public void commitEmptyTree() const; - public void mergeReactRevision() const; - public void notifyDelegatesOfUpdates() const; - public void setCommitMode(facebook::react::CommitMode commitMode) const; - public ~ShadowTree(); -} - -class facebook::react::ShadowTreeDelegate { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) const; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; - public virtual ~ShadowTreeDelegate() noexcept = default; -} - -class facebook::react::ShadowTreeRegistry { - public ShadowTreeRegistry() = default; - public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; - public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; - public void add(std::unique_ptr&& shadowTree) const; - public void enumerate(const std::function& callback) const; - public ~ShadowTreeRegistry(); -} - -class facebook::react::ShadowTreeRevision { - public facebook::react::RootShadowNode::Shared rootShadowNode; - public facebook::react::ShadowTreeRevision::Number number; - public facebook::react::TransactionTelemetry telemetry; - public using Number = int64_t; -} - -class facebook::react::ShadowTreeRevisionConsistencyManager { - public virtual void lockRevisions() = 0; - public virtual void unlockRevisions() = 0; - public virtual ~ShadowTreeRevisionConsistencyManager() = default; -} - -class facebook::react::ShadowTreeRevisionProvider { - public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual ~ShadowTreeRevisionProvider() = default; -} - class facebook::react::SharedColor { public SharedColor(); public SharedColor(facebook::react::Color color); @@ -6856,15 +4652,6 @@ class facebook::react::SharedColor { public std::string toString() const noexcept; } -class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::StackTraceParser { - public static std::vector parse(bool isHermes, const std::string& stackString); -} - class facebook::react::State { protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); @@ -6888,90 +4675,6 @@ class facebook::react::StateUpdate { public using FailureCallback = std::function; } -class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { - public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool isLayoutStyleUpdated() const noexcept; - public void collectViewUpdates(folly::dynamic& props); -} - -class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::SurfaceHandler { - public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; - public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; - public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; - public facebook::react::DisplayMode getDisplayMode() const noexcept; - public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; - public facebook::react::LayoutContext getLayoutContext() const noexcept; - public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; - public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; - public facebook::react::SurfaceHandler::Status getStatus() const noexcept; - public facebook::react::SurfaceId getSurfaceId() const noexcept; - public folly::dynamic getProps() const noexcept; - public std::shared_ptr getMountingCoordinator() const noexcept; - public std::string getModuleName() const noexcept; - public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; - public virtual ~SurfaceHandler() noexcept; - public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public void setContextContainer(std::shared_ptr contextContainer) const noexcept; - public void setProps(const folly::dynamic& props) const noexcept; - public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; - public void start() const noexcept; - public void stop() const noexcept; -} - -enum facebook::react::SurfaceHandler::Status { - Registered, - Running, - Unregistered, -} - -class facebook::react::SurfaceManager { - public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; - public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; - public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; - public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; - public std::unordered_set getRunningSurfaces() const noexcept; - public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; - public void stopAllSurfaces() noexcept; - public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; - public ~SurfaceManager() noexcept; -} - -struct facebook::react::SurfaceManager::SurfaceProps { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; - public facebook::react::SurfaceId surfaceId; - public folly::dynamic props; - public std::string moduleName; -} - -class facebook::react::SurfaceTelemetry { - public facebook::react::TelemetryDuration getCommitTime() const; - public facebook::react::TelemetryDuration getDiffTime() const; - public facebook::react::TelemetryDuration getLayoutTime() const; - public facebook::react::TelemetryDuration getMountTime() const; - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public int getLastRevisionNumber() const; - public int getNumberOfMutations() const; - public int getNumberOfTextMeasurements() const; - public int getNumberOfTransactions() const; - public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; - public std::vector getRecentTransactionTelemetries() const; - public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); -} - -class facebook::react::SwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public SwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::SwitchEventEmitter : public facebook::react::BaseViewEventEmitter { public void onChange(facebook::react::SwitchEventEmitter::OnChange value) const; } @@ -6994,207 +4697,6 @@ class facebook::react::SwitchProps : public facebook::react::HostPlatformViewPro public facebook::react::SharedColor trackColorForTrue; } -class facebook::react::SwitchShadowNode : public facebook::react::ConcreteViewShadowNode { - public SwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; -} - -class facebook::react::TaskPriorityComparer { - public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); -} - -class facebook::react::TelemetryController { - public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; -} - -class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { - public bool operator==(const facebook::react::TextAttributes& rhs) const; - public facebook::react::Float fontSize; - public facebook::react::Float fontSizeMultiplier; - public facebook::react::Float letterSpacing; - public facebook::react::Float lineHeight; - public facebook::react::Float maxFontSizeMultiplier; - public facebook::react::Float opacity; - public facebook::react::Float textShadowRadius; - public facebook::react::SharedColor backgroundColor; - public facebook::react::SharedColor foregroundColor; - public facebook::react::SharedColor textDecorationColor; - public facebook::react::SharedColor textShadowColor; - public static facebook::react::TextAttributes defaultTextAttributes(); - public std::optional allowFontScaling; - public std::optional isHighlighted; - public std::optional isPressable; - public std::optional accessibilityRole; - public std::optional dynamicTypeRamp; - public std::optional fontStyle; - public std::optional fontVariant; - public std::optional fontWeight; - public std::optional layoutDirection; - public std::optional lineBreakMode; - public std::optional lineBreakStrategy; - public std::optional role; - public std::optional textShadowOffset; - public std::optional alignment; - public std::optional textDecorationLineType; - public std::optional textDecorationStyle; - public std::optional textTransform; - public std::optional baseWritingDirection; - public std::optional fontVariationSettings; - public std::string fontFamily; - public std::vector textEffects; - public void apply(facebook::react::TextAttributes textAttributes); -} - -class facebook::react::TextEffectProps : public facebook::react::Props { - public TextEffectProps() = default; - public TextEffectProps(const facebook::react::PropsParserContext& context, const facebook::react::TextEffectProps& sourceProps, const facebook::react::RawProps& rawProps); - public folly::dynamic effectProps; - public std::string effectName; -} - -class facebook::react::TextEffectShadowNode : public facebook::react::ConcreteShadowNode { -} - -class facebook::react::TextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public TextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; - public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; -} - -struct facebook::react::TextInputEventEmitter::KeyPressMetrics { - public int eventCount; - public std::string text; -} - -struct facebook::react::TextInputEventEmitter::Metrics { - public bool responderIgnoreScroll; - public facebook::react::AttributedString::Range selectionRange; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public facebook::react::Size layoutMeasurement; - public facebook::react::Tag target; - public int eventCount; - public std::string text; -} - -class facebook::react::TextInputProps : public facebook::react::BaseTextInputProps { - public TextInputProps() = default; - public TextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::TextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool onChangeSync; - public bool onKeyPressSync; - public const facebook::react::TextInputTraits traits; - public const std::string inputAccessoryViewButtonLabel; - public const std::string inputAccessoryViewID; - public std::optional selection; -} - -class facebook::react::TextInputShadowNode : public facebook::react::BaseTextInputShadowNode { -} - -class facebook::react::TextInputState { - public TextInputState() = default; - public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); - public facebook::react::AttributedString reactTreeAttributedString; - public facebook::react::AttributedStringBox attributedStringBox; - public facebook::react::ParagraphAttributes paragraphAttributes; - public int64_t mostRecentEventCount; -} - -class facebook::react::TextInputTraits { - public bool caretHidden; - public bool clearTextOnFocus; - public bool contextMenuHidden; - public bool editable; - public bool enablesReturnKeyAutomatically; - public bool scrollEnabled; - public bool secureTextEntry; - public bool selectTextOnFocus; - public bool showSoftInputOnFocus; - public facebook::react::AutocapitalizationType autocapitalizationType; - public facebook::react::KeyboardAppearance keyboardAppearance; - public facebook::react::KeyboardType keyboardType; - public facebook::react::ReturnKeyType returnKeyType; - public facebook::react::TextInputAccessoryVisibilityMode clearButtonMode; - public std::optional autoCorrect; - public std::optional smartInsertDelete; - public std::optional spellCheck; - public std::string passwordRules; - public std::string textContentType; - public std::vector dataDetectorTypes; -} - -class facebook::react::TextLayoutManager { - protected facebook::react::LineMeasureCache lineMeasureCache_; - protected facebook::react::TextMeasureCache textMeasureCache_; - protected std::shared_ptr contextContainer_; - protected std::shared_ptr nativeTextLayoutManager_; - public TextLayoutManager(const facebook::react::TextLayoutManager&) = delete; - public TextLayoutManager(const std::shared_ptr& contextContainer); - public TextLayoutManager(facebook::react::TextLayoutManager&&) = delete; - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size) const; - public facebook::react::TextLayoutManager& operator=(const facebook::react::TextLayoutManager&) = delete; - public facebook::react::TextLayoutManager& operator=(facebook::react::TextLayoutManager&&) = delete; - public facebook::react::TextMeasurement measure(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public std::shared_ptr getNativeTextLayoutManager() const; -} - -class facebook::react::TextMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::Float pointScaleFactor; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::TextMeasurement { - public facebook::react::Size size; - public facebook::react::TextMeasurement::Attachments attachments; - public using Attachments = std::vector; -} - -class facebook::react::TextMeasurement::Attachment { - public bool isClipped; - public facebook::react::Rect frame; -} - -class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { - public TextProps() = default; - public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::TimerManager { - public TimerManager(const facebook::react::TimerManager&) = delete; - public TimerManager(facebook::react::TimerManager&&) = delete; - public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; - public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; - public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; - public void attachGlobals(facebook::jsi::Runtime& runtime); - public void callTimer(facebook::react::TimerHandle handle); - public void quit(); - public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; - public ~TimerManager() noexcept; -} - class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); public void onClick(facebook::react::PointerEvent event) const; @@ -7214,48 +4716,6 @@ class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter public void onTouchStart(facebook::react::TouchEvent event) const; } -class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { - public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::TransactionTelemetry { - public TransactionTelemetry(); - public TransactionTelemetry(std::function now); - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public facebook::react::TelemetryTimePoint getCommitEndTime() const; - public facebook::react::TelemetryTimePoint getCommitStartTime() const; - public facebook::react::TelemetryTimePoint getDiffEndTime() const; - public facebook::react::TelemetryTimePoint getDiffStartTime() const; - public facebook::react::TelemetryTimePoint getLayoutEndTime() const; - public facebook::react::TelemetryTimePoint getLayoutStartTime() const; - public facebook::react::TelemetryTimePoint getMountEndTime() const; - public facebook::react::TelemetryTimePoint getMountStartTime() const; - public int getAffectedLayoutNodesCount() const; - public int getNumberOfTextMeasurements() const; - public int getRevisionNumber() const; - public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); - public void didCommit(); - public void didDiff(); - public void didLayout(); - public void didLayout(int affectedLayoutNodesCount); - public void didMeasureText(); - public void didMount(); - public void setAsThreadLocal(); - public void setRevisionNumber(int revisionNumber); - public void unsetAsThreadLocal(); - public void willCommit(); - public void willDiff(); - public void willLayout(); - public void willMeasureText(); - public void willMount(); -} - -class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { - public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(folly::dynamic& props); -} - class facebook::react::TurboModule : public facebook::jsi::HostObject { protected const std::string name_; protected std::shared_ptr jsInvoker_; @@ -7286,158 +4746,6 @@ class facebook::react::TurboModuleWithJSIBindings { public virtual ~TurboModuleWithJSIBindings() = default; } -class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { - public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); - public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; - public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; - public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; - public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); - public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); - public facebook::react::UIManagerDelegate* getDelegate(); - public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; - public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; - public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; - public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) const noexcept override; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; - public void addEventListener(std::shared_ptr listener); - public void addOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); - public void animationTick() const; - public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; - public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); - public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; - public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); - public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); - public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); - public void setDelegate(facebook::react::UIManagerDelegate* delegate); - public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; - public void setNativeAnimatedDelegate(std::weak_ptr delegate); - public void setSurfaceProps(facebook::react::SurfaceId surfaceId, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); - public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; - public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; - public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); - public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); - public void updateShadowTree(std::unordered_map&& tagToProps); - public void updateState(const facebook::react::StateUpdate& stateUpdate) const; - public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; - public ~UIManager() override; -} - -class facebook::react::UIManagerAnimationBackend { - public using Callback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) = 0; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; - public virtual void stop(facebook::react::CallbackId callbackId) = 0; - public virtual void trigger() = 0; - public virtual ~UIManagerAnimationBackend() = default; -} - -class facebook::react::UIManagerAnimationDelegate { - public virtual bool shouldAnimateFrame() const = 0; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; - public virtual ~UIManagerAnimationDelegate() = default; -} - -class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { - public UIManagerBinding(std::shared_ptr uiManager); - public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); - public facebook::react::UIManager& getUIManager(); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; - public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; - public void invalidate() const; - public ~UIManagerBinding() override; -} - -class facebook::react::UIManagerCommitHook { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) noexcept; - public virtual ~UIManagerCommitHook() noexcept = default; -} - -class facebook::react::UIManagerDelegate { - public using OnSurfaceStartCallback = std::function; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidClearPendingSnapshots() = 0; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~UIManagerDelegate() noexcept = default; -} - -class facebook::react::UIManagerMountHook { - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; - public virtual ~UIManagerMountHook() noexcept = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegate { - public virtual void runAnimationFrame() = 0; - public virtual ~UIManagerNativeAnimatedDelegate() = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { - public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); - public virtual void runAnimationFrame() override; -} - -class facebook::react::UIManagerViewTransitionDelegate { - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag) const; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); - public virtual void createViewTransitionInstance(const std::string&, facebook::react::Tag); - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); - public virtual void startViewTransitionEnd(); - public virtual void startViewTransitionReadyFinished(); - public virtual void suspendOnActiveViewTransition(); - public virtual void transitionAnimationFinished(int animationId); - public virtual void waitForTransitionAnimation(int animationId); - public virtual ~UIManagerViewTransitionDelegate() = default; -} - -struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { - public facebook::react::Float height; - public facebook::react::Float width; - public facebook::react::Float x; - public facebook::react::Float y; - public facebook::react::Tag nativeTag; -} - class facebook::react::UnimplementedNativeViewEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -7447,32 +4755,6 @@ class facebook::react::UnimplementedNativeViewProps : public facebook::react::Ho public std::string name; } -class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::ComponentHandle getComponentHandle() const override; - public virtual facebook::react::ComponentName getComponentName() const override; - public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; -} - -class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { - public facebook::react::ComponentName getComponentName() const; - public void setComponentName(facebook::react::ComponentName componentName); -} - -class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { - protected bool isColorValue_; - public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool getIsColorValue() const noexcept; - public bool setOffset(double offset) noexcept; - public bool setRawValue(double value) noexcept; - public double getOffset() const noexcept; - public double getRawValue() const noexcept; - public double getValue() const noexcept; - public void extractOffset() noexcept; - public void flattenOffset() noexcept; - public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; -} - class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { public ValueFactoryEventPayload(facebook::react::ValueFactory factory); public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; @@ -7488,41 +4770,6 @@ class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShad public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); } -class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate, public facebook::react::UIManagerCommitHook, public facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const override; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag tag) const override; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void createViewTransitionInstance(const std::string& name, facebook::react::Tag pseudoElementTag) override; - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; - public virtual void startViewTransitionEnd() override; - public virtual void startViewTransitionReadyFinished() override; - public virtual void suspendOnActiveViewTransition() override; - public virtual void transitionAnimationFinished(int animationId) override; - public virtual void waitForTransitionAnimation(int animationId) override; - public void initialize(facebook::react::UIManager* uiManager, std::weak_ptr weakThis); - public ~ViewTransitionModule() override; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; - public uint32_t transitionId; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { - public facebook::react::Float pointScaleFactor; - public facebook::react::Point originFromRoot; - public facebook::react::Size size; -} - class facebook::react::VirtualViewEventEmitter : public facebook::react::BaseViewEventEmitter { public void onModeChange(facebook::react::VirtualViewEventEmitter::OnModeChange value) const; } @@ -7555,19 +4802,6 @@ class facebook::react::VirtualViewProps : public facebook::react::HostPlatformVi public int renderState; } -class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::WeakFamilyRegistry { - public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; - public using WeakFamilies = std::vector; - public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; - public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; -} - class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { protected facebook::yoga::Config yogaConfig_; protected mutable facebook::yoga::Node yogaNode_; @@ -7691,61 +4925,6 @@ enum facebook::react::ActivityIndicatorViewSize { Small, } -enum facebook::react::AnimatedNodeType { - Addition, - Color, - Diffclamp, - Division, - Interpolation, - Modulus, - Multiplication, - Object, - Props, - Round, - Style, - Subtraction, - Tracking, - Transform, - Value, -} - -enum facebook::react::AnimationConfigurationType { - Create, - Delete, - Update, -} - -enum facebook::react::AnimationDriverType { - Decay, - Frames, - Spring, -} - -enum facebook::react::AnimationProperty { - NotApplicable, - Opacity, - ScaleX, - ScaleXY, - ScaleY, -} - -enum facebook::react::AnimationType { - EaseIn, - EaseInEaseOut, - EaseOut, - Keyboard, - Linear, - None, - Spring, -} - -enum facebook::react::AutocapitalizationType { - Characters, - None, - Sentences, - Words, -} - enum facebook::react::BackfaceVisibility : uint8_t { Auto, Hidden, @@ -7795,294 +4974,11 @@ enum facebook::react::BorderStyle : uint8_t { Solid, } -enum facebook::react::CSSAngleUnit : uint8_t { - Deg, - Grad, - Rad, - Turn, -} - -enum facebook::react::CSSDelimiter { - Comma, - CommaOrWhitespace, - None, - OptionalWhitespace, - Solidus, - SolidusOrWhitespace, - Whitespace, -} - -enum facebook::react::CSSFontVariant : std::underlying_type_t { - CommonLigatures, - Contextual, - DiscretionaryLigatures, - HistoricalLigatures, - LiningNums, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { - At, -} - -enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { - Bottom, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { - To, -} - -enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { - Inset, -} - -enum facebook::react::CSSKeyword : uint8_t { - Absolute, - At, - Auto, - Baseline, - Block, - Bottom, - Center, - Clip, - Column, - ColumnReverse, - CommonLigatures, - Content, - Contents, - Contextual, - Dashed, - DiscretionaryLigatures, - Dotted, - Double, - End, - Fixed, - Flex, - FlexEnd, - FlexStart, - Grid, - Groove, - Hidden, - HistoricalLigatures, - Inherit, - Initial, - Inline, - InlineBlock, - InlineFlex, - InlineGrid, - Inset, - Left, - LiningNums, - Ltr, - MaxContent, - Medium, - MinContent, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - NoWrap, - None, - Normal, - OldstyleNums, - Outset, - ProportionalNums, - Relative, - Ridge, - Right, - Row, - RowReverse, - Rtl, - Scroll, - SmallCaps, - Solid, - SpaceAround, - SpaceBetween, - SpaceEvenly, - Start, - Static, - Sticky, - Stretch, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, - Thick, - Thin, - To, - Top, - Unset, - Visible, - Wrap, - WrapReverse, -} - -enum facebook::react::CSSLengthUnit : uint8_t { - Cap, - Ch, - Cm, - Dvb, - Dvh, - Dvi, - Dvmax, - Dvmin, - Dvw, - Em, - Ex, - Ic, - In, - Lh, - Lvb, - Lvh, - Lvi, - Lvmax, - Lvmin, - Lvw, - Mm, - Pc, - Pt, - Px, - Q, - Rcap, - Rch, - Rem, - Rex, - Ric, - Rlh, - Svb, - Svh, - Svi, - Svmax, - Svmin, - Svw, - Vb, - Vh, - Vi, - Vmax, - Vmin, - Vw, -} - -enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { - ToBottomLeft, - ToBottomRight, - ToTopLeft, - ToTopRight, -} - -enum facebook::react::CSSRadialGradientShape : uint8_t { - Circle, - Ellipse, -} - -enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { - ClosestCorner, - ClosestSide, - FarthestCorner, - FarthestSide, -} - -enum facebook::react::CSSTokenType { - CloseCurly, - CloseParen, - CloseSquare, - Comma, - Delim, - Dimension, - EndOfFile, - Function, - Hash, - Ident, - Number, - OpenCurly, - OpenParen, - OpenSquare, - Percentage, - WhiteSpace, -} - -enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSWideKeyword : std::underlying_type_t { - Inherit, - Initial, - Unset, -} - enum facebook::react::ColorSpace { DisplayP3, sRGB, } -enum facebook::react::ContentInsetAdjustmentBehavior { - Always, - Automatic, - Never, - ScrollableAxes, -} - enum facebook::react::Cursor : uint8_t { Alias, AllScroll, @@ -8135,27 +5031,6 @@ enum facebook::react::DisplayType { None, } -enum facebook::react::DynamicTypeRamp : uint8_t { - Body, - Callout, - Caption1, - Caption2, - Footnote, - Headline, - LargeTitle, - Subheadline, - Title1, - Title2, - Title3, -} - -enum facebook::react::EllipsizeMode { - Clip, - Head, - Middle, - Tail, -} - enum facebook::react::EventPayloadType { PointerEvent, ScrollEvent, @@ -8175,63 +5050,6 @@ enum facebook::react::FilterType { Sepia, } -enum facebook::react::FontStyle : uint8_t { - Italic, - Normal, - Oblique, -} - -enum facebook::react::FontVariant : int { - Default, - LiningNums, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::FontWeight : uint16_t { - Black, - Bold, - Demibold, - Heavy, - Light, - Medium, - Regular, - Semibold, - Thin, - UltraLight, - Weight100, - Weight200, - Weight300, - Weight400, - Weight500, - Weight600, - Weight700, - Weight800, - Weight900, -} - enum facebook::react::GradientDirectionType { Angle, Keyword, @@ -8244,12 +5062,6 @@ enum facebook::react::GradientKeyword : uint8_t { ToTopRight, } -enum facebook::react::HyphenationFrequency { - Full, - None, - Normal, -} - enum facebook::react::ImageResizeMode : int8_t { Center, Contain, @@ -8271,29 +5083,6 @@ enum facebook::react::Isolation { Isolate, } -enum facebook::react::KeyboardAppearance { - Dark, - Default, - Light, -} - -enum facebook::react::KeyboardType { - ASCIICapable, - ASCIICapableNumberPad, - DecimalPad, - Default, - EmailAddress, - NamePhonePad, - NumberPad, - NumbersAndPunctuation, - Numeric, - PhonePad, - Twitter, - URL, - VisiblePassword, - WebSearch, -} - enum facebook::react::LayoutConformance : uint8_t { Compatibility, Strict, @@ -8305,22 +5094,6 @@ enum facebook::react::LayoutDirection { Undefined, } -enum facebook::react::LineBreakMode : uint8_t { - Char, - Clip, - Head, - Middle, - Tail, - Word, -} - -enum facebook::react::LineBreakStrategy : uint8_t { - HangulWordPriority, - None, - PushOut, - Standard, -} - enum facebook::react::ModalHostViewAnimationType { Fade, None, @@ -8353,15 +5126,6 @@ enum facebook::react::OutlineStyle : uint8_t { Solid, } -enum facebook::react::PerformanceEntryType { - EVENT, - LONGTASK, - MARK, - MEASURE, - RESOURCE, - _NEXT, -} - enum facebook::react::PointerEventsMode : uint8_t { Auto, BoxNone, @@ -8375,61 +5139,6 @@ enum facebook::react::PositionType { Static, } -enum facebook::react::PropName { - ALIGN_CONTENT, - ALIGN_ITEMS, - ALIGN_SELF, - ASPECT_RATIO, - BACKFACE_VISIBILITY, - BACKGROUND_COLOR, - BORDER_COLOR, - BORDER_CURVES, - BORDER_RADII, - BORDER_STYLES, - BORDER_WIDTH, - BOX_SHADOW, - BOX_SIZING, - COLUMN_GAP, - CURSOR, - DIRECTION, - DISPLAY, - FILTER, - FLEX, - FLEX_BASIS, - FLEX_DIRECTION, - FLEX_GROW, - FLEX_SHRINK, - FLEX_WRAP, - HEIGHT, - ISOLATION, - JUSTIFY_CONTENT, - MARGIN, - MAX_HEIGHT, - MAX_WIDTH, - MIN_HEIGHT, - MIN_WIDTH, - MIX_BLEND_MODE, - OPACITY, - OUTLINE_COLOR, - OUTLINE_OFFSET, - OUTLINE_STYLE, - OUTLINE_WIDTH, - PADDING, - POINTER_EVENTS, - POSITION, - POSITION_TYPE, - ROW_GAP, - SHADOW_COLOR, - SHADOW_OFFSET, - SHADOW_OPACITY, - SHADOW_RADIUS, - STYLE_OVERFLOW, - TRANSFORM, - TRANSFORM_ORIGIN, - WIDTH, - Z_INDEX, -} - enum facebook::react::RadialGradientShape { Circle, Ellipse, @@ -8442,29 +5151,6 @@ enum facebook::react::ReactEventPriority { Idle, } -enum facebook::react::ResizeObserverBoxOptions { - BorderBox, - ContentBox, - DevicePixelContentBox, -} - -enum facebook::react::ReturnKeyType { - Continue, - Default, - Done, - EmergencyCall, - Go, - Google, - Join, - Next, - None, - Previous, - Route, - Search, - Send, - Yahoo, -} - enum facebook::react::Role : uint8_t { Alert, Alertdialog, @@ -8546,114 +5232,6 @@ enum facebook::react::ScriptTag { String, } -enum facebook::react::ScrollViewIndicatorStyle { - Black, - Default, - White, -} - -enum facebook::react::ScrollViewKeyboardDismissMode { - Interactive, - None, - OnDrag, -} - -enum facebook::react::ScrollViewSnapToAlignment { - Center, - End, - Start, -} - -enum facebook::react::ShadowTreeCommitMode { - Normal, - Suspended, -} - -enum facebook::react::ShadowTreeCommitSource { - AnimationEndSync, - React, - ReactRevisionMerge, - Unknown, -} - -enum facebook::react::ShadowTreeCommitStatus { - Cancelled, - Failed, - Succeeded, -} - -enum facebook::react::SubmitBehavior { - BlurAndSubmit, - Default, - Newline, - Submit, -} - -enum facebook::react::TextAlignment : uint8_t { - Center, - End, - Justified, - Left, - Natural, - Right, - Start, -} - -enum facebook::react::TextAlignmentVertical { - Auto, - Bottom, - Center, - Top, -} - -enum facebook::react::TextBreakStrategy { - Balanced, - HighQuality, - Simple, -} - -enum facebook::react::TextDecorationLineType : uint8_t { - None, - Strikethrough, - Underline, - UnderlineStrikethrough, -} - -enum facebook::react::TextDecorationStyle : uint8_t { - Dashed, - Dotted, - Double, - Solid, - Wavy, -} - -enum facebook::react::TextInputAccessoryVisibilityMode { - Always, - Never, - UnlessEditing, - WhileEditing, -} - -enum facebook::react::TextTransform : uint8_t { - Capitalize, - Lowercase, - None, - Unset, - Uppercase, -} - -enum facebook::react::TextWidthMode { - Auto, - LongestLine, -} - -enum facebook::react::TimerSource { - RequestAnimationFrame, - SetInterval, - SetTimeout, - Unknown, -} - enum facebook::react::TransformOperationType : uint8_t { Arbitrary, Identity, @@ -8682,18 +5260,6 @@ enum facebook::react::UnitType { Undefined, } -enum facebook::react::WritingDirection : uint8_t { - LeftToRight, - Natural, - RightToLeft, -} - -struct facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public std::string name; -} - struct facebook::react::AccessibilityAction { public std::optional label; public std::string name; @@ -8725,116 +5291,6 @@ struct facebook::react::AccessibilityValue { public std::optional text; } -struct facebook::react::ActivePointer { - public bool shouldLeaveWhenReleased; - public facebook::react::PointerEvent event; -} - -struct facebook::react::AnimatedPropBase { - public AnimatedPropBase(facebook::react::PropName propName); - public facebook::react::PropName propName; - public virtual ~AnimatedPropBase() = default; -} - -struct facebook::react::AnimatedProps { - public std::unique_ptr rawProps; - public std::vector> props; -} - -struct facebook::react::AnimatedPropsBuilder { - public facebook::react::AnimatedProps get(); - public std::unique_ptr rawProps; - public std::vector> props; - public void setAlignContent(facebook::yoga::Align value); - public void setAlignItems(facebook::yoga::Align value); - public void setAlignSelf(facebook::yoga::Align value); - public void setAspectRatio(facebook::yoga::FloatOptional value); - public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); - public void setBackgroundColor(facebook::react::SharedColor value); - public void setBorderColor(facebook::react::CascadedBorderColors& value); - public void setBorderCurves(facebook::react::CascadedBorderCurves& value); - public void setBorderRadii(facebook::react::CascadedBorderRadii& value); - public void setBorderStyles(facebook::react::CascadedBorderStyles& value); - public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); - public void setBoxShadow(const std::vector& value); - public void setBoxSizing(facebook::yoga::BoxSizing value); - public void setColumnGap(facebook::yoga::Style::Length value); - public void setCursor(facebook::react::Cursor value); - public void setDirection(facebook::yoga::Direction value); - public void setDisplay(facebook::yoga::Display value); - public void setFilter(const std::vector& value); - public void setFlex(facebook::yoga::FloatOptional value); - public void setFlexBasis(facebook::yoga::Style::SizeLength value); - public void setFlexDirection(facebook::yoga::FlexDirection value); - public void setFlexGrow(facebook::yoga::FloatOptional value); - public void setFlexShrink(facebook::yoga::FloatOptional value); - public void setFlexWrap(facebook::yoga::Wrap value); - public void setHeight(facebook::yoga::Style::SizeLength value); - public void setIsolation(facebook::react::Isolation value); - public void setJustifyContent(facebook::yoga::Justify value); - public void setMargin(facebook::react::CascadedRectangleEdges& value); - public void setMaxHeight(facebook::yoga::Style::SizeLength value); - public void setMaxWidth(facebook::yoga::Style::SizeLength value); - public void setMinHeight(facebook::yoga::Style::SizeLength value); - public void setMinWidth(facebook::yoga::Style::SizeLength value); - public void setMixBlendMode(facebook::react::BlendMode value); - public void setOpacity(facebook::react::Float value); - public void setOutlineColor(facebook::react::SharedColor value); - public void setOutlineOffset(facebook::react::Float value); - public void setOutlineStyle(facebook::react::OutlineStyle value); - public void setOutlineWidth(facebook::react::Float value); - public void setOverflow(facebook::yoga::Overflow value); - public void setPadding(facebook::react::CascadedRectangleEdges& value); - public void setPointerEvents(facebook::react::PointerEventsMode value); - public void setPosition(facebook::react::CascadedRectangleEdges& value); - public void setPositionType(facebook::yoga::PositionType value); - public void setRowGap(facebook::yoga::Style::Length value); - public void setShadowColor(facebook::react::SharedColor value); - public void setShadowOffset(facebook::react::Size value); - public void setShadowOpacity(facebook::react::Float value); - public void setShadowRadius(facebook::react::Float value); - public void setTransform(const facebook::react::Transform& t); - public void setTransformOrigin(const facebook::react::TransformOrigin& value); - public void setWidth(facebook::yoga::Style::SizeLength value); - public void setZIndex(std::optional value); - public void storeDynamic(folly::dynamic& d); - public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); -} - -struct facebook::react::AnimationConfig { - public double delay; - public double duration; - public facebook::react::AnimationProperty animationProperty; - public facebook::react::AnimationType animationType; - public facebook::react::Float initialVelocity; - public facebook::react::Float springDamping; -} - -struct facebook::react::AnimationKeyFrame { - public bool generateFinalSyntheticMutations; - public bool invalidated; - public double initialProgress; - public facebook::react::AnimationConfigurationType type; - public facebook::react::ShadowView viewEnd; - public facebook::react::ShadowView viewPrev; - public facebook::react::ShadowView viewStart; - public facebook::react::Tag parentTag; - public facebook::react::Tag tag; - public std::vector finalMutationsForKeyFrame; -} - -struct facebook::react::AnimationMutation { - public bool hasLayoutUpdates; - public facebook::react::AnimatedProps props; - public facebook::react::Tag tag; - public std::shared_ptr family; -} - -struct facebook::react::AnimationMutations { - public std::set asyncFlushSurfaces; - public std::vector batch; -} - struct facebook::react::BackgroundPosition { public BackgroundPosition(); public bool operator==(const facebook::react::BackgroundPosition& other) const = default; @@ -8934,13 +5390,6 @@ struct facebook::react::Bridging { public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); } -struct facebook::react::BufferEvent { - public std::string name; - public std::string track; - public uint64_t end; - public uint64_t start; -} - struct facebook::react::BundleHeader { public BundleHeader(); public facebook::react::Magic32 magic32; @@ -8948,286 +5397,6 @@ struct facebook::react::BundleHeader { public uint64_t magic64; } -struct facebook::react::CSSAngle { - public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSBlurFilter { - public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; - public facebook::react::CSSLength amount; -} - -struct facebook::react::CSSBrightnessFilter { - public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSColor { - public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; - public static constexpr facebook::react::CSSColor black(); - public uint8_t a; - public uint8_t b; - public uint8_t g; - public uint8_t r; -} - -struct facebook::react::CSSColorHint { - public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; - public std::variant position; -} - -struct facebook::react::CSSColorStop { - public bool operator==(const facebook::react::CSSColorStop& rhs) const; - public facebook::react::CSSColor color; - public std::optional> endPosition; - public std::optional> startPosition; -} - -struct facebook::react::CSSContrastFilter { - public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSDropShadowFilter { - public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength standardDeviation; -} - -struct facebook::react::CSSFunctionBlock { - public std::string_view name; -} - -struct facebook::react::CSSGrayscaleFilter { - public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSHueRotateFilter { - public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSInvertFilter { - public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSLength { - public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; - public facebook::react::CSSLengthUnit unit; - public float value; -} - -struct facebook::react::CSSLinearGradientDirection { - public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSLinearGradientFunction { - public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; - public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); - public std::optional direction; - public std::vector> items; -} - -struct facebook::react::CSSMatrix { - public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; - public std::array values; -} - -struct facebook::react::CSSNumber { - public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; - public float value; -} - -struct facebook::react::CSSOpacityFilter { - public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSPercentage { - public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; - public float value; -} - -struct facebook::react::CSSPerspective { - public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; - public facebook::react::CSSLength length; -} - -struct facebook::react::CSSRadialGradientExplicitSize { - public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; - public std::variant sizeX; - public std::variant sizeY; -} - -struct facebook::react::CSSRadialGradientFunction { - public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; - public std::optional position; - public std::optional shape; - public std::optional size; - public std::vector> items; -} - -struct facebook::react::CSSRadialGradientPosition { - public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; - public std::optional> bottom; - public std::optional> left; - public std::optional> right; - public std::optional> top; -} - -struct facebook::react::CSSRatio { - public constexpr bool isDegenerate() const; - public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; - public float denominator; - public float numerator; -} - -struct facebook::react::CSSRotate { - public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateX { - public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateY { - public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateZ { - public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSaturateFilter { - public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSScale { - public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; - public float x; - public float y; -} - -struct facebook::react::CSSScaleX { - public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; - public float value; -} - -struct facebook::react::CSSScaleY { - public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; - public float value; -} - -struct facebook::react::CSSSepiaFilter { - public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSShadow { - public bool inset; - public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength blurRadius; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength spreadDistance; -} - -struct facebook::react::CSSSimpleBlock { - public facebook::react::CSSTokenType openBracketType; -} - -struct facebook::react::CSSSkewX { - public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSkewY { - public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSTransformOrigin { - public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate3D { - public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate { - public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslateX { - public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSTranslateY { - public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSZero { - public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; -} - -struct facebook::react::CallbackWithId { - public facebook::react::Callback callback; - public facebook::react::CallbackId callbackId; -} - -struct facebook::react::CascadedRectangleCornersNames { - public const char* all; - public const char* bottomEnd; - public const char* bottomLeft; - public const char* bottomRight; - public const char* bottomStart; - public const char* endEnd; - public const char* endStart; - public const char* startEnd; - public const char* startStart; - public const char* topEnd; - public const char* topLeft; - public const char* topRight; - public const char* topStart; -} - -struct facebook::react::CascadedRectangleEdgesNames { - public const char* all; - public const char* block; - public const char* blockEnd; - public const char* blockStart; - public const char* bottom; - public const char* end; - public const char* horizontal; - public const char* left; - public const char* right; - public const char* start; - public const char* top; - public const char* vertical; -} - struct facebook::react::Color { public Color(); public Color(const facebook::react::ColorComponents& components); @@ -9264,21 +5433,9 @@ struct facebook::react::CornerRadii { public float vertical; } -struct facebook::react::CullingContext { - public bool operator==(const facebook::react::CullingContext& rhs) const = default; - public bool shouldConsiderCulling() const; - public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; - public facebook::react::Rect frame; - public facebook::react::Transform transform; -} - struct facebook::react::DebugStringConvertibleOptions { } -struct facebook::react::DefaultTurboModules { - public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); -} - struct facebook::react::DropShadowParams { public bool operator==(const facebook::react::DropShadowParams& other) const = default; public facebook::react::Float offsetX; @@ -9287,11 +5444,6 @@ struct facebook::react::DropShadowParams { public facebook::react::SharedColor color; } -struct facebook::react::DummyTraceSection { - template - public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); -} - struct facebook::react::DynamicColor { public int32_t darkColor; public int32_t highContrastDarkColor; @@ -9313,12 +5465,6 @@ struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEve public const std::optional>& getHitPathForEventListener() const; } -struct facebook::react::EventAnimationDriverKey { - public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; - public facebook::react::Tag viewTag; - public std::string eventName; -} - struct facebook::react::EventPayload { public EventPayload() = default; public EventPayload(const facebook::react::EventPayload&) = default; @@ -9344,43 +5490,6 @@ struct facebook::react::ImageURLLoaderAttribution { public std::string queryRootName; } -struct facebook::react::InspectorData { - public folly::dynamic props; - public int columnNumber; - public int lineNumber; - public int selectedIndex; - public std::string fileName; - public std::vector hierarchy; -} - -struct facebook::react::IntersectionObserverEntry { - public bool isIntersectingAboveThresholds; - public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; - public facebook::react::HighResTimeStamp time; - public facebook::react::IntersectionObserverObserverId intersectionObserverId; - public facebook::react::Rect intersectionRect; - public facebook::react::Rect rootRect; - public facebook::react::Rect targetRect; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; -} - -struct facebook::react::LayoutAnimation { - public bool completed; - public facebook::react::LayoutAnimationCallbackWrapper failureCallback; - public facebook::react::LayoutAnimationCallbackWrapper successCallback; - public facebook::react::LayoutAnimationConfig layoutAnimationConfig; - public facebook::react::SurfaceId surfaceId; - public std::vector keyFrames; - public uint64_t startTime; -} - -struct facebook::react::LayoutAnimationConfig { - public double duration; - public facebook::react::AnimationConfig createConfig; - public facebook::react::AnimationConfig deleteConfig; - public facebook::react::AnimationConfig updateConfig; -} - struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { public LayoutConformanceProps() = default; public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -9420,19 +5529,6 @@ struct facebook::react::LayoutMetrics { public facebook::react::Rect getPaddingFrame() const; } -struct facebook::react::LineMeasurement { - public LineMeasurement(const folly::dynamic& data); - public LineMeasurement(std::string text, facebook::react::Rect frame, facebook::react::Float descender, facebook::react::Float capHeight, facebook::react::Float ascender, facebook::react::Float xHeight); - public bool operator==(const facebook::react::LineMeasurement& rhs) const; - public facebook::react::Float ascender; - public facebook::react::Float capHeight; - public facebook::react::Float descender; - public facebook::react::Float xHeight; - public facebook::react::Rect frame; - public static facebook::react::Float baseline(const std::vector& lines); - public std::string text; -} - struct facebook::react::LinearGradient { public bool operator==(const facebook::react::LinearGradient& other) const = default; public facebook::react::GradientDirection direction; @@ -9444,95 +5540,10 @@ struct facebook::react::Magic32 { public uint32_t value; } -struct facebook::react::MarginValue { - public bool isPercentage; - public facebook::react::Float value; -} - -struct facebook::react::MeasuredPreparedTextLayout { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::TextMeasurement measurement; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; -} - struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { public facebook::react::ModalHostViewSupportedOrientationsMask value; } -struct facebook::react::MutationRecord { - public facebook::react::MutationObserverId mutationObserverId; - public std::shared_ptr targetShadowNode; - public std::vector> addedShadowNodes; - public std::vector> removedShadowNodes; -} - -struct facebook::react::NativePerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional fetchStart; - public std::optional processingEnd; - public std::optional processingStart; - public std::optional requestStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::optional interactionId; - public std::optional decodedBodySize; - public std::optional encodedBodySize; - public std::optional responseStatus; - public std::optional contentType; - public std::string name; -} - -struct facebook::react::PerformanceEntrySorter { - public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs) const; -} - -struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp processingEnd; - public facebook::react::HighResTimeStamp processingStart; - public facebook::react::HighResTimeStamp taskEndTime; - public facebook::react::PerformanceEntryInteractionId interactionId; - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceObserverObserveMultipleOptions { - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceObserverObserveSingleOptions { - public bool buffered; - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public static constexpr facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::string contentType; -} - struct facebook::react::Point { public bool operator==(const facebook::react::Point& rhs) const = default; public facebook::react::Float x; @@ -9571,11 +5582,6 @@ struct facebook::react::PointerEvent : public facebook::react::EventPayload { public virtual facebook::react::EventPayloadType getType() const override; } -struct facebook::react::PointerEventTarget { - public facebook::react::PointerEvent event; - public std::shared_ptr target; -} - struct facebook::react::ProcessedColorStop { public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; public facebook::react::SharedColor color; @@ -9598,12 +5604,6 @@ struct facebook::react::PropsParserContext { public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; } -struct facebook::react::PropsSnapshot { - public std::unique_ptr props; - public std::unique_ptr rawProps; - public std::unordered_set propNames; -} - struct facebook::react::RadialGradient { public bool operator==(const facebook::react::RadialGradient& other) const = default; public facebook::react::RadialGradientPosition position; @@ -9666,13 +5666,6 @@ struct facebook::react::ReactNativeVersionType { public std::string_view Prerelease; } -struct facebook::react::RecoverableError : public std::exception { - public RecoverableError(const std::string& what_); - public virtual const char* what() const noexcept override; - template - public static void runRethrowingAsRecoverable(std::function act); -} - struct facebook::react::Rect { public bool containsPoint(facebook::react::Point point) noexcept; public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; @@ -9690,82 +5683,6 @@ struct facebook::react::Rect { public void unionInPlace(const facebook::react::Rect& rect) noexcept; } -struct facebook::react::RequestInfo { - public std::optional headers; - public std::optional httpBody; - public std::string httpMethod; - public std::string url; -} - -struct facebook::react::ResizeObservationResult { - public bool detached; - public facebook::react::Size observedSize; - public size_t targetDepth; - public std::optional entry; -} - -struct facebook::react::ResizeObserverEntry { - public facebook::react::Rect contentRect; - public facebook::react::ResizeObserverObserverId resizeObserverId; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; - public facebook::react::Size borderBoxSize; - public facebook::react::Size contentBoxSize; - public facebook::react::Size devicePixelContentBoxSize; -} - -struct facebook::react::ResourceTimingData { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseStart; - public std::string contentType; - public std::string url; -} - -struct facebook::react::ResponseInfo { - public std::optional headers; - public std::string url; - public uint16_t statusCode; -} - -struct facebook::react::SchedulerToolbox { - public facebook::react::ComponentRegistryFactory componentRegistryFactory; - public facebook::react::EventBeat::Factory eventBeatFactory; - public facebook::react::RuntimeExecutor runtimeExecutor; - public std::optional bridgelessBindingsExecutor; - public std::shared_ptr contextContainer; - public std::shared_ptr animationChoreographer; - public std::vector> commitHooks; -} - -struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { - public ScrollEndDragEvent() = default; - public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); - public facebook::react::Point targetContentOffset; - public facebook::react::Point velocity; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; -} - -struct facebook::react::ScrollEvent : public facebook::react::EventPayload { - public ScrollEvent() = default; - public bool responderIgnoreScroll; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Float timestamp; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; - public virtual facebook::react::EventPayloadType getType() const override; - public virtual std::optional extractValue(const std::vector& path) const override; -} - struct facebook::react::ShadowNodeFamilyFragment { public const facebook::react::SurfaceId surfaceId; public const facebook::react::Tag tag; @@ -9782,82 +5699,12 @@ struct facebook::react::ShadowNodeFragment { public static const std::shared_ptr>>& childrenPlaceholder(); } -struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { - public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); - public std::shared_ptr>> shadowNodeList; - public ~ShadowNodeListWrapper() override; -} - struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { public ShadowNodeWrapper(std::shared_ptr shadowNode); public std::shared_ptr shadowNode; public ~ShadowNodeWrapper() override; } -struct facebook::react::ShadowTreeCommitOptions { - public bool enableStateReconciliation; - public bool mountSynchronously; - public facebook::react::ShadowTreeCommitSource source; -} - -struct facebook::react::ShadowView { - public ShadowView() = default; - public ShadowView(const facebook::react::ShadowNode& shadowNode); - public ShadowView(const facebook::react::ShadowView& shadowView) = default; - public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; - public bool operator==(const facebook::react::ShadowView& rhs) const; - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::EventEmitter::Shared eventEmitter; - public facebook::react::LayoutMetrics layoutMetrics; - public facebook::react::Props::Shared props; - public facebook::react::ShadowNodeTraits traits; - public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; - public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; - public facebook::react::State::Shared state; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; -} - -struct facebook::react::ShadowViewMutation { - public ShadowViewMutation() = delete; - public bool mutatedViewIsVirtual() const; - public facebook::react::ShadowView newChildShadowView; - public facebook::react::ShadowView oldChildShadowView; - public facebook::react::ShadowViewMutation::Type type; - public facebook::react::Tag parentTag; - public int index; - public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); - public using List = std::vector; -} - -enum facebook::react::ShadowViewMutation::Type : std::uint8_t { - Create, - Delete, - Insert, - Remove, - Update, -} - -struct facebook::react::ShadowViewNodePair { - public bool flattened; - public bool inOtherTree() const; - public bool isConcreteView; - public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; - public const facebook::react::ShadowNode* shadowNode; - public facebook::react::Point contextOrigin; - public facebook::react::ShadowView shadowView; - public mutable const facebook::react::ShadowViewNodePair* otherTreePair; - public size_t mountIndex; -} - struct facebook::react::Size { public facebook::react::Float height; public facebook::react::Float width; @@ -9869,44 +5716,6 @@ struct facebook::react::StateData { public using Shared = std::shared_ptr; } -struct facebook::react::SurfaceContext { - public std::unordered_map> map; - public std::unordered_map> pendingMap; - public std::unordered_set> families; - public std::unordered_set> pendingFamilies; -} - -struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { - template - public SystraceSection(const char* name, ConvertsToStringPiece &&... args); -} - -struct facebook::react::Task : public facebook::jsi::NativeState { - public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); - public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); -} - -struct facebook::react::TextEffectInfo { - public bool operator==(const facebook::react::TextEffectInfo&) const = default; - public folly::dynamic props; - public std::string name; -} - -struct facebook::react::TextLayoutContext { - public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; - public facebook::react::Float pointScaleFactor; - public facebook::react::SurfaceId surfaceId; -} - -struct facebook::react::TimerCallback { - public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); - public bool repeat; - public const std::vector args_; - public facebook::jsi::Function callback_; - public facebook::react::TimerSource source; - public void invoke(facebook::jsi::Runtime& runtime); -} - struct facebook::react::TouchEvent { public facebook::react::Touches changedTouches; public facebook::react::Touches targetTouches; @@ -9940,12 +5749,6 @@ struct facebook::react::Transform { public std::vector operations; } -struct facebook::react::TransformConfig { - public double value; - public facebook::react::Tag nodeTag; - public std::string property; -} - struct facebook::react::TransformOperation { public bool operator==(const facebook::react::TransformOperation& other) const = default; public facebook::react::TransformOperationType type; @@ -10022,64 +5825,6 @@ enum facebook::react::ViewEvents::Offset : std::size_t { TouchStart, } -template -struct facebook::react::CSSList : public std::vector { -} - -template -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSList { -} - -template ... VisitorsT> -struct facebook::react::CSSComponentValueVisitorDispatcher { - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); - public constexpr std::optional visitFunction(); - public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitPreservedToken(); - public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public facebook::react::CSSSyntaxParser& parser; -} - -template -struct facebook::react::CSSList : public std::vector { -} - -template -class facebook::react::CircularBuffer { - public CircularBuffer(size_t maxSize); - public T& operator[](size_t idx); - public bool add(const T& el); - public size_t size() const; - public std::vector getEntries() const; - public std::vector getEntries(std::function predicate) const; - public void clear(); - public void clear(std::function predicate); - public void getEntries(std::vector& res) const; - public void getEntries(std::vector& res, std::function predicate) const; -} - -template -class facebook::react::MoveWrapper { - public MoveWrapper() = default; - public MoveWrapper(T&& t); - public MoveWrapper(const facebook::react::MoveWrapper& other); - public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; - public T& operator*(); - public T&& move(); - public T* operator->(); - public const T& operator*() const; - public const T* operator->() const; - public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; - public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; -} - template class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); @@ -10092,20 +5837,6 @@ class facebook::react::ConcreteViewShadowNode : public facebook::react::Concrete public virtual facebook::react::Transform getTransform() const override; } -template -class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; - protected std::shared_ptr textLayoutManager_; - protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - protected virtual void layout(facebook::react::LayoutContext layoutContext) override; - public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - template class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { protected facebook::react::Props::Shared props_; @@ -10136,13 +5867,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging { } -template -struct facebook::react::TemplateStringLiteral { - public constexpr TemplateStringLiteral(const char(&str)[N]); - public constexpr operator std::string_view() const; - public std::array value; -} - template class facebook::react::RCTIdentifierPool { public int dequeue(); @@ -10150,10 +5874,6 @@ class facebook::react::RCTIdentifierPool { public void reset(); } -template -struct facebook::react::CSSDataTypeParser { -} - template class facebook::react::ConcreteState : public facebook::react::State { public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); @@ -10171,25 +5891,6 @@ template class facebook::react::SyncCallback { } -template -class facebook::react::SimpleThreadSafeCache { - public SimpleThreadSafeCache(); - public SimpleThreadSafeCache(unsigned long size); - public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; - public std::optional get(const KeyT& key) const; - public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; -} - -template -class facebook::react::OnScopeExit { - public OnScopeExit(const Lambda&& lambda) noexcept; - public OnScopeExit(const facebook::react::OnScopeExit&) = delete; - public OnScopeExit(facebook::react::OnScopeExit&&) = delete; - public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; - public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; - public ~OnScopeExit() noexcept; -} - template struct facebook::react::NativePerformanceRawPerformanceEntry { public P0 name; @@ -10499,13 +6200,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging> { } -template -class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::ComponentName getComponentName() const override; -} - template class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; @@ -10529,29 +6223,6 @@ class facebook::react::ConcreteComponentDescriptor : public facebook::react::Com public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; } -template -class facebook::react::Element { - public Element(); - public facebook::react::Element& children(std::vector children); - public facebook::react::Element& finalize(std::function finalizeCallback); - public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); - public facebook::react::Element& props(std::function callback); - public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); - public facebook::react::Element& reference(std::function callback); - public facebook::react::Element& stateData(std::function callback); - public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); - public facebook::react::Element& tag(facebook::react::Tag tag); - public operator facebook::react::ElementFragment(); - public using ConcreteProps = typename ShadowNodeT::ConcreteProps; - public using ConcreteReferenceCallback = std::function& shadowNode)>; - public using ConcreteShadowNode = ShadowNodeT; - public using ConcreteState = typename ShadowNodeT::ConcreteState; - public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; - public using ConcreteUnsharedShadowNode = std::shared_ptr; - public using SharedConcreteProps = std::shared_ptr; - public using SharedConcreteState = std::shared_ptr; -} - template struct facebook::react::Bridging { } @@ -10862,13 +6533,6 @@ class facebook::react::NativeWebSocketModuleCxxSpec : public facebook::react::Tu public static constexpr std::string_view kModuleName; } -template -struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { - public AnimatedProp() = default; - public AnimatedProp(facebook::react::PropName propName, const T& value); - public T value; -} - template struct facebook::react::CascadedRectangleCorners { public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; @@ -11096,2141 +6760,269 @@ template struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); public static T types; - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { - public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); - public static T types; - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::NativeResizeObserverNativeResizeObserverEntryBridging { - public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); - public static T types; - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptionsBridging { - public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); - public static T types; - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging { - public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); - public static T types; - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::RectangleCorners { - public T bottomLeft; - public T bottomRight; - public T topLeft; - public T topRight; - public bool isUniform() const noexcept; - public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; -} - -template -struct facebook::react::RectangleEdges { - public T bottom; - public T left; - public T right; - public T top; - public bool isUniform() const noexcept; - public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; - public static const facebook::react::RectangleEdges ZERO; -} - -template -class facebook::react::AsyncCallback { - public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); - public void call(Args... args) const noexcept; - public void call(std::function&& callImpl) const noexcept; - public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; - public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; - public void operator()(Args... args) const noexcept; -} - -template -class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { - public AsyncEventEmitter(); - public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; - public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; - public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; - public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; - public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; - public void emit(Args... value); - public void emit(std::function&& converter); - public ~AsyncEventEmitter() override = default; -} - -template -class facebook::react::SharedFunction { - public SharedFunction(const facebook::react::SharedFunction& other) = default; - public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; - public SharedFunction(std::function&& function = nullptr); - public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; - public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; - public void assign(std::function function) const; - public void operator()(ArgumentT... args) const; -} - -template -class facebook::react::AsyncPromise { - public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); - public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; - public void reject(facebook::react::Error error); - public void resolve(T... value); -} - -template -class facebook::react::EventListenerContainerT { - public bool willDispatchEvent(TArgs... args); - public void addListener(std::shared_ptr> listener); - public void removeListener(const std::shared_ptr>& listener); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); - public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); -} - -struct facebook::react::Bridging { - public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); -} - -struct facebook::react::Bridging { - public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); - public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); -} - -template -struct facebook::react::Bridging> { - public static constexpr size_t kArgumentCount; - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); - public using Func = std::function; - public using IndexSequence = std::index_sequence_for; -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { - public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { - public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); - public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); - template - public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { - public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { - public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { -} - -struct facebook::react::Bridging { - public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); -} - -struct facebook::react::Bridging { - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); - public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); -} - -struct facebook::react::Bridging : public facebook::react::NativeAnimatedTurboModuleEndResultBridging { -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); - public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); - public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); - public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationRecordBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativePerformanceRawPerformanceEntryBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativePerformancePerformanceObserverInitBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { -} - -struct facebook::react::Bridging { - public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); - public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSDataTypeParser> { - public static std::optional> consume(facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); - public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); - public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); -} - -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); -} - -template -struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - - -bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); -bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); -bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); - - -constexpr bool facebook::react::detail::isHexDigit(char c); -constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); -constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); -constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); -constexpr uint8_t facebook::react::detail::clamp255Component(float f); -constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); -constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); -float facebook::react::detail::normalizeHue(float hue); -std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); -std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); -std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); -template -constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); -template -C facebook::react::detail::memberFunctionClass(T C::*); -template -constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); - -class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { - public OwnedBytesBuffer(std::vector bytes) noexcept; - public virtual size_t size() const override; - public virtual uint8_t* data() override; -} - -enum facebook::react::detail::HexColorType { - Long, - Short, -} - -template -struct facebook::react::detail::merge_data_types { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types { -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = typename T::PreparedTextLayout; -} - -template -struct facebook::react::detail::CSSVariantComponentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSAngleTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSFilterSimpleAmountParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSNumberPercentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = std::nullptr_t; -} - -template -struct facebook::react::detail::is_variant_of_data_types : public std::false_type { -} - -template -class facebook::react::detail::TextLayoutManagerExtended { - public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); - public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public static constexpr bool supportsLineMeasurement(); - public static constexpr bool supportsPreparedTextLayout(); - public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; -} - -template -struct facebook::react::detail::merge_variant { -} - -template -struct facebook::react::detail::merge_data_types, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_variant, RestT...> { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types> { - public using type = std::variant; -} - -template -struct facebook::react::detail::is_variant_of_data_types> : public std::true_type { -} - -template -struct facebook::react::detail::merge_data_types, std::variant, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - - -constexpr std::string_view facebook::react::detail::css::keywords::Absolute; -constexpr std::string_view facebook::react::detail::css::keywords::At; -constexpr std::string_view facebook::react::detail::css::keywords::Auto; -constexpr std::string_view facebook::react::detail::css::keywords::Baseline; -constexpr std::string_view facebook::react::detail::css::keywords::Block; -constexpr std::string_view facebook::react::detail::css::keywords::Bottom; -constexpr std::string_view facebook::react::detail::css::keywords::Center; -constexpr std::string_view facebook::react::detail::css::keywords::Clip; -constexpr std::string_view facebook::react::detail::css::keywords::Column; -constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; -constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Content; -constexpr std::string_view facebook::react::detail::css::keywords::Contents; -constexpr std::string_view facebook::react::detail::css::keywords::Contextual; -constexpr std::string_view facebook::react::detail::css::keywords::Dashed; -constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Dotted; -constexpr std::string_view facebook::react::detail::css::keywords::Double; -constexpr std::string_view facebook::react::detail::css::keywords::End; -constexpr std::string_view facebook::react::detail::css::keywords::Fixed; -constexpr std::string_view facebook::react::detail::css::keywords::Flex; -constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; -constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; -constexpr std::string_view facebook::react::detail::css::keywords::Grid; -constexpr std::string_view facebook::react::detail::css::keywords::Groove; -constexpr std::string_view facebook::react::detail::css::keywords::Hidden; -constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Inherit; -constexpr std::string_view facebook::react::detail::css::keywords::Initial; -constexpr std::string_view facebook::react::detail::css::keywords::Inline; -constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; -constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; -constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; -constexpr std::string_view facebook::react::detail::css::keywords::Inset; -constexpr std::string_view facebook::react::detail::css::keywords::Left; -constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; -constexpr std::string_view facebook::react::detail::css::keywords::Ltr; -constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; -constexpr std::string_view facebook::react::detail::css::keywords::Medium; -constexpr std::string_view facebook::react::detail::css::keywords::MinContent; -constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; -constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; -constexpr std::string_view facebook::react::detail::css::keywords::None; -constexpr std::string_view facebook::react::detail::css::keywords::Normal; -constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; -constexpr std::string_view facebook::react::detail::css::keywords::Outset; -constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; -constexpr std::string_view facebook::react::detail::css::keywords::Relative; -constexpr std::string_view facebook::react::detail::css::keywords::Ridge; -constexpr std::string_view facebook::react::detail::css::keywords::Right; -constexpr std::string_view facebook::react::detail::css::keywords::Row; -constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; -constexpr std::string_view facebook::react::detail::css::keywords::Rtl; -constexpr std::string_view facebook::react::detail::css::keywords::Scroll; -constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; -constexpr std::string_view facebook::react::detail::css::keywords::Solid; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; -constexpr std::string_view facebook::react::detail::css::keywords::Start; -constexpr std::string_view facebook::react::detail::css::keywords::Static; -constexpr std::string_view facebook::react::detail::css::keywords::Sticky; -constexpr std::string_view facebook::react::detail::css::keywords::Stretch; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; -constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; -constexpr std::string_view facebook::react::detail::css::keywords::Thick; -constexpr std::string_view facebook::react::detail::css::keywords::Thin; -constexpr std::string_view facebook::react::detail::css::keywords::To; -constexpr std::string_view facebook::react::detail::css::keywords::Top; -constexpr std::string_view facebook::react::detail::css::keywords::Unset; -constexpr std::string_view facebook::react::detail::css::keywords::Visible; -constexpr std::string_view facebook::react::detail::css::keywords::Wrap; -constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; -template -concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); -template -concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); -template -concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); -template -concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); -template -concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); -template -concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); -template -concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); -template -concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); -template -concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); -template -concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); -template -concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); -template -concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); -template -concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); -template -concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); -template -concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); -template -concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); -template -concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); -template -concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); -template -concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); -template -concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); -template -concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); -template -concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); -template -concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); -template -concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); -template -concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); -template -concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); -template -concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); -template -concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); -template -concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); -template -concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); -template -concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); -template -concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); -template -concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); -template -concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); -template -concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); -template -concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); -template -concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); -template -concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); -template -concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); -template -concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); -template -concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); -template -concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); -template -concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); -template -concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); -template -concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); -template -concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); -template -concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); -template -concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); -template -concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); -template -concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); -template -concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); -template -concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); -template -concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); -template -concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); -template -concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); -template -concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); -template -concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); -template -concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); -template -concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); -template -concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); -template -concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); -template -concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); -template -concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); -template -concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); -template -concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); -template -concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); -template -concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); -template -concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); -template -concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); - - -constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; -template -using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; -typedef std::function facebook::react::jsinspector_modern::FrontendChannel; -typedef std::map facebook::react::jsinspector_modern::Headers; -using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; -using facebook::react::jsinspector_modern::IOReadError = const std::string; -using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; -using facebook::react::jsinspector_modern::StreamID = const std::string; -using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; -bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); -facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); -folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); -folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); -std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); -std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); -std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); -template -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); -template -facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); -void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); -void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); -void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); -void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); - -class facebook::react::jsinspector_modern::BoundedRequestBuffer { - public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; - public std::shared_ptr get(const std::string& requestId) const; - public void clear(); -} - -struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { - public bool base64Encoded; - public std::string data; -} - -class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { - public CallbackLocalConnection(std::function handler); - public virtual void disconnect() override; - public virtual void sendMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public CallbackRemoteConnection(std::function handler); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::ConsoleTask { - public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; - public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; - public ConsoleTask(std::shared_ptr taskContext); - public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; - public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; - public ~ConsoleTask(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { - public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); - public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskId id() const; - public std::optional getSerializedStackTrace() const; - public void schedule(); - public ~ConsoleTaskContext(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskId { - public ConsoleTaskId() = default; - public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public operator bool() const; - public operator void *() const; - public ~ConsoleTaskId() = default; -} - -class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { - public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); - public std::shared_ptr top() const; - public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); - public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public ~ConsoleTaskOrchestrator() = default; -} - -class facebook::react::jsinspector_modern::EmulationAgent { - public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); -} - -class facebook::react::jsinspector_modern::ExecutionContextManager { - public int32_t allocateExecutionContextId(); -} - -class facebook::react::jsinspector_modern::ExecutionContextSelector { - public ExecutionContextSelector() = delete; - public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; - public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); - public ~ExecutionContextSelector() = default; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public FallbackRuntimeTargetDelegate(std::string engineDescription); - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; -} - -class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); - public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; - public ~HermesRuntimeTargetDelegate() override; -} - -class facebook::react::jsinspector_modern::HostAgent { - public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); - public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public bool isEligibleForBackgroundTrace() const; - public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public void emitSystemStateChanged(bool isSingleHost); - public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void setCurrentInstanceAgent(std::shared_ptr agent); - public ~HostAgent(); -} - -class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public bool stopAndMaybeEmitBackgroundTrace(); - public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public std::unique_ptr connect(std::unique_ptr connectionToFrontend); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); - public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); - public ~HostTarget(); -} - -class facebook::react::jsinspector_modern::HostTargetController { - public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); - public bool decrementPauseOverlayCounter(); - public bool hasInstance() const; - public bool maybeEmitStashedBackgroundTrace(); - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public void incrementPauseOverlayCounter(); -} - -class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public HostTargetDelegate() = default; - public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&); - public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; - public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); - public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&); - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; - public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; - public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; - public virtual ~HostTargetDelegate() override; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; - public std::optional message; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest { - public std::optional quality; - public std::optional format; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; - public std::optional ignoreCache; - public std::optional scriptToEvaluateOnLoad; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest& rhs) const; - public std::string colorScheme; -} - -class facebook::react::jsinspector_modern::HostTargetTraceRecording { - public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public bool isBackgroundInitiated() const; - public bool isUserInitiated() const; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); - public void start(); -} - -class facebook::react::jsinspector_modern::HostTargetTracingDelegate { - public HostTargetTracingDelegate() = default; - public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); - public virtual void onTracingStopped(); - public virtual ~HostTargetTracingDelegate() = default; -} - -class facebook::react::jsinspector_modern::HostTracingAgent { - public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); -} - -class facebook::react::jsinspector_modern::IDestructible { - public virtual ~IDestructible() = 0; -} - -class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { - public using ConnectFunc = std::function(std::unique_ptr)>; - public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; - public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; - public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; - public virtual std::vector getPages() const = 0; - public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; - public virtual void removePage(int pageId) = 0; - public virtual ~IInspector() = 0; -} - -class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void disconnect() = 0; - public virtual void sendMessage(std::string message) = 0; - public virtual ~ILocalConnection() = 0; -} - -class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onPageRemoved(int); - public virtual ~IPageStatusListener() = 0; -} - -class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onDisconnect() = 0; - public virtual void onMessage(std::string message) = 0; - public virtual ~IRemoteConnection() = 0; -} - -class facebook::react::jsinspector_modern::IWebSocket { - public virtual void send(std::string_view message) = 0; - public virtual ~IWebSocket() = default; -} - -class facebook::react::jsinspector_modern::IWebSocketDelegate { - public virtual void didClose() = 0; - public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; - public virtual void didOpen() = 0; - public virtual void didReceiveMessage(std::string_view message) = 0; - public virtual ~IWebSocketDelegate() = default; -} - -class facebook::react::jsinspector_modern::InspectorFlags { - public InspectorFlags(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public bool getAssertSingleHostState() const; - public bool getFrameRecordingEnabled() const; - public bool getFuseboxEnabled() const; - public bool getIsProfilingBuild() const; - public bool getPerfIssuesEnabled() const; - public bool getScreenshotCaptureEnabled() const; - public facebook::react::jsinspector_modern::InspectorFlags& operator=(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); - public void dangerouslyDisableFuseboxForTest(); - public void dangerouslyResetFlags(); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection { - public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public bool isConnected() const; - public void closeQuietly(); - public void connect(); - public void sendEventToAllConnections(std::string event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { - public bool isConnected() const; - public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public using SessionId = uint32_t; - public void closeQuietly(); - public void connect(); - public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); - public void sendEventToAllConnections(const std::string& event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { - public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; - public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; - public virtual ~InspectorPackagerConnectionDelegate() = default; -} - -class facebook::react::jsinspector_modern::InstanceAgent { - public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); -} - -class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); - public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); - public ~InstanceTarget(); -} - -class facebook::react::jsinspector_modern::InstanceTargetDelegate { - public InstanceTargetDelegate() = default; - public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public virtual ~InstanceTargetDelegate(); -} - -class facebook::react::jsinspector_modern::InstanceTracingAgent { - public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); - public ~InstanceTracingAgent(); -} - -class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public LoadNetworkResourceDelegate() = default; - public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; - public virtual ~LoadNetworkResourceDelegate() = default; -} - -class facebook::react::jsinspector_modern::NetworkHandler { - public bool isEnabled() const; - public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); - public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); - public std::optional> getResponseBody(const std::string& requestId); - public void disableAgent(size_t agentId); - public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); - public void onLoadingFailed(const std::string& requestId, bool cancelled); - public void onLoadingFinished(const std::string& requestId, int encodedDataLength); - public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); - public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); - public void onWebSocketClosed(const std::string& requestId); - public void onWebSocketCreated(const std::string& requestId, const std::string& url); - public void onWebSocketFrameReceived(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketFrameSent(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t status, const facebook::react::jsinspector_modern::Headers& headers); - public void onWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::jsinspector_modern::NetworkIOAgent { - public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); - public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public ~NetworkIOAgent(); -} - -class facebook::react::jsinspector_modern::NetworkRequestListener { - public NetworkRequestListener() = default; - public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public virtual void onCompletion() = 0; - public virtual void onData(std::string_view data) = 0; - public virtual void onError(const std::string& message) = 0; - public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; - public virtual void setCancelFunction(std::function cancelFunction) = 0; - public virtual ~NetworkRequestListener() = default; -} - -class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { - public NotImplementedException(std::string message); - public const char* what() const noexcept override; -} - -class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { -} - -class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { - public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); - public void handlePerfIssueAdded(const std::string& message); -} - -class facebook::react::jsinspector_modern::RAIIRemoteConnection { - public RAIIRemoteConnection(std::unique_ptr remote); - public void onMessage(std::string message); - public ~RAIIRemoteConnection(); -} - -class facebook::react::jsinspector_modern::RuntimeAgent { - public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); - public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); - public void notifyFastRefreshComplete(); - public ~RuntimeAgent(); -} - -struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { - public std::unique_ptr delegateState; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; - public virtual std::unique_ptr getExportedState(); - public virtual ~RuntimeAgentDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { - public virtual ~ExportedState() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public ~RuntimeTarget(); -} - -class facebook::react::jsinspector_modern::RuntimeTargetController { - public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); - public void disableSamplingProfiler(); - public void emitTracingStateChange(bool isTracing); - public void enableSamplingProfiler(); - public void installBindingHandler(const std::string& bindingName); - public void installScriptToEvaluateOnNewDocument(const std::string& source); - public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); } -enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { - Log, - Network, - Runtime, - kMaxValue, -} - -class facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public virtual bool supportsConsole() const = 0; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; - public virtual void disableSamplingProfiler() = 0; - public virtual void enableSamplingProfiler() = 0; - public virtual ~RuntimeTargetDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); - public ~RuntimeTracingAgent(); -} - -class facebook::react::jsinspector_modern::StackTrace { - public StackTrace() = default; - public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public static std::unique_ptr empty(); - public virtual ~StackTrace() = default; -} - -class facebook::react::jsinspector_modern::TracingAgent { - public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public ~TracingAgent(); -} - -enum facebook::react::jsinspector_modern::ConsoleAPIType { - kAssert, - kClear, - kCount, - kDebug, - kDir, - kDirXML, - kEndGroup, - kError, - kInfo, - kLog, - kStartGroup, - kStartGroupCollapsed, - kTable, - kTimeEnd, - kTrace, - kWarning, -} - -enum facebook::react::jsinspector_modern::HostCommand { - DebuggerResume, - DebuggerStepOver, -} - -struct facebook::react::jsinspector_modern::ConsoleMessage { - public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); - public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public std::unique_ptr stackTrace; - public std::vector args; - public ~ConsoleMessage() = default; -} - -struct facebook::react::jsinspector_modern::ExecutionContextDescription { - public int32_t id; - public std::optional uniqueId; - public std::string name; - public std::string origin; +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::GetResponseBodyResult { - public bool base64Encoded; - public folly::dynamic toDynamic() const; - public std::string body; +template +struct facebook::react::NativeResizeObserverNativeResizeObserverEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::HostTargetMetadata { - public std::optional appDisplayName; - public std::optional appIdentifier; - public std::optional deviceName; - public std::optional integrationName; - public std::optional platform; - public std::optional reactNativeVersion; +template +struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::IOReadResult { - public bool base64Encoded; - public bool eof; - public folly::dynamic toDynamic() const; - public std::string data; +template +struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::InspectorPageDescription { - public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; - public const int id; - public const std::string description; - public const std::string vm; +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; } -struct facebook::react::jsinspector_modern::InspectorSystemState { - public int registeredHostsCount; +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; } -struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { - public bool nativePageReloads; - public bool nativeSourceCodeFetching; +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; } -struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { - public std::string url; +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; } -struct facebook::react::jsinspector_modern::NetworkResource { - public bool success; - public folly::dynamic toDynamic() const; - public std::optional headers; - public std::optional netErrorName; - public std::optional stream; - public std::optional httpStatusCode; +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; } -struct facebook::react::jsinspector_modern::PerfIssuePayload { - public std::optional description; - public std::optional learnMoreUrl; - public std::optional severity; - public std::string name; +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); } -struct facebook::react::jsinspector_modern::ReadStreamParams { - public facebook::react::jsinspector_modern::StreamID handle; - public std::optional offset; - public std::optional size; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); } -struct facebook::react::jsinspector_modern::SessionState { - public bool hasPendingTraceRecording; - public bool isDebuggerDomainEnabled; - public bool isLogDomainEnabled; - public bool isNetworkDomainEnabled; - public bool isReactNativeApplicationDomainEnabled; - public bool isRuntimeDomainEnabled; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; - public std::unordered_map subscribedBindings; - public std::vector scriptsToEvaluateOnNewDocument; - public std::vector pendingSimpleConsoleMessages; - public unsigned int nextScriptToEvaluateOnNewDocumentId; +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); } -struct facebook::react::jsinspector_modern::SessionState::ScriptToEvaluateOnNewDocument { - public std::string identifier; - public std::string source; +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); } -struct facebook::react::jsinspector_modern::SimpleConsoleMessage { - public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public std::vector args; - public ~SimpleConsoleMessage() = default; +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); } -template -class facebook::react::jsinspector_modern::EnumArray { - public constexpr ValueType& operator[](IndexType i); - public constexpr const ValueType& operator[](IndexType i) const; - public constexpr int size() const; +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; } -template -struct facebook::react::jsinspector_modern::UniqueMonostate { - public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -template -class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { - public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); - public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); - template - public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } template -class facebook::react::jsinspector_modern::WeakList { - public bool empty() const; - public size_t size() const; - public void insert(std::weak_ptr ptr); - template - public bool anyOf(Fn&& fn) const; - template - public bool anyOf(Fn&& fn); - template - public void forEach(Fn&& fn) const; - template - public void forEach(Fn&& fn); -} - - -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; -using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; -using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; -using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; -using facebook::react::jsinspector_modern::tracing::Headers = std::map; -using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; -using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; -using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; -int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); -std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); -std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); -std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); -std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); - -class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { - public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { - public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); - public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); - public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); -} - -class facebook::react::jsinspector_modern::tracing::PerformanceTracer { - public bool isTracing() const; - public bool startTracing(); - public bool startTracing(facebook::react::HighResDuration maxDuration); - public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); - public std::optional> stopTracing(); - public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); - public using TracingStateCallback = std::function; - public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); - public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); - public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); - public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); - public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); - public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); - public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); - public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); -} - -class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { - public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); - public bool hasParent() const; - public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; - public static constexpr uint32_t NO_PARENT; - public uint32_t getId() const; - public uint32_t getParentId() const; -} - -enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { - JavaScript, - Other, -} - -class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public virtual ~RawRuntimeProfile() = default; -} - -class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { - public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); - public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); -} - -class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; - public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public bool isRunningInBackgroundMode(); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { - public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); - public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { - public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); - public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); - public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); - public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); - public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); - public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); - public static size_t estimateJsonSize(const folly::dynamic& value); -} - -enum facebook::react::jsinspector_modern::tracing::Category { - Frame, - HiddenTimeline, - JavaScriptSampling, - RuntimeExecution, - Screenshot, - Timeline, - UserTiming, +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { - Error, - Primary, - PrimaryDark, - PrimaryLight, - Secondary, - SecondaryDark, - SecondaryLight, - Tertiary, - TertiaryDark, - TertiaryLight, - Warning, -} - -enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { - Microtasks, - Task, -} - -enum facebook::react::jsinspector_modern::tracing::Mode { - Background, - CDP, -} - -struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { - public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public ~EventLoopReporter(); -} - -struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { - public FrameTimingSequence() = delete; - public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); - public facebook::react::HighResDuration vsyncInterval; - public facebook::react::HighResTimeStamp beginTimestamp; - public facebook::react::HighResTimeStamp endTimestamp; - public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::optional> screenshot; -} - -struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { - public HostTracingProfile() = default; - public HostTracingProfile(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public HostTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public std::vector frameTimings; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~HostTracingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::IdGenerator { - public uint32_t getNext(); -} - -struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { - public std::vector performanceTraceEvents; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { - public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public std::string runtimeName; - public std::unique_ptr rawRuntimeProfile; - public std::vector samples; - public ~RuntimeSamplingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { - public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::vector callStack; - public uint64_t timestamp; - public ~Sample() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { - public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; - public std::optional scriptURL; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string_view functionName; - public uint32_t scriptId; -} - -enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { - GarbageCollector, - HostFunction, - JSFunction, - NativeFunction, -} - -struct facebook::react::jsinspector_modern::tracing::TraceEvent { - public char ph; - public facebook::react::HighResTimeStamp ts; - public facebook::react::jsinspector_modern::tracing::Categories cat; - public facebook::react::jsinspector_modern::tracing::ProcessId pid; - public facebook::react::jsinspector_modern::tracing::ThreadId tid; - public folly::dynamic args; - public std::optional s; - public std::optional dur; - public std::optional id; - public std::string name; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; - public using TimeDeltas = std::vector; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { - public std::vector nodes; - public std::vector samples; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; - public std::optional parentId; - public uint32_t id; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { - public std::optional url; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string codeType; - public std::string functionName; - public uint32_t scriptId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { - public TraceRecordingState(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public facebook::react::jsinspector_modern::tracing::Mode mode; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public std::optional windowSize; - public std::set enabledCategories; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~TraceRecordingState() = default; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } template -class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { - public TimeWindowedBuffer(); - public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); - public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); - public using TimestampAccessor = std::function; - public void clear(); - public void push(T&& element); - public void push(const T& element); +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); } -template -class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { - public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; - public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public ~PerformanceTracerSection() noexcept; -} - - -using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; -using facebook::react::jsinspector_modern::cdp::RequestId = long long; -using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; -facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); -std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); - -enum facebook::react::jsinspector_modern::cdp::ErrorCode { - InternalError, - InvalidParams, - InvalidRequest, - MethodNotFound, - ParseError, -} - -struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { - public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; - public facebook::react::jsinspector_modern::cdp::RequestId id; - public folly::dynamic params; - public std::string method; - public std::string toJson() const; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { } - -using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; -std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); - -struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { - public double requestTime; +struct facebook::react::Bridging { + public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); } -struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int dataLength; - public int encodedDataLength; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); } -struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { - public bool canceled; - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string errorText; - public std::string requestId; - public std::string type; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); } -struct facebook::react::jsinspector_modern::cdp::network::Request { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::optional postData; - public std::string method; - public std::string url; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { - public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { - public bool redirectHasExtraInfo; - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Request request; - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::optional redirectResponse; - public std::string documentURL; - public std::string loaderId; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::Response { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); - public std::string mimeType; - public std::string statusText; - public std::string url; - public uint16_t status; -} - -struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { - public bool hasExtraInfo; - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::Response response; - public folly::dynamic toDynamic() const; - public std::string loaderId; - public std::string requestId; - public std::string type; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketClosedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketCreatedParams { - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::string requestId; - public std::string url; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrame { - public bool mask; - public folly::dynamic toDynamic() const; - public int opcode; - public std::string payloadData; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrameParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketFrame response; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketHandshakeResponseReceivedParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketResponse response; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketResponse { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public static facebook::react::jsinspector_modern::cdp::network::WebSocketResponse fromInputParams(uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers); - public std::string statusText; - public uint16_t status; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketWillSendHandshakeRequestParams { - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } - -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; -bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); -facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); -std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); -std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); - -struct facebook::react::dom::DOMBorderWidthRounded { - public int bottom; - public int left; - public int right; - public int top; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -struct facebook::react::dom::DOMOffset { - public double left; - public double top; - public std::shared_ptr offsetParent; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); } -struct facebook::react::dom::DOMPoint { - public double x; - public double y; +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { } -struct facebook::react::dom::DOMRect { - public double height; - public double width; - public double x; - public double y; +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); } -struct facebook::react::dom::DOMSizeRounded { - public int height; - public int width; +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -struct facebook::react::dom::RNMeasureRect { - public double height; - public double pageX; - public double pageY; - public double width; - public double x; - public double y; -} + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); facebook::jsi::Value facebook::react::TurboModuleConvertUtils::convertObjCObjectToJSIValue(facebook::jsi::Runtime& runtime, id value); @@ -13240,9 +7032,6 @@ id facebook::react::TurboModuleConvertUtils::convertJSIValueToObjCObject(faceboo static const facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; -static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; - - template constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; template @@ -13376,6 +7165,16 @@ struct facebook::react::array_detail::BridgingDynamic { } +template +C facebook::react::detail::memberFunctionClass(T C::*); + +class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { + public OwnedBytesBuffer(std::vector bytes) noexcept; + public virtual size_t size() const override; + public virtual uint8_t* data() override; +} + + template struct facebook::react::map_detail::Bridging { public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); @@ -13383,112 +7182,6 @@ struct facebook::react::map_detail::Bridging { } -uint64_t facebook::react::oscompat::getCurrentProcessId(); -uint64_t facebook::react::oscompat::getCurrentThreadId(); - - -using facebook::react::ReactMarker::LogTaggedMarker = std::function; -using facebook::react::ReactMarker::LogTaggedMarkerBridgeless = facebook::react::ReactMarker::LogTaggedMarker; -void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); -void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -facebook::react::ReactMarker::AtomicLogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; - -class facebook::react::ReactMarker::StartupLogger { - public double getAppStartupEndTime(); - public double getAppStartupStartTime(); - public double getInitReactRuntimeStartTime(); - public double getRunJSBundleStartTime(); - public static facebook::react::ReactMarker::StartupLogger& getInstance(); - public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); - public void reset(); -} - -enum facebook::react::ReactMarker::ReactMarkerId { - APP_STARTUP_START, - APP_STARTUP_STOP, - CREATE_REACT_CONTEXT_STOP, - INIT_REACT_RUNTIME_START, - INIT_REACT_RUNTIME_STOP, - JS_BUNDLE_STRING_CONVERT_START, - JS_BUNDLE_STRING_CONVERT_STOP, - NATIVE_MODULE_SETUP_START, - NATIVE_MODULE_SETUP_STOP, - NATIVE_REQUIRE_START, - NATIVE_REQUIRE_STOP, - REACT_INSTANCE_INIT_START, - REACT_INSTANCE_INIT_STOP, - REGISTER_JS_SEGMENT_START, - REGISTER_JS_SEGMENT_STOP, - RUN_JS_BUNDLE_START, - RUN_JS_BUNDLE_STOP, -} - -struct facebook::react::ReactMarker::AtomicLogTaggedMarker { - public facebook::react::ReactMarker::AtomicLogTaggedMarker& operator=(facebook::react::ReactMarker::LogTaggedMarker marker); - public operator bool() const noexcept; - public void operator()(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag) const; -} - -struct facebook::react::ReactMarker::ReactMarkerEvent { - public const char* tag; - public const facebook::react::ReactMarker::ReactMarkerId markerId; - public double time; -} - - -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); -void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); - - -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); - - -void facebook::react::LowPriorityExecutor::execute(std::function&& workItem); - - void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); @@ -13532,9 +7225,6 @@ void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); -std::unique_ptr facebook::jsc::makeJSCRuntime(); - - using facebook::jsi::HostFunctionType = std::function; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); @@ -15707,22 +9397,10 @@ struct std::hash { public size_t operator()(const RCTComponentViewDescriptor& componentViewDescriptor) const; } -struct std::hash { - public size_t operator()(const facebook::react::AttributedString& attributedString) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; -} - struct std::hash { public size_t operator()(const facebook::react::Color& color) const; } -struct std::hash { - public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; } @@ -15731,30 +9409,14 @@ struct std::hash { public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; } -struct std::hash { - public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; -} - struct std::hash { public size_t operator()(const facebook::react::Point& point) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Rect& rect) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::ShadowView& shadowView) const; -} - struct std::hash { public size_t operator()(const facebook::react::SharedColor& color) const; } @@ -15763,18 +9425,6 @@ struct std::hash { public size_t operator()(const facebook::react::Size& size) const; } -struct std::hash { - public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextEffectInfo& info) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Transform& transform) const; } @@ -15789,23 +9439,6 @@ struct std::hash> { public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; -} - -template -struct std::hash> { - public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; -} - template FB::LazyIterator FB::operator+(typename FB::LazyIterator::difference_type n, const FB::LazyIterator& i); diff --git a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api index db9d046d055f..6037f5c2833d 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleReleaseCxx.api @@ -313,15 +313,6 @@ category UIView(React) { public virtual void removeReactSubview:(UIView* subview); } -class ObjCTimerRegistry : public facebook::react::PlatformTimerRegistry { - public ObjCTimerRegistry(); - public RCTTiming* _Null_unspecified timing; - public virtual void createRecurringTimer(uint32_t timerID, double delayMS) override; - public virtual void createTimer(uint32_t timerID, double delayMS) override; - public virtual void deleteTimer(uint32_t timerID) override; - public virtual void setTimerManager(std::weak_ptr timerManager) override; -} - class RCTComponentViewClassDescriptor { public Class viewClass; public bool observesMountingTransactionDidMount; @@ -1151,20 +1142,6 @@ interface RCTGradientUtils : public NSObject { interface RCTHTTPRequestHandler : public NSObject { } -interface RCTHost : public NSObject { - public @property (assign, readonly) RCTModuleRegistry* moduleRegistry; - public @property (assign, readonly) RCTSurfacePresenter* surfacePresenter; - public @property (weak) id runtimeDelegate; - public virtual RCTFabricSurface* createSurfaceWithModuleName:initialProperties:(NSString* moduleName, NSDictionary* properties); - public virtual RCTFabricSurface* createSurfaceWithModuleName:mode:initialProperties:(NSString* moduleName, facebook::react::DisplayMode displayMode, NSDictionary* properties); - public virtual instancetype initWithBundleURL:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:(NSURL* bundleURL, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions); - public virtual instancetype initWithBundleURLProvider:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:(RCTHostBundleURLProvider provider, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions); - public virtual instancetype initWithBundleURLProvider:hostDelegate:turboModuleManagerDelegate:jsEngineProvider:launchOptions:bundleConfiguration:devMenuConfiguration:(RCTHostBundleURLProvider provider, id hostDelegate, id turboModuleManagerDelegate, RCTHostJSEngineProvider jsEngineProvider, _Nullable NSDictionary* launchOptions, RCTBundleConfiguration* bundleConfiguration, RCTDevMenuConfiguration* devMenuConfiguration); - public virtual std::shared_ptr jsCallInvoker(); - public virtual void callFunctionOnJSModule:method:args:(NSString* moduleName, NSString* method, NSArray* args); - public virtual void start(); -} - interface RCTI18nManager : public NSObject { } @@ -1259,17 +1236,6 @@ interface RCTInspectorWebSocketReporter : public NSObject { public virtual static void reportWillSendHandshakeRequest:request:(_Nullable NSString* requestId, NSURLRequest* request); } -interface RCTInstance : public NSObject { - public @property (assign, readonly) std::shared_ptr jsCallInvoker; - public @property (strong, readonly) RCTSurfacePresenter* surfacePresenter; - public virtual instancetype initWithDelegate:jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:moduleRegistry:parentInspectorTarget:launchOptions:(id delegate, std::shared_ptr jsRuntimeFactory, RCTBundleManager* bundleManager, id turboModuleManagerDelegate, RCTModuleRegistry* moduleRegistry, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget, _Nullable NSDictionary* launchOptions); - public virtual instancetype initWithDelegate:jsRuntimeFactory:bundleManager:turboModuleManagerDelegate:moduleRegistry:parentInspectorTarget:launchOptions:devMenuConfiguration:(id delegate, std::shared_ptr jsRuntimeFactory, RCTBundleManager* bundleManager, id turboModuleManagerDelegate, RCTModuleRegistry* moduleRegistry, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget, _Nullable NSDictionary* launchOptions, RCTDevMenuConfiguration* _Nullable devMenuConfiguration); - public virtual void callFunctionOnBufferedRuntimeExecutor:(std::function&& executor); - public virtual void callFunctionOnJSModule:method:args:(NSString* moduleName, NSString* method, NSArray* args); - public virtual void invalidate(); - public virtual void registerSegmentWithId:path:(NSNumber* segmentId, NSString* path); -} - interface RCTInterpolationAnimatedNode : public RCTValueAnimatedNode { } @@ -1287,15 +1253,6 @@ interface RCTJSStackFrame : public NSObject { public virtual static instancetype stackFrameWithLine:(NSString* line); } -interface RCTJSThreadManager : public NSObject { - public virtual std::shared_ptr jsMessageThread(); - public virtual void dispatchToJSThread:(dispatch_block_t block); -} - -interface RCTJSTimerExecutor : public NSObject { - public virtual void setTimerManager:(std::weak_ptr timerManager); -} - interface RCTJavaScriptLoader : public NSObject { public virtual static NSData* attemptSynchronousLoadOfBundleAtURL:sourceLength:error:(NSURL* scriptURL, int64_t* sourceLength, NSError** error); public virtual static void loadBundleAtURL:onProgress:onComplete:(NSURL* scriptURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock onComplete); @@ -1948,15 +1905,6 @@ interface RCTSyncImageManager : public NSObject { interface RCTTextInputComponentView : public RCTViewComponentView { } -interface RCTTextLayoutManager : public NSObject { - public virtual facebook::react::LinesMeasurements getLinesForAttributedString:paragraphAttributes:size:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGSize size); - public virtual facebook::react::TextMeasurement measureAttributedString:paragraphAttributes:layoutContext:layoutConstraints:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, facebook::react::TextLayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints); - public virtual facebook::react::TextMeasurement measureNSAttributedString:paragraphAttributes:layoutContext:layoutConstraints:(NSAttributedString* attributedString, facebook::react::ParagraphAttributes paragraphAttributes, facebook::react::TextLayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints); - public virtual std::shared_ptr getEventEmitterWithAttributeString:paragraphAttributes:frame:atPoint:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, CGPoint point); - public virtual void drawAttributedString:paragraphAttributes:frame:drawHighlightPath:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, CGRect frame, void(^)(UIBezierPath* highlightPath) block); - public virtual void getRectWithAttributedString:paragraphAttributes:enumerateAttribute:frame:usingBlock:(facebook::react::AttributedString attributedString, facebook::react::ParagraphAttributes paragraphAttributes, NSString* enumerateAttribute, CGRect frame, RCTTextLayoutFragmentEnumerationBlock block); -} - interface RCTTextSelection : public NSObject { public @property (assign, readonly) NSInteger end; public @property (assign, readonly) NSInteger start; @@ -2682,10 +2630,6 @@ protocol RCTComponentViewProtocol : public NSObject { public virtual void updateState:oldState:(const facebook::react::State::Shared& state, const facebook::react::State::Shared& oldState); } -protocol RCTContextContainerHandling : public NSObject { - public virtual void didCreateContextContainer:(std::shared_ptr contextContainer); -} - protocol RCTCustomPullToRefreshViewProtocol { } @@ -2784,18 +2728,6 @@ protocol RCTFrameUpdateObserver : public NSObjectNSObject { public virtual void didUpdateFrame:(RCTFrameUpdate* update); } -protocol RCTHostDelegate : public NSObject { - public virtual NSArray* unstableModulesRequiringMainQueueSetup(); - public virtual void host:didInitializeRuntime:(RCTHost* host, facebook::jsi::Runtime& runtime); - public virtual void host:didReceiveJSErrorStack:message:originalMessage:name:componentStack:exceptionId:isFatal:extraData:(RCTHost* host, NSArray*>* stack, NSString* message, NSString* _Nullable originalMessage, NSString* _Nullable name, NSString* _Nullable componentStack, NSUInteger exceptionId, BOOL isFatal, NSDictionary* extraData); - public virtual void hostDidStart:(RCTHost* host); - public virtual void loadBundleAtURL:onProgress:onComplete:(NSURL* sourceURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); -} - -protocol RCTHostRuntimeDelegate : public NSObject { - public virtual void host:didInitializeRuntime:(RCTHost* host, facebook::jsi::Runtime& runtime); -} - protocol RCTImageCache : public NSObject { public virtual UIImage* imageForUrl:size:scale:resizeMode:(NSString* url, CGSize size, CGFloat scale, RCTResizeMode resizeMode); public virtual void addImageToCache:URL:size:scale:resizeMode:response:(UIImage* image, NSString* url, CGSize size, CGFloat scale, RCTResizeMode resizeMode, NSURLResponse* response); @@ -2872,13 +2804,6 @@ protocol RCTInitializing : public NSObject { protocol RCTInputAccessoryViewProtocol : public NSObject { } -protocol RCTInstanceDelegate : public RCTContextContainerHandling { - public virtual BOOL instance:didReceiveJSErrorStack:message:originalMessage:name:componentStack:exceptionId:isFatal:extraData:(RCTInstance* instance, NSArray*>* stack, NSString* message, NSString* _Nullable originalMessage, NSString* _Nullable name, NSString* _Nullable componentStack, NSUInteger exceptionId, BOOL isFatal, NSDictionary* extraData); - public virtual NSArray* unstableModulesRequiringMainQueueSetup(); - public virtual void instance:didInitializeRuntime:(RCTInstance* instance, facebook::jsi::Runtime& runtime); - public virtual void loadBundleAtURL:onProgress:onComplete:(NSURL* sourceURL, RCTSourceLoadProgressBlock onProgress, RCTSourceLoadBlock loadCallback); -} - protocol RCTInvalidating : public NSObject { public virtual void invalidate(); } @@ -3145,16 +3070,6 @@ struct RCTCornerRadii { public CGFloat topRightVertical; } -struct RCTFontProperties { - public CGFloat size; - public CGFloat sizeMultiplier; - public NSDictionary* _Nullable variations; - public NSString* family; - public RCTFontStyle style; - public RCTFontVariant variant; - public UIFontWeight weight; -} - struct RCTLayoutContext { public CGPoint absolutePosition; public __unsafe_unretained NSHashTable* _Nonnull other; @@ -3213,86 +3128,6 @@ struct RCTRequired { } -bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); -double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); -int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); -std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); - -class facebook::xplat::JsArgumentException : public std::logic_error { - public JsArgumentException(const std::string& msg); -} - - -class facebook::xplat::module::CxxModule { - public static constexpr AsyncTagType AsyncTag; - public static constexpr SyncTagType SyncTag; - public std::weak_ptr getInstance(); - public using Callback = std::function)>; - public using Provider = std::function()>; - public virtual std::map getConstants(); - public virtual std::string getName() = 0; - public virtual std::vector getMethods() = 0; - public virtual ~CxxModule() = default; - public void setInstance(std::weak_ptr instance); -} - -struct facebook::xplat::module::CxxModule::Method { - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc, AsyncTagType); - public bool isPromise; - public const char* getType(); - public size_t callbacks; - public std::function syncFunc; - public std::function func; - public std::string name; - template - public Method(std::string aname, T* t, void(T::*method)()); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); -} - - -std::string facebook::xplat::detail::toStringHelper(); -template -R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); -template -std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); -template -std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); - -template -struct facebook::xplat::detail::is_dynamic { - public using type = typename std::enable_if::value, T>::type; -} - - class facebook::hermes::IHermes : public facebook::jsi::ICast { protected ~IHermes() = default; public static constexpr facebook::jsi::UUID uuid; @@ -3347,72 +3182,23 @@ struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { } -const char facebook::react::AppleSwitchComponentName[]; -const char facebook::react::ImageComponentName[]; -const char facebook::react::ImageManagerKey[]; -const char facebook::react::InputAccessoryComponentName[]; -const char facebook::react::LegacyViewManagerInteropComponentName[]; -const char facebook::react::ModalHostViewComponentName[]; -const char facebook::react::ParagraphComponentName[]; -const char facebook::react::RawTextComponentName[]; -const char facebook::react::RootComponentName[]; -const char facebook::react::RuntimeSchedulerKey[]; -const char facebook::react::SafeAreaViewComponentName[]; -const char facebook::react::ScrollViewComponentName[]; -const char facebook::react::TextComponentName[]; -const char facebook::react::TextEffectComponentName[]; -const char facebook::react::TextInputComponentName[]; -const char facebook::react::UnimplementedViewComponentName[]; const char facebook::react::ViewComponentName[]; const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; -constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; -constexpr char facebook::react::VirtualViewComponentName[]; -constexpr char* const facebook::react::TextLayoutManagerKey; -constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; -constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; constexpr facebook::react::Tag facebook::react::kNoTag; -constexpr float facebook::react::kDefaultEpsilon; -constexpr size_t facebook::react::EVENT_BUFFER_SIZE; -constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; -constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; static constexpr auto facebook::react::kPropNameLengthHardCap; -static constexpr double facebook::react::SingleFrameIntervalMs; -static constexpr double facebook::react::TicksPerMs; static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; -static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; -static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; -static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; -template -using facebook::react::CSSCompoundDataType = std::variant; -template -using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; -template -using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; template using facebook::react::LazyVector = FB::LazyVector; template using facebook::react::ModuleConstants = _RCTTypedModuleConstants*; -template -using facebook::react::EventListenerT = std::function; -typedef std::function facebook::react::ValueListenerCallback; -typedef std::tuple facebook::react::RectAsTuple; -typedef void(*facebook::react::WarnOnUsageLogger)(std::string message); -using facebook::react::ActivePointerRegistry = std::unordered_map; using facebook::react::ActivityIndicatorViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::ActivityIndicatorViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::ActivityIndicatorViewState = facebook::react::StateData; -using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; -using facebook::react::AnimationTimestamp = std::chrono::duration; -using facebook::react::BackgroundExecutor = std::function&& callback)>; using facebook::react::BackgroundImage = std::variant; using facebook::react::BackgroundSize = std::variant; using facebook::react::BorderColors = facebook::react::RectangleEdges; @@ -3420,22 +3206,7 @@ using facebook::react::BorderCurves = facebook::react::RectangleCorners; using facebook::react::BorderStyles = facebook::react::RectangleEdges; using facebook::react::BorderWidths = facebook::react::RectangleEdges; -using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSPreservedToken = facebook::react::CSSToken; -using facebook::react::CSSRadialGradientSize = std::variant; -using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; using facebook::react::CallFunc = std::function; -using facebook::react::Callback = std::function; -using facebook::react::CallbackHandle = facebook::jsi::Object; -using facebook::react::CallbackId = uint64_t; -using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; @@ -3445,184 +3216,58 @@ using facebook::react::ComponentDescriptorConstructor = facebook::react::Compone using facebook::react::ComponentDescriptorProviderRequest = std::function; using facebook::react::ComponentHandle = int64_t; using facebook::react::ComponentName = const char*; -using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; using facebook::react::CornerInsets = facebook::react::RectangleCorners; -using facebook::react::CrashManagerProvider = std::function()>; using facebook::react::DebuggingOverlayComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::DebuggingOverlayShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::DebuggingOverlayState = facebook::react::StateData; -using facebook::react::DispatchEvent = std::function; using facebook::react::EdgeInsets = facebook::react::RectangleEdges; -using facebook::react::EndResult = facebook::react::NativeAnimatedTurboModuleEndResult, std::optional>; using facebook::react::EventEmitterCallback = std::function; -using facebook::react::EventEmitterListener = facebook::react::EventListenerT; -using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; using facebook::react::EventListener = std::function; using facebook::react::EventPipe = std::function; using facebook::react::EventPipeConclusion = std::function; using facebook::react::EventTag = unsigned int; using facebook::react::Float = CGFloat; -using facebook::react::GarbageCollectionTrigger = std::function; using facebook::react::GradientDirection = std::variant; -using facebook::react::HasComponentProviderFunctionType = std::function; -using facebook::react::Headers = std::map; using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; using facebook::react::ImageSources = std::vector; -using facebook::react::InteractionTypesMap = std::unordered_map; -using facebook::react::IntersectionObserverObserverId = int32_t; -using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::LinesMeasurements = std::vector; -using facebook::react::Logger = std::function; -using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MethodCallResult = std::optional; using facebook::react::ModalHostViewSupportedOrientationsMask = uint32_t; -using facebook::react::MountingTransactionCallback = std::function; -using facebook::react::MutationObserverId = int32_t; -using facebook::react::NativeIntersectionObserverEntry = facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntry; -using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; -using facebook::react::NativeIntersectionObserverObserveOptions = facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; using facebook::react::NativeMethodCallFunc = std::function; -using facebook::react::NativeMutationObserverObserveOptions = facebook::react::NativeMutationObserverNativeMutationObserverObserveOptions, bool>; -using facebook::react::NativeMutationRecord = facebook::react::NativeMutationObserverNativeMutationRecord, std::vector>; -using facebook::react::NativePartialReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; -using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; -using facebook::react::NativePerformancePerformanceObserverObserveOptions = facebook::react::NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; -using facebook::react::NativeReloadAndProfileConfig = facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; -using facebook::react::NativeRequestIdleCallbackOptions = facebook::react::NativeIdleCallbacksRequestIdleCallbackOptions>; -using facebook::react::NativeResizeObserverEntry = facebook::react::NativeResizeObserverNativeResizeObserverEntry; -using facebook::react::NativeResizeObserverNotifyCallback = facebook::react::SyncCallback; -using facebook::react::NativeResizeObserverObserveOptions = facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions, std::optional>; -using facebook::react::OnMutations = std::function&)>; -using facebook::react::ParagraphProps = HostPlatformParagraphProps; -using facebook::react::PerformanceEntry = std::variant; -using facebook::react::PerformanceEntryInteractionId = uint32_t; -using facebook::react::PerformanceObserverCallback = std::function; -using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; -using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; -using facebook::react::PointerIdentifier = int32_t; using facebook::react::PromiseSetupFunctionType = std::function)>; using facebook::react::PullToRefreshViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::PullToRefreshViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::PullToRefreshViewState = facebook::react::StateData; -using facebook::react::RawCallback = std::function; using facebook::react::RawPropsPropNameHash = uint32_t; using facebook::react::RawPropsPropNameLength = uint16_t; using facebook::react::RawPropsValueIndex = uint16_t; -using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ResizeObserverObserverId = int32_t; -using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::RuntimeExecutor = std::function&& callback)>; -using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; -using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; -using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ScrollViewProps = HostPlatformScrollViewProps; -using facebook::react::ShadowTreeCommitTransaction = std::function; -using facebook::react::ShadowViewMutationList = std::vector; using facebook::react::SharedComponentDescriptor = std::shared_ptr; using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; using facebook::react::SharedEventEmitter = std::shared_ptr; using facebook::react::SharedEventPayload = std::shared_ptr; using facebook::react::SharedEventTarget = std::shared_ptr; -using facebook::react::SharedParagraphAttributes = std::shared_ptr; -using facebook::react::SharedRawTextProps = std::shared_ptr; -using facebook::react::SharedScrollViewProps = std::shared_ptr; using facebook::react::SharedShadowNodeFamily = std::shared_ptr; -using facebook::react::SharedTextAttributes = std::shared_ptr; using facebook::react::SharedTouchEventEmitter = std::shared_ptr; using facebook::react::SharedViewEventEmitter = std::shared_ptr; using facebook::react::SharedViewProps = std::shared_ptr; -using facebook::react::SizeAsTuple = std::tuple; -using facebook::react::SnapshotMap = std::unordered_map>; using facebook::react::StatePipe = std::function; using facebook::react::SurfaceId = int32_t; using facebook::react::Tag = int32_t; using facebook::react::TelemetryClock = std::chrono::steady_clock; using facebook::react::TelemetryDuration = std::chrono::nanoseconds; using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; -using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; -using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); -using facebook::react::TimerHandle = int; -using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; using facebook::react::Touch = facebook::react::HostPlatformTouch; using facebook::react::Touches = std::unordered_set; -using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; -using facebook::react::UiTask = std::function; using facebook::react::UnimplementedNativeViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::UnimplementedNativeViewShadowNode = facebook::react::ConcreteViewShadowNode; using facebook::react::UnimplementedNativeViewState = facebook::react::StateData; -using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::UserTimingDetailProvider = std::function; using facebook::react::ValueFactory = std::function; using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; -using facebook::react::ViewNodePairScope = std::deque; using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; using facebook::react::ViewShadowNodeProps = facebook::react::ViewProps; -using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); -template -concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; -template -concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && - ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; -template -concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { - { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { - { T::consume(parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { - { T::consumePreservedToken(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { - { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && - !CSSParserSink) || -CSSParserSink; -template -concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& - (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); -template -concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(func, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { - { visitor(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(block, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; -template -concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; -template -concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; -template -concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; -template -concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; template concept facebook::react::DeclaresOwnSetProp = std::is_same_v; template @@ -3640,78 +3285,38 @@ template concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { { T::filterRawProps(rawProps) } -> std::same_as; }; -template -concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( - TextLayoutManagerT textLayoutManager, - facebook::react::AttributedString attributedString, - facebook::react::ParagraphAttributes paragraphAttributes, - facebook::react::TextLayoutContext layoutContext, - facebook::react::LayoutConstraints layoutConstraints, - typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { - sizeof(typename TextLayoutManagerT::PreparedTextLayout); - { - textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) - } -> std::same_as; - { - textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) - } -> std::same_as; -}; NSArray* facebook::react::extractKeysFromFollyDynamic(const folly::dynamic& dyn); NSError* facebook::react::tryAndReturnError(const std::function& func); NSString* facebook::react::deriveSourceURL(NSURL* url); YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); -bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); -bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); bool facebook::react::areBorderRadiiCircular(const facebook::react::BorderRadii& borderRadii); -bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); -bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); bool facebook::react::hostPlatformColorIsColorMeaningful(facebook::react::Color color) noexcept; bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); bool facebook::react::isZero(facebook::react::Float n); const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); -const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); -const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); constexpr auto facebook::react::to_underlying(auto e) noexcept; -constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); constexpr char facebook::react::toLower(char c); -constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); -constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); -constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); -double facebook::react::ceil(double value) noexcept; -double facebook::react::floor(double value) noexcept; -double facebook::react::getCPUTimeNanos(); -double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); -double facebook::react::round(double value) noexcept; facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); facebook::react::Color facebook::react::hostPlatformColorFromComponents(facebook::react::ColorComponents components); facebook::react::Color facebook::react::hostPlatformColorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); facebook::react::ColorComponents facebook::react::colorComponentsFromHostPlatformColor(facebook::react::Color color); facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); -facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); -facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); facebook::react::Float facebook::react::floatFromYogaFloat(float value); facebook::react::Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); -facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); -facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); -facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); facebook::react::SharedColor facebook::react::blackColor(); facebook::react::SharedColor facebook::react::clearColor(); -facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); facebook::react::SharedColor facebook::react::parsePlatformColor(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value); facebook::react::SharedColor facebook::react::whiteColor(); -facebook::react::Size facebook::react::ModalHostViewScreenSize(void); facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); @@ -3720,101 +3325,40 @@ facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(facebook::react::Float value); float facebook::react::alphaFromHostPlatformColor(facebook::react::Color color); float facebook::react::blueFromHostPlatformColor(facebook::react::Color color); -float facebook::react::ceil(float value) noexcept; -float facebook::react::floor(float value) noexcept; float facebook::react::greenFromHostPlatformColor(facebook::react::Color color); float facebook::react::redFromHostPlatformColor(facebook::react::Color color); -float facebook::react::round(float value) noexcept; float facebook::react::yogaFloatFromFloat(facebook::react::Float value); folly::dynamic facebook::react::convertIdToFollyDynamic(id json); folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); -folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); id facebook::react::convertFollyDynamicToId(const folly::dynamic& dyn); int facebook::react::toInt(const facebook::react::DisplayType& displayType); int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); -long double facebook::react::ceil(long double value) noexcept; -long double facebook::react::floor(long double value) noexcept; -long double facebook::react::round(long double value) noexcept; -size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); -std::function facebook::react::makeCallback(std::weak_ptr instance, const folly::dynamic& callbackId); std::optional facebook::react::blendModeFromString(std::string_view blendModeName); std::optional facebook::react::filterTypeFromString(std::string_view filterName); -std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); -std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); std::optional facebook::react::isolationFromString(std::string_view isolationSetting); -std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); -std::string facebook::react::base64Encode(const std::string_view s); -std::string facebook::react::componentNameByReactViewName(std::string viewName); -std::string facebook::react::generateRandomUuidString(); std::string facebook::react::toString(const double& value); std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); -std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); std::string facebook::react::toString(const facebook::react::DisplayType& displayType); -std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); -std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); std::string facebook::react::toString(const facebook::react::FilterType& filterType); -std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); -std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); -std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); -std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); std::string facebook::react::toString(const facebook::react::ImageSource& value); std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); -std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); -std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); std::string facebook::react::toString(const facebook::react::Role& role); -std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); std::string facebook::react::toString(const facebook::react::SharedColor& value); -std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); -std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); -std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); -std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); -std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); -std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); -std::string facebook::react::toString(const facebook::react::TextWidthMode& textWidthMode); -std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); std::string facebook::react::toString(double doubleValue, char suffix); std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); std::string facebook::react::toString(facebook::react::PointerEventsMode value); -std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); -std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); -std::vector facebook::react::parseMethodCalls(folly::dynamic&& jsonData); -std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); -template -constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); -template -constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); -template -facebook::react::Float facebook::react::roundToPixel(facebook::react::Float value, facebook::react::Float scaleFactor); -template -facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, facebook::react::Float scaleFactor); -template -facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, facebook::react::Float scaleFactor); -template -facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, facebook::react::Float scaleFactor); template std::size_t facebook::react::hash_combine(const T& v, const Args &... args); template void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); template void facebook::react::hash_combine_optionals(std::size_t& seed, const std::optional &... optionals); -template ::type> -facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); -template -constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); -template -constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); template constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; template @@ -3828,12 +3372,6 @@ RCTManagedPointer* facebook::react::managedPointer(P initializer); template T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue); template -T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); -template -T facebook::react::get(const std::unique_ptr& animatedProp); -template -bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); -template facebook::react::ModuleConstants facebook::react::typedConstants(typename T::Builder::Input&& value); template void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); @@ -3852,11 +3390,6 @@ uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexc uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; void facebook::react::FBReactNativeSpec_registerComponentDescriptorsFromCodegen(std::shared_ptr registry); -void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); -void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); -void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); -void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); -void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); void facebook::react::executeSynchronouslyOnSameThread_CAN_DEADLOCK(const facebook::react::RuntimeExecutor& runtimeExecutor, std::function&& runtimeWork); void facebook::react::fromRawValue(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); @@ -3866,42 +3399,17 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AutocapitalizationType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::KeyboardAppearance& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::KeyboardType& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ReturnKeyType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Selection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextInputAccessoryVisibilityMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); @@ -3912,9 +3420,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); @@ -3923,12 +3428,8 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageSource& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); @@ -3937,16 +3438,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); -void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); -void facebook::react::handleJSError(facebook::jsi::Runtime& runtime, const facebook::jsi::JSError& error, bool isFatal); -void facebook::react::installLegacyUIManagerConstantsProviderBinding(facebook::jsi::Runtime& runtime); -void facebook::react::mergeAnimatedRawProps(folly::dynamic& target, const folly::dynamic& source); -void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); -void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); -void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); @@ -3954,17 +3445,10 @@ void facebook::react::serializeTransformOperationValue(const std::string& operat void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); void facebook::react::unsafeExecuteOnMainThreadSync(std::function work); -void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); -void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); -bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); -bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); -bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); -bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; -bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); constexpr bool facebook::react::operator&(facebook::react::ModalHostViewSupportedOrientationsMask const lhs, enum facebook::react::ModalHostViewSupportedOrientations const rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); @@ -4032,147 +3516,6 @@ class facebook::react::ActivityIndicatorViewProps : public facebook::react::Host public facebook::react::SharedColor color; } -class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::AnimatedModule : public facebook::react::NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { - public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); - public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); - public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); - public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); - public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); - public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void finishOperationBatch(facebook::jsi::Runtime& rt); - public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); - public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); - public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); - public void removeListeners(facebook::jsi::Runtime& rt, int count); - public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); - public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); - public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); - public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void startOperationBatch(facebook::jsi::Runtime& rt); - public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); - public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); -} - -class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { - public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number transactionNumber, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; -} - -class facebook::react::AnimatedNode { - protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); - protected facebook::react::AnimatedNodeType type_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag tag_; - protected std::unordered_set children_; - public AnimatedNode(const facebook::react::AnimatedNode&) = default; - public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; - public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); - public const folly::dynamic& getConfig() const noexcept; - public const std::unordered_set& getChildren() const noexcept; - public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; - public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; - public facebook::react::AnimatedNodeType type() const noexcept; - public facebook::react::Tag tag() const noexcept; - public int activeIncomingNodes; - public int bfsColor; - public static constexpr int INITIAL_BFS_COLOR; - public static std::optional getNodeTypeByName(const std::string& nodeTypeName); - public virtual void onAttachToNode(facebook::react::Tag); - public virtual void onDetachedFromNode(facebook::react::Tag); - public virtual void update(); - public virtual ~AnimatedNode() = default; - public void addChild(facebook::react::Tag tag); - public void removeChild(facebook::react::Tag tag); -} - -class facebook::react::AnimatedPropsRegistry { - public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); - public void clear(facebook::react::SurfaceId surfaceId); - public void clearOnSurfaceStop(facebook::react::SurfaceId surfaceId); - public void initializeSurface(facebook::react::SurfaceId surfaceId); - public void update(const std::vector& batches); -} - -class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { - public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); - public using PauseCallback = std::function; - public using ResumeCallback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) override; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; - public virtual void stop(facebook::react::CallbackId callbackId) override; - public virtual void trigger() override; - public void requestAsyncFlushForSurfaces(const std::set& surfaces); - public void synchronouslyUpdateProps(const std::unordered_map& updates); - public ~AnimationBackend() override; -} - -class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { - public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; -} - -class facebook::react::AnimationChoreographer { - public virtual facebook::react::AnimationTimestamp now() const; - public virtual void pause() = 0; - public virtual void resume() = 0; - public virtual ~AnimationChoreographer() = default; - public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; - public void setAnimationBackend(std::weak_ptr animationBackend); -} - -class facebook::react::AnimationDriver { - protected bool ignoreCompletedHandlers_; - protected bool isComplete_; - protected bool isStarted_; - protected double startFrameTimeMs_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag animatedValueTag_; - protected folly::dynamic config_; - protected int currentIteration_; - protected int id_; - protected int iterations_; - protected std::optional endCallback_; - protected virtual bool update(double, bool); - protected void markNodeUpdated(facebook::react::Tag tag); - public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); - public bool getIsComplete() const noexcept; - public facebook::react::Tag getAnimatedValueTag() const noexcept; - public int getId() const noexcept; - public static std::optional getDriverTypeByName(const std::string& driverTypeName); - public virtual void updateConfig(folly::dynamic config); - public virtual ~AnimationDriver() = default; - public void runAnimationStep(double renderingTime); - public void startAnimation(); - public void stopAnimation(bool ignoreCompletedHandlers = false); -} - -class facebook::react::AppRegistryBinding { - public AppRegistryBinding() = delete; - public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); -} - class facebook::react::AppleEventBeat : public facebook::react::EventBeat, public facebook::react::RunLoopObserver::Delegate { public AppleEventBeat(const facebook::react::AppleEventBeat&) = delete; public AppleEventBeat(facebook::react::AppleEventBeat&&) = delete; @@ -4204,151 +3547,6 @@ class facebook::react::AsyncArrayBuffer { public ~AsyncArrayBuffer() = default; } -class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { - public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; - public bool isContentEqual(const facebook::react::AttributedString& rhs) const; - public bool isEmpty() const; - public bool operator==(const facebook::react::AttributedString& rhs) const; - public const facebook::react::AttributedString::Fragments& getFragments() const; - public const facebook::react::TextAttributes& getBaseTextAttributes() const; - public facebook::react::AttributedString::Fragments& getFragments(); - public std::string getString() const; - public using Fragments = std::vector; - public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); - public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); - public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); -} - -class facebook::react::AttributedString::Fragment { - public bool isAttachment() const; - public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; - public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; - public facebook::react::ShadowView parentShadowView; - public facebook::react::TextAttributes textAttributes; - public static std::string AttachmentCharacter(); - public std::string string; -} - -class facebook::react::AttributedString::Range { - public int length; - public int location; -} - -class facebook::react::AttributedStringBox { - public AttributedStringBox(); - public AttributedStringBox(const facebook::react::AttributedString& value); - public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; - public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; - public AttributedStringBox(std::shared_ptr opaquePointer); - public const facebook::react::AttributedString& getValue() const; - public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; - public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; - public facebook::react::AttributedStringBox::Mode getMode() const; - public std::shared_ptr getOpaquePointer() const; -} - -enum facebook::react::AttributedStringBox::Mode { - OpaquePointer, - Value, -} - -class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseParagraphProps() = default; - public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool isSelectable; - public bool onTextLayout; - public facebook::react::ParagraphAttributes paragraphAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { - public BaseScrollViewProps() = default; - public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool alwaysBounceHorizontal; - public bool alwaysBounceVertical; - public bool automaticallyAdjustContentInsets; - public bool automaticallyAdjustKeyboardInsets; - public bool automaticallyAdjustsScrollIndicatorInsets; - public bool bounces; - public bool bouncesZoom; - public bool canCancelContentTouches; - public bool centerContent; - public bool directionalLockEnabled; - public bool disableIntervalMomentum; - public bool horizontal; - public bool isInvertedVirtualizedList; - public bool pagingEnabled; - public bool persistentScrollbar; - public bool pinchGestureEnabled; - public bool scrollEnabled; - public bool scrollToOverflowEnabled; - public bool scrollsToTop; - public bool showsHorizontalScrollIndicator; - public bool showsVerticalScrollIndicator; - public bool snapToEnd; - public bool snapToStart; - public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; - public facebook::react::EdgeInsets contentInset; - public facebook::react::EdgeInsets scrollIndicatorInsets; - public facebook::react::Float decelerationRate; - public facebook::react::Float endDraggingSensitivityMultiplier; - public facebook::react::Float maximumZoomScale; - public facebook::react::Float minimumZoomScale; - public facebook::react::Float scrollEventThrottle; - public facebook::react::Float snapToInterval; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::ScrollViewIndicatorStyle indicatorStyle; - public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; - public facebook::react::ScrollViewSnapToAlignment snapToAlignment; - public std::optional maintainVisibleContentPosition; - public std::vector snapToOffsets; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseTextInputProps() = default; - public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool autoFocus; - public bool disableKeyboardShortcuts; - public bool editable; - public bool multiline; - public bool readOnly; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::SharedColor cursorColor; - public facebook::react::SharedColor placeholderTextColor; - public facebook::react::SharedColor selectionColor; - public facebook::react::SharedColor selectionHandleColor; - public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; - public facebook::react::SubmitBehavior submitBehavior; - public facebook::react::TextAttributes getEffectiveTextAttributes(facebook::react::Float fontSizeMultiplier) const; - public int maxLength; - public int mostRecentEventCount; - public std::optional> acceptDragAndDropTypes; - public std::string autoCapitalize; - public std::string defaultValue; - public std::string placeholder; - public std::string text; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextProps { - public BaseTextProps() = default; - public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::TextAttributes textAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextShadowNode { - public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); - public using Attachments = std::vector; -} - -class facebook::react::BaseTextShadowNode::Attachment { - public const facebook::react::ShadowNode* shadowNode; - public size_t fragmentIndex; -} - class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { public void onAccessibilityAction(const std::string& name) const; public void onAccessibilityEscape() const; @@ -4405,82 +3603,6 @@ class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { - public BigStringBuffer(std::unique_ptr script); - public virtual const uint8_t* data() const override; - public virtual size_t size() const override; -} - -class facebook::react::BindingsInstaller { - public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); -} - -class facebook::react::BridgelessNativeMethodCallInvoker : public facebook::react::NativeMethodCallInvoker { - public BridgelessNativeMethodCallInvoker(std::shared_ptr messageQueueThread); - public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; - public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; -} - -class facebook::react::BufferedRuntimeExecutor : public std::enable_shared_from_this { - public BufferedRuntimeExecutor(facebook::react::BufferedRuntimeExecutor::Executor executor); - public facebook::react::RuntimeExecutor asRuntimeExecutor(); - public facebook::react::RuntimeExecutor asWeakRuntimeExecutor(); - public using Executor = std::function; - public using Work = std::function; - public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void execute(facebook::react::SchedulerPriority priority, facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void flush(); -} - -class facebook::react::CSSSyntaxParser { - public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; - public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; - public constexpr CSSSyntaxParser(std::string_view css); - public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); - public constexpr bool isFinished() const; - public constexpr const facebook::react::CSSToken& peek() const; - public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; - public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; - public constexpr void consumeWhitespace(); - template - public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); - template - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); -} - -class facebook::react::CSSToken { - public constexpr CSSToken(const facebook::react::CSSToken& other) = default; - public constexpr CSSToken(facebook::react::CSSToken&& other) = default; - public constexpr CSSToken(facebook::react::CSSTokenType type); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); - public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); - public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; - public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; - public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; - public constexpr facebook::react::CSSTokenType type() const; - public constexpr float numericValue() const; - public constexpr std::string_view stringValue() const; - public constexpr std::string_view unit() const; -} - -class facebook::react::CSSTokenizer { - public constexpr CSSTokenizer(std::string_view characters); - public constexpr facebook::react::CSSToken next(); -} - -class facebook::react::CSSValueParser { - public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; - public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); - public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; - public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); - public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); -} - class facebook::react::CallInvoker { public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; @@ -4490,13 +3612,6 @@ class facebook::react::CallInvoker { public virtual ~CallInvoker() = default; } -class facebook::react::CallInvokerImpl : public facebook::react::CallInvoker { - public CallInvokerImpl(std::shared_ptr bufferedRuntimeExecutor, std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { public facebook::jsi::Function& callback() noexcept; public facebook::jsi::Runtime& runtime() noexcept; @@ -4506,32 +3621,6 @@ class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject public void destroy(); } -class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; -} - -class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; -} - -class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { - public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::Color getColor(); - public virtual void update() override; -} - -class facebook::react::ComponentBuilder { - public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; - public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; - public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); - public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; - public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; - template - public std::shared_ptr build(facebook::react::Element element) const; -} - class facebook::react::ComponentDescriptor { protected facebook::react::ComponentDescriptor::Flavor flavor_; protected facebook::react::EventDispatcher::Weak eventDispatcher_; @@ -4597,17 +3686,6 @@ class facebook::react::ContextContainer { public void insert(const std::string& key, const T& instance) const; } -class facebook::react::CxxNativeModule : public facebook::react::NativeModule { - public CxxNativeModule(std::weak_ptr instance, std::string name, facebook::xplat::module::CxxModule::Provider provider, std::shared_ptr messageQueueThread); - public static void setShouldWarnOnUse(bool value); - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int hookId, folly::dynamic&& args) override; - public virtual folly::dynamic getConstants() override; - public virtual std::string getName() override; - public virtual std::string getSyncMethodName(unsigned int methodId) override; - public virtual std::vector getMethods() override; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; -} - class facebook::react::DebugStringConvertible { } @@ -4619,71 +3697,12 @@ class facebook::react::DebuggingOverlayProps : public facebook::react::HostPlatf public DebuggingOverlayProps(const facebook::react::PropsParserContext& context, const facebook::react::DebuggingOverlayProps& sourceProps, const facebook::react::RawProps& rawProps); } -class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::DevToolsRuntimeSettings { - public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; - public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; - public static facebook::react::DevToolsRuntimeSettings& getInstance(); - public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; - public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; - public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); - public ~DevToolsRuntimeSettings() = default; -} - -class facebook::react::DevToolsRuntimeSettingsModule : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleCxxSpec { - public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); - public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); -} - -class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { - public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::ElementFragment { - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; - public facebook::react::ElementFragment::List children; - public facebook::react::ElementFragment::ReferenceCallback referenceCallback; - public facebook::react::ElementFragment::StateCallback stateCallback; - public facebook::react::Props::Shared props; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public using FinalizeCallback = std::function; - public using List = std::vector; - public using ListOfShared = std::vector; - public using ReferenceCallback = std::function& shadowNode)>; - public using Shared = std::shared_ptr; - public using StateCallback = std::function; -} - class facebook::react::Error { public Error(const char* message); public Error(std::string message); public const std::string& message() const; } -class facebook::react::EventAnimationDriver { - protected const facebook::react::Tag animatedValueTag_; - protected std::vector eventPath_; - public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); - public facebook::react::Tag getAnimatedNodeTag() const; - public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); - public ~EventAnimationDriver() = default; -} - class facebook::react::EventBeat { protected facebook::react::EventBeat::BeatCallback beatCallback_; protected mutable std::atomic isEventBeatRequested_; @@ -4754,15 +3773,6 @@ class facebook::react::EventLogger { public virtual ~EventLogger() = default; } -class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { - public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); - public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; - public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; -} - class facebook::react::EventQueue { protected const std::unique_ptr eventBeat_; protected facebook::react::EventQueueProcessor eventProcessor_; @@ -4811,45 +3821,6 @@ class facebook::react::EventTarget { public void setEnabled(bool enabled); } -class facebook::react::ExecutorDelegate { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; - public virtual std::shared_ptr getModuleRegistry() = 0; - public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; - public virtual ~ExecutorDelegate() = default; -} - -class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - protected virtual void updateConfig(folly::dynamic config) override; - public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::FuseboxTracer { - public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; - public bool isTracing(); - public bool startTracing(); - public bool stopTracing(const std::function& resultCallback); - public bool stopTracingAndWriteToFile(const std::string& path); - public static facebook::react::FuseboxTracer& getFuseboxTracer(); - public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); -} - -class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { - public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; -} - -class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { - public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; - public void setDebuggerName(const std::string& debuggerName); - public void setEnableDebugger(bool enableDebugger); -} - -class facebook::react::HermesInstance { - public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; -} - class facebook::react::HighResDuration { public constexpr HighResDuration(); public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; @@ -4919,26 +3890,12 @@ class facebook::react::IAsyncEventEmitter { public virtual ~IAsyncEventEmitter() noexcept = default; } -class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ImageErrorInfo { public int responseCode; public std::string error; public std::vector> httpResponseHeaders; } -class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onError(const facebook::react::ImageErrorInfo& error) const; - public void onLoad(const facebook::react::ImageSource& source) const; - public void onLoadEnd() const; - public void onLoadStart() const; - public void onPartialLoad() const; - public void onProgress(double progress, int64_t loaded, int64_t total) const; -} - class facebook::react::ImageLoadError { public ImageLoadError(std::shared_ptr error); public std::shared_ptr getError() const; @@ -4950,25 +3907,6 @@ class facebook::react::ImageManager { public virtual ~ImageManager(); } -class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { - public ImageProps() = default; - public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool shouldNotifyLoadEvents; - public facebook::react::EdgeInsets capInsets; - public facebook::react::Float blurRadius; - public facebook::react::Float resizeMultiplier; - public facebook::react::ImageResizeMode resizeMode; - public facebook::react::ImageSource defaultSource; - public facebook::react::ImageSource loadingIndicatorSource; - public facebook::react::ImageSources sources; - public facebook::react::SharedColor overlayColor; - public std::optional progressiveRenderingEnabled; - public std::optional fadeDuration; - public std::optional tintColor; - public std::string resizeMethod; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - class facebook::react::ImageRequest { public ImageRequest(const facebook::react::ImageRequest& other) = delete; public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; @@ -5019,15 +3957,6 @@ class facebook::react::ImageResponseObserverCoordinator { public void removeObserver(const std::shared_ptr& observer) const; } -class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { - public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setImageManager(const std::shared_ptr& imageManager); -} - class facebook::react::ImageSource { public bool operator==(const facebook::react::ImageSource& rhs) const; public facebook::react::Float scale; @@ -5054,24 +3983,12 @@ enum facebook::react::ImageSource::Type { Remote, } -class facebook::react::ImageState { - public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const facebook::react::ImageRequestParams& imageRequestParams); - public const facebook::react::ImageRequest& getImageRequest() const; - public const facebook::react::ImageRequestParams& getImageRequestParams() const; - public facebook::react::ImageSource getImageSource() const; -} - class facebook::react::ImageTelemetry { public ImageTelemetry(const facebook::react::SurfaceId surfaceId); public facebook::react::SurfaceId getSurfaceId() const; public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; } -class facebook::react::InputAccessoryComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public InputAccessoryComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::InputAccessoryEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -5081,42 +3998,6 @@ class facebook::react::InputAccessoryProps : public facebook::react::HostPlatfor public facebook::react::SharedColor backgroundColor; } -class facebook::react::InputAccessoryShadowNode : public facebook::react::ConcreteViewShadowNode { - public InputAccessoryShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public InputAccessoryShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::InputAccessoryState { - public InputAccessoryState(); - public InputAccessoryState(facebook::react::Size viewportSize_); - public const facebook::react::Size viewportSize; -} - -class facebook::react::Instance { - public bool isBatchActive(); - public bool isInspectable(); - public bool supportsProfiling(); - public const facebook::react::ModuleRegistry& getModuleRegistry() const; - public facebook::react::ModuleRegistry& getModuleRegistry(); - public facebook::react::RuntimeExecutor getRuntimeExecutor(); - public std::shared_ptr getJSCallInvoker(); - public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker); - public void callJSCallback(uint64_t callbackId, folly::dynamic&& params); - public void callJSFunction(std::string&& module, std::string&& method, folly::dynamic&& params); - public void handleMemoryPressure(int pressureLevel); - public void initializeBridge(std::unique_ptr callback, std::shared_ptr jsef, std::shared_ptr jsQueue, std::shared_ptr moduleRegistry, facebook::react::jsinspector_modern::HostTarget* inspectorTarget = nullptr); - public void initializeRuntime(); - public void loadRAMBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL, bool loadSynchronously); - public void loadScriptFromString(std::unique_ptr string, std::string sourceURL, bool loadSynchronously); - public void registerBundle(uint32_t bundleId, const std::string& bundlePath); - public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); - public void setSourceURL(std::string sourceURL); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~Instance() override; -} - class facebook::react::InstanceHandle { public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; @@ -5124,43 +4005,6 @@ class facebook::react::InstanceHandle { public using Shared = std::shared_ptr; } -class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { - public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; - public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; - public virtual void update() override; -} - -class facebook::react::IntersectionObserver { - public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); - public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); - public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); - public std::vector getThresholds() const; -} - -class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public IntersectionObserverManager(); - public std::vector takeRecords(); - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); - public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); -} - -class facebook::react::IntersectionObserverState { - public bool isIntersecting() const; - public bool operator==(const facebook::react::IntersectionObserverState& other) const; - public static facebook::react::IntersectionObserverState Initial(); - public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold); - public static facebook::react::IntersectionObserverState Intersecting(facebook::react::Float threshold, facebook::react::Float rootThreshold); - public static facebook::react::IntersectionObserverState NotIntersecting(); -} - class facebook::react::JSBigBufferString : public facebook::react::JSBigString { public JSBigBufferString(size_t size); public char* mutableData(); @@ -5200,165 +4044,9 @@ class facebook::react::JSBigString : public facebook::jsi::Buffer { public ~JSBigString() override = default; } -class facebook::react::JSExecutor { - public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); - public virtual bool isInspectable(); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); - public virtual std::string getDescription() = 0; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; - public virtual void destroy(); - public virtual void flush(); - public virtual void handleMemoryPressure(int pressureLevel); - public virtual void initializeRuntime() = 0; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; - public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) = 0; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; - public virtual void* getJavaScriptContext(); - public virtual ~JSExecutor() = default; -} - -class facebook::react::JSExecutorFactory { - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; - public virtual ~JSExecutorFactory() = default; -} - -class facebook::react::JSIExecutor : public facebook::react::JSExecutor { - public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); - public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); - public using RuntimeInstaller = std::function; - public virtual bool isInspectable() override; - public virtual std::string getDescription() override; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; - public virtual void flush() override; - public virtual void handleMemoryPressure(int pressureLevel) override; - public virtual void initializeRuntime() override; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; - public virtual void setBundleRegistry(std::unique_ptr r) override; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; - public virtual void* getJavaScriptContext() override; -} - -class facebook::react::JSINativeModules { - public JSINativeModules(std::shared_ptr moduleRegistry); - public facebook::jsi::Value getModule(facebook::jsi::Runtime& rt, const facebook::jsi::PropNameID& name); - public void reset(); -} - -class facebook::react::JSIRuntimeHolder : public facebook::react::JSRuntime { - public JSIRuntimeHolder(std::unique_ptr runtime); - public virtual facebook::jsi::Runtime& getRuntime() noexcept override; -} - -class facebook::react::JSModulesUnbundle { - public JSModulesUnbundle(); - public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const = 0; - public virtual ~JSModulesUnbundle() = default; -} - -class facebook::react::JSModulesUnbundle::ModuleNotFound : public std::out_of_range { - public ModuleNotFound(uint32_t moduleId); -} - -struct facebook::react::JSModulesUnbundle::Module { - public std::string code; - public std::string name; -} - -class facebook::react::JSRuntime { - public virtual facebook::jsi::Runtime& getRuntime() noexcept = 0; - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); - public virtual ~JSRuntime() = default; -} - -class facebook::react::JSRuntimeFactory { - public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept = 0; - public virtual ~JSRuntimeFactory() = default; -} - -class facebook::react::JsErrorHandler { - public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); - public bool hasHandledFatalError(); - public bool inErrorHandler(); - public bool isRuntimeReady(); - public using OnJsError = std::function; - public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); - public void notifyOfFatalError(); - public void registerErrorListener(const std::function& listener); - public void setRuntimeReady(); - public ~JsErrorHandler(); -} - -struct facebook::react::JsErrorHandler::ProcessedError { - public bool isFatal; - public facebook::jsi::Object extraData; - public int id; - public std::optional componentStack; - public std::optional name; - public std::optional originalMessage; - public std::string message; - public std::vector stack; -} - -struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { - public std::optional column; - public std::optional lineNumber; - public std::optional file; - public std::string methodName; -} - -class facebook::react::LayoutAnimationCallbackWrapper { - public LayoutAnimationCallbackWrapper(); - public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); - public void call(facebook::jsi::Runtime& runtime) const; -} - -class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; - public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); -} - -class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { - protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected facebook::react::ShadowView createInterpolatedShadowView(facebook::react::Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; - protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; - protected mutable std::mutex currentAnimationMutex_; - protected mutable std::optional currentAnimation_; - protected mutable std::vector inflightAnimations_; - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; - protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; - protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; - public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); - public virtual bool shouldAnimateFrame() const override; - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; - public void setClockNow(std::function now); - public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; - public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; -} - -class facebook::react::LayoutAnimationStatusDelegate { - public virtual void onAllAnimationsComplete() = 0; - public virtual void onAnimationStarted() = 0; - public virtual ~LayoutAnimationStatusDelegate() = default; -} - class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { } -class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; -} - class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); @@ -5391,44 +4079,6 @@ struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { public bool includeViewportOffset; } -class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { - public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); - public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); - public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; - public virtual void lockRevisions() override; - public virtual void unlockRevisions() override; -} - -class facebook::react::LeakChecker { - public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); - public void stopSurface(facebook::react::SurfaceId surfaceId); - public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; -} - -class facebook::react::LegacyViewManagerInteropComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public LegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public LegacyViewManagerInteropComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::ComponentHandle getComponentHandle() const override; - public virtual facebook::react::ComponentName getComponentName() const override; -} - -class facebook::react::LegacyViewManagerInteropState { - public std::shared_ptr coordinator; -} - -class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { - public LegacyViewManagerInteropViewProps() = default; - public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public const folly::dynamic otherProps; -} - -class facebook::react::LineMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::Size size; -} - class facebook::react::LongLivedObject { protected LongLivedObject(facebook::jsi::Runtime& runtime); protected facebook::jsi::Runtime& runtime_; @@ -5510,25 +4160,6 @@ class facebook::react::MapBufferBuilder { public void putString(facebook::react::MapBuffer::Key key, const std::string& value); } -class facebook::react::MergedValueDispatcher { - public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); - public using DispatchFunction = std::function&&)>; - public using MergedValueFunction = std::function&& tagToProps)>; - public void dispatch(const std::unordered_map& value); -} - -class facebook::react::MessageQueueThread { - public virtual void quitSynchronous() = 0; - public virtual void runOnQueue(std::function&&) = 0; - public virtual void runOnQueueSync(std::function&&) = 0; - public virtual ~MessageQueueThread() = default; -} - -class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ModalHostViewEventEmitter : public facebook::react::BaseViewEventEmitter { public static char const* toString(const facebook::react::ModalHostViewEventEmitter::OnOrientationChangeOrientation value); public void onDismiss(facebook::react::ModalHostViewEventEmitter::OnDismiss value) const; @@ -5570,95 +4201,6 @@ class facebook::react::ModalHostViewProps : public facebook::react::HostPlatform public int identifier; } -class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::ModalHostViewState { - public ModalHostViewState(); - public ModalHostViewState(facebook::react::Size screenSize_); - public const facebook::react::Size screenSize; - public using Shared = std::shared_ptr; -} - -class facebook::react::ModuleRegistry { - public ModuleRegistry(std::vector> modules, facebook::react::ModuleRegistry::ModuleNotFoundCallback callback = nullptr); - public facebook::react::MethodCallResult callSerializableNativeHook(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params); - public std::optional getConfig(const std::string& name); - public std::string getModuleName(unsigned int moduleId); - public std::string getModuleSyncMethodName(unsigned int moduleId, unsigned int methodId); - public std::vector moduleNames(); - public using ModuleNotFoundCallback = std::function; - public void callNativeMethod(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params, int callId); - public void registerModules(std::vector> modules); -} - -class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { - public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MountingCoordinator { - public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); - public bool hasPendingTransactions() const; - public bool waitForTransaction(std::chrono::duration timeout) const; - public const facebook::react::TelemetryController& getTelemetryController() const; - public facebook::react::ShadowTreeRevision getBaseRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional pullTransaction(bool willPerformAsynchronously = false) const; - public void didPerformAsyncTransactions() const; - public void setMountingOverrideDelegate(std::weak_ptr delegate) const; -} - -class facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const = 0; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; - public virtual ~MountingOverrideDelegate() = default; -} - -class facebook::react::MountingTransaction { - public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; - public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; - public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); - public const facebook::react::ShadowViewMutationList& getMutations() const; - public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; - public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; - public facebook::react::MountingTransaction::Number getNumber() const; - public facebook::react::ShadowViewMutationList getMutations(); - public facebook::react::SurfaceId getSurfaceId() const; - public facebook::react::TransactionTelemetry& getTelemetry() const; - public using Number = int64_t; - public void mergeWith(facebook::react::MountingTransaction&& transaction); -} - -class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { - public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MutationObserver { - public MutationObserver(const facebook::react::MutationObserver&) = delete; - public MutationObserver(facebook::react::MutationObserver&&) = default; - public MutationObserver(facebook::react::MutationObserverId mutationObserverId); - public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; - public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; - public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); - public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; -} - -class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { - public MutationObserverManager(); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); - public void disconnect(facebook::react::UIManager& uiManager); - public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); - public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); -} - class facebook::react::NSDataBigString : public facebook::react::JSBigString { public NSDataBigString(NSData* data); public virtual bool isAscii() const override; @@ -5686,68 +4228,6 @@ class facebook::react::NativeAnimatedModuleSpecJSI : public facebook::react::Obj public NativeAnimatedModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { - public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; - public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; - public bool commitProps(); - public bool hasManagedProps() const noexcept; - public bool isOnRenderThread() const noexcept; - public bool useSharedAnimatedBackend() const noexcept; - public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); - public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); - public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; - public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; - public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; - public std::optional getValue(facebook::react::Tag tag) noexcept; - public std::shared_ptr getEventEmitterListener() noexcept; - public using DirectManipulationCallback = std::function; - public using FabricCommitCallback = std::function&)>; - public using FrameRateListenerCallback = std::function; - public using ResolvePlatformColor = std::function; - public using StartOnRenderCallback = std::function&&, bool isAsync)>; - public using StopOnRenderCallback = std::function; - public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; - public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; - public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void dropAnimatedNode(facebook::react::Tag tag) noexcept; - public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); - public void flattenAnimatedNodeOffset(facebook::react::Tag tag); - public void flushAnimatedNodesCreatedAsync() noexcept; - public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); - public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; - public void onRender(); - public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; - public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; - public void restoreDefaultValues(facebook::react::Tag tag) noexcept; - public void scheduleOnUI(facebook::react::UiTask&& task); - public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; - public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); - public void setAnimatedNodeValue(facebook::react::Tag tag, double value); - public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; - public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; - public void startRenderCallbackIfNeeded(bool isAsync); - public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; - public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; - public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; - public ~NativeAnimatedNodesManager() noexcept; - template >> - public T* getAnimatedNode(facebook::react::Tag tag) const; -} - -class facebook::react::NativeAnimatedNodesManagerProvider { - public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); - public std::shared_ptr getEventEmitterListener(); - public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); - public void addEventEmitterListener(const std::shared_ptr& listener); -} - class facebook::react::NativeAnimatedTurboModuleSpecJSI : public facebook::react::ObjCTurboModule { public NativeAnimatedTurboModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5764,41 +4244,10 @@ class facebook::react::NativeBlobModuleSpecJSI : public facebook::react::ObjCTur public NativeBlobModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeCPUTime : public facebook::react::NativeCPUTimeCxxSpec { - public NativeCPUTime(std::shared_ptr jsInvoker); - public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); - public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); -} - class facebook::react::NativeClipboardSpecJSI : public facebook::react::ObjCTurboModule { public NativeClipboardSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeDOM : public facebook::react::NativeDOMCxxSpec { - public NativeDOM(std::shared_ptr jsInvoker); - public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); - public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); - public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); - public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); - public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); - public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); - public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); - public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); - public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); -} - class facebook::react::NativeDevLoadingViewSpecJSI : public facebook::react::ObjCTurboModule { public NativeDevLoadingViewSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5839,12 +4288,6 @@ class facebook::react::NativeI18nManagerSpecJSI : public facebook::react::ObjCTu public NativeI18nManagerSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeIdleCallbacks : public facebook::react::NativeIdleCallbacksCxxSpec { - public NativeIdleCallbacks(std::shared_ptr jsInvoker); - public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); - public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); -} - class facebook::react::NativeImageEditorSpecJSI : public facebook::react::ObjCTurboModule { public NativeImageEditorSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5857,15 +4300,6 @@ class facebook::react::NativeImageStoreIOSSpecJSI : public facebook::react::ObjC public NativeImageStoreIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeIntersectionObserver : public facebook::react::NativeIntersectionObserverCxxSpec { - public NativeIntersectionObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeJSCHeapCaptureSpecJSI : public facebook::react::ObjCTurboModule { public NativeJSCHeapCaptureSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -5888,101 +4322,10 @@ class facebook::react::NativeMethodCallInvoker { public virtual ~NativeMethodCallInvoker() = default; } -class facebook::react::NativeMicrotasks : public facebook::react::NativeMicrotasksCxxSpec { - public NativeMicrotasks(std::shared_ptr jsInvoker); - public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); -} - -class facebook::react::NativeModule { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& args) = 0; - public virtual folly::dynamic getConstants() = 0; - public virtual std::string getName() = 0; - public virtual std::string getSyncMethodName(unsigned int methodId) = 0; - public virtual std::vector getMethods() = 0; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) = 0; - public virtual ~NativeModule() = default; -} - -class facebook::react::NativeModulePerfLogger { - public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; - public virtual void asyncMethodCallBatchPreprocessStart() = 0; - public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; - public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual ~NativeModulePerfLogger() = default; -} - -class facebook::react::NativeMutationObserver : public facebook::react::NativeMutationObserverCxxSpec { - public NativeMutationObserver(std::shared_ptr jsInvoker); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); - public void disconnect(facebook::jsi::Runtime& runtime); - public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); - public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); -} - class facebook::react::NativeNetworkingIOSSpecJSI : public facebook::react::ObjCTurboModule { public NativeNetworkingIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativePerformance : public facebook::react::NativePerformanceCxxSpec { - public NativePerformance(std::shared_ptr jsInvoker); - public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); - public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); - public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); - public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); - public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); - public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); - public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); - public std::vector getEntries(facebook::jsi::Runtime& rt); - public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); - public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); - public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); - public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); - public std::vector> getEventCounts(facebook::jsi::Runtime& rt); - public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); - public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); - public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); - public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); - public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); -} - class facebook::react::NativePlatformConstantsIOSSpecJSI : public facebook::react::ObjCTurboModule { public NativePlatformConstantsIOSSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -6003,15 +4346,6 @@ class facebook::react::NativeRedBoxSpecJSI : public facebook::react::ObjCTurboMo public NativeRedBoxSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeResizeObserver : public facebook::react::NativeResizeObserverCxxSpec { - public NativeResizeObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeResizeObserverObserveOptions& options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::NativeResizeObserverNotifyCallback notifyResizeObserversFunction); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserve(facebook::jsi::Runtime& runtime, facebook::react::ResizeObserverObserverId resizeObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::ObjCTurboModule { public NativeSegmentFetcherSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -6040,26 +4374,6 @@ class facebook::react::NativeTimingSpecJSI : public facebook::react::ObjCTurboMo public NativeTimingSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NativeToJsBridge { - public NativeToJsBridge(facebook::react::JSExecutorFactory* jsExecutorFactory, std::shared_ptr registry, std::shared_ptr jsQueue, std::shared_ptr callback); - public bool isBatchActive(); - public bool isInspectable(); - public facebook::react::jsinspector_modern::RuntimeTargetDelegate& getInspectorTargetDelegate(); - public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker) const; - public virtual ~NativeToJsBridge(); - public void callFunction(std::string&& module, std::string&& method, folly::dynamic&& arguments); - public void destroy(); - public void handleMemoryPressure(int pressureLevel); - public void initializeRuntime(); - public void invokeCallback(double callbackId, folly::dynamic&& arguments); - public void loadBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); - public void loadBundleSync(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); - public void registerBundle(uint32_t bundleId, const std::string& bundlePath); - public void runOnExecutorQueue(std::function&& task) noexcept; - public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); - public void* getJavaScriptContext(); -} - class facebook::react::NativeVibrationSpecJSI : public facebook::react::ObjCTurboModule { public NativeVibrationSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } @@ -6076,24 +4390,6 @@ class facebook::react::NativeWebSocketModuleSpecJSI : public facebook::react::Ob public NativeWebSocketModuleSpecJSI(const facebook::react::ObjCTurboModule::InitParams& params); } -class facebook::react::NetworkReporter { - public bool isDebuggingEnabled() const; - public static facebook::react::NetworkReporter& getInstance(); - public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); - public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); - public void reportRequestFailed(const std::string& requestId, bool cancelled) const; - public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); - public void reportResponseEnd(const std::string& requestId, int encodedDataLength); - public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); - public void reportWebSocketClosed(const std::string& requestId) const; - public void reportWebSocketCreated(const std::string& requestId, const std::string& url) const; - public void reportWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t statusCode, const facebook::react::Headers& headers) const; - public void reportWebSocketMessageReceived(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketMessageSent(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::Headers& headers) const; - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - class facebook::react::ObjCInteropTurboModule : public facebook::react::ObjCTurboModule { protected virtual NSString* getArgumentTypeName(facebook::jsi::Runtime& runtime, NSString* methodName, int argIndex) override; protected virtual facebook::jsi::Value convertReturnIdToJSIValue(facebook::jsi::Runtime& runtime, const char* methodName, facebook::react::TurboModuleMethodValueKind returnType, id result) override; @@ -6130,179 +4426,10 @@ struct facebook::react::ObjCTurboModule::InitParams { public std::string moduleName; } -class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { - public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(std::string propKey, folly::dynamic& props); -} - -class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { - protected std::vector inputNodes_; - public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); -} - -class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { - public bool adjustsFontSizeToFit; - public bool includeFontPadding; - public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; - public facebook::react::EllipsizeMode ellipsizeMode; - public facebook::react::Float minimumFontScale; - public facebook::react::Float minimumFontSize; - public facebook::react::HyphenationFrequency android_hyphenationFrequency; - public facebook::react::TextBreakStrategy textBreakStrategy; - public facebook::react::TextWidthMode textWidthMode; - public int maximumNumberOfLines; - public std::optional textAlignVertical; -} - -class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; -} - -class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; - public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - -class facebook::react::ParagraphShadowNode::Content { - public facebook::react::AttributedString attributedString; - public facebook::react::BaseTextShadowNode::Attachments attachments; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::PerformanceEntryBuffer { - public PerformanceEntryBuffer() = default; - public facebook::react::HighResDuration durationThreshold; - public size_t droppedEntriesCount; - public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; - public virtual void clear() = 0; - public virtual void clear(const std::string& name) = 0; - public virtual void getEntries(std::vector& target) const = 0; - public virtual void getEntries(std::vector& target, const std::string& name) const = 0; - public virtual ~PerformanceEntryBuffer() = default; -} - -class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryCircularBuffer(size_t size); - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; - public ~PerformanceEntryCircularBuffer() override = default; -} - -class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryKeyedBuffer() = default; - public std::optional find(const std::string& name) const; - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; -} - -class facebook::react::PerformanceEntryReporter { - public PerformanceEntryReporter(); - public const std::unordered_map& getEventCounts() const; - public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); - public static std::shared_ptr& getInstance(); - public static std::vector getSupportedEntryTypes(); - public std::optional getMarkTime(const std::string& markName) const; - public std::vector getEntries() const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; - public using UserTimingDetailProvider = std::function; - public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void clearEntries(); - public void clearEntries(facebook::react::PerformanceEntryType entryType); - public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); - public void clearEventCounts(); - public void getEntries(std::vector& dest) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); - public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); - public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); -} - -class facebook::react::PerformanceEntryReporterEventListener { - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); - public virtual ~PerformanceEntryReporterEventListener() = default; -} - -class facebook::react::PerformanceObserver : public std::enable_shared_from_this { - public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public std::vector takeRecords(); - public uint32_t getDroppedEntriesCount() noexcept; - public void disconnect() noexcept; - public void handleEntry(const facebook::react::PerformanceEntry& entry); - public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); - public void observe(std::unordered_set types); - public ~PerformanceObserver() = default; -} - -class facebook::react::PerformanceObserverRegistry { - public PerformanceObserverRegistry() = default; - public void addObserver(std::shared_ptr observer); - public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); - public void removeObserver(std::shared_ptr observer); -} - -class facebook::react::PlatformRunLoopObserver : public facebook::react::RunLoopObserver { - public PlatformRunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner, CFRunLoopRef runLoop); - public virtual bool isOnRunLoopThread() const noexcept override; - public ~PlatformRunLoopObserver(); -} - -class facebook::react::PlatformTimerRegistry { - public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; - public virtual void createTimer(uint32_t timerID, double delayMS) = 0; - public virtual void deleteTimer(uint32_t timerID) = 0; - public virtual void quit(); - public virtual void setTimerManager(std::weak_ptr); - public virtual ~PlatformTimerRegistry() noexcept = default; -} - -class facebook::react::PointerEventsProcessor { - public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); - public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); - public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); -} - -class facebook::react::PointerHoverTracker { - public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); - public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; - public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; - public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; - public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; - public using EventPath = std::vector>; - public using Unique = std::unique_ptr; - public void markAsOld(); -} - -class facebook::react::PreparedTextCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::Float pointScaleFactor; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; +class facebook::react::PlatformRunLoopObserver : public facebook::react::RunLoopObserver { + public PlatformRunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner, CFRunLoopRef runLoop); + public virtual bool isOnRunLoopThread() const noexcept override; + public ~PlatformRunLoopObserver(); } class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { @@ -6316,21 +4443,6 @@ class facebook::react::Props : public virtual facebook::react::Sealable, public public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { - public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::SurfaceId connectedRootTag() const; - public facebook::react::Tag connectedViewTag() const; - public folly::dynamic props(); - public virtual void update() override; - public void collectProps(); - public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); - public void connectToView(facebook::react::Tag viewTag); - public void disconnectFromShadowNodeFamily(); - public void disconnectFromView(facebook::react::Tag viewTag); - public void restoreDefaultValues(); - public void update(bool forceFabricCommit); -} - class facebook::react::PullToRefreshViewEventEmitter : public facebook::react::BaseViewEventEmitter { public void onRefresh(facebook::react::PullToRefreshViewEventEmitter::OnRefresh value) const; } @@ -6348,30 +4460,12 @@ class facebook::react::PullToRefreshViewProps : public facebook::react::HostPlat public std::string title; } -class facebook::react::RAMBundleRegistry { - public RAMBundleRegistry(facebook::react::RAMBundleRegistry&&) = default; - public RAMBundleRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory = nullptr); - public facebook::react::JSModulesUnbundle::Module getModule(uint32_t bundleId, uint32_t moduleId); - public facebook::react::RAMBundleRegistry& operator=(facebook::react::RAMBundleRegistry&&) = default; - public static constexpr uint32_t MAIN_BUNDLE_ID; - public virtual ~RAMBundleRegistry() = default; - public void registerBundle(uint32_t bundleId, std::string bundlePath); -} - class facebook::react::RCTBlobCollector : public facebook::jsi::HostObject { public RCTBlobCollector(RCTBlobManager* blobManager, const std::string& blobId); public static void install(facebook::jsi::Runtime& runtime, RCTBlobManager* blobManager); public ~RCTBlobCollector(); } -class facebook::react::RCTHermesInstance : public facebook::react::JSRuntimeFactory { - public RCTHermesInstance(); - public RCTHermesInstance(facebook::react::CrashManagerProvider crashManagerProvider); - public RCTHermesInstance(facebook::react::CrashManagerProvider crashManagerProvider, bool allocInOldGenBeforeTTI); - public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept override; - public ~RCTHermesInstance() override; -} - class facebook::react::RCTImageResponseObserverProxy : public facebook::react::ImageResponseObserver { public RCTImageResponseObserverProxy(id delegate = nil); public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const override; @@ -6379,12 +4473,6 @@ class facebook::react::RCTImageResponseObserverProxy : public facebook::react::I public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const override; } -class facebook::react::RCTJscInstance : public facebook::react::JSRuntimeFactory { - public RCTJscInstance(); - public virtual std::unique_ptr createJSRuntime(std::shared_ptr msgQueueThread) noexcept override; - public ~RCTJscInstance(); -} - class facebook::react::RCTMessageThread : public facebook::react::MessageQueueThread, public std::enable_shared_from_this { public RCTMessageThread(NSRunLoop* runLoop, RCTJavaScriptCompleteBlock errorBlock); public virtual void quitSynchronous() override; @@ -6432,15 +4520,6 @@ class facebook::react::RawPropsParser { public void prepare() noexcept; } -class facebook::react::RawTextProps : public facebook::react::Props { - public RawTextProps() = default; - public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public std::string text; -} - -class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { -} - class facebook::react::RawValue { public RawValue() noexcept; public RawValue(const folly::dynamic& dynamic) noexcept; @@ -6457,258 +4536,6 @@ class facebook::react::RawValue { public operator T() const; } -class facebook::react::ReactInstance { - public ReactInstance(const facebook::react::ReactInstance&) = delete; - public ReactInstance(facebook::react::ReactInstance&&) = delete; - public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); - public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; - public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; - public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; - public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; - public std::shared_ptr createJSCallInvoker() noexcept; - public std::shared_ptr getRuntimeScheduler() noexcept; - public using BindingsInstallFunc = std::function; - public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); - public void handleMemoryPressureJs(int pressureLevel); - public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; - public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); - public void registerSegment(uint32_t segmentId, const std::string& segmentPath); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~ReactInstance() noexcept override; -} - -struct facebook::react::ReactInstance::JSRuntimeFlags { - public bool isProfiling; - public const std::string runtimeDiagnosticFlags; -} - -class facebook::react::ReactPerfettoLogger { - public static bool isTracing(); - public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); - public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); -} - -class facebook::react::ResizeObserver { - public ResizeObserver(facebook::react::ResizeObserverObserverId resizeObserverId, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions, uint64_t observationSequence); - public bool hasDeliveredDetachedState() const; - public bool needsInitialDeliveryCheck() const; - public facebook::react::ResizeObservationResult computeActiveObservation(const facebook::react::RootShadowNode& rootShadowNode) const; - public facebook::react::ResizeObserverObserverId getResizeObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public uint64_t getObservationSequence() const; - public void markAsReported(const facebook::react::ResizeObservationResult& result); - public void updateDetachedState(bool detached); -} - -class facebook::react::ResizeObserverManager : public facebook::react::UIManagerCommitHook, public facebook::react::RuntimeSchedulerResizeObserverDelegate { - public ResizeObserverManager(); - public std::vector takeRecords(); - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyResizeObserversFunction); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions); - public void unobserve(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily); -} - -class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { - public RootProps() = default; - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; -} - -class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { - public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public bool layoutIfNeeded(std::vector* affectedNodes = {}); - public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using Shared = std::shared_ptr; - public using Unshared = std::shared_ptr; - public virtual facebook::react::Transform getTransform() const override; - public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; -} - -class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { - public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::RunLoopObserver { - protected const facebook::react::RunLoopObserver::Activity activities_; - protected const facebook::react::RunLoopObserver::WeakOwner owner_; - protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; - protected mutable std::atomic enabled_; - protected virtual void startObserving() const noexcept = 0; - protected virtual void stopObserving() const noexcept = 0; - protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; - public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; - public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; - public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; - public using Owner = std::shared_ptr; - public using WeakOwner = std::weak_ptr; - public virtual bool isOnRunLoopThread() const noexcept = 0; - public virtual ~RunLoopObserver() noexcept = default; - public void disable() const noexcept; - public void enable() const noexcept; - public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; -} - -class facebook::react::RunLoopObserver::Delegate { - public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; - public virtual ~Delegate() noexcept = default; -} - -enum facebook::react::RunLoopObserver::Activity : int32_t { - AfterWaiting, - BeforeWaiting, - None, -} - -class facebook::react::RuntimeScheduler : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; - public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); - public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; - public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; - public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeSchedulerBase : public facebook::hermes::IEventLoopControl { - public virtual bool getShouldYield() noexcept = 0; - public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; - public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; - public virtual void scheduleTask(const std::function& task) = 0; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) = 0; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; - public virtual ~RuntimeSchedulerBase() = default; -} - -class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { - public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); - public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public std::shared_ptr getRuntimeScheduler() noexcept; - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; -} - -class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { - public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - -class facebook::react::RuntimeSchedulerEventTimingDelegate { - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerEventTimingDelegate() = default; -} - -class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; -} - -class facebook::react::RuntimeSchedulerResizeObserverDelegate { - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) = 0; - public virtual ~RuntimeSchedulerResizeObserverDelegate() = default; -} - -class facebook::react::RuntimeScheduler_Legacy : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Legacy(const facebook::react::RuntimeScheduler_Legacy&) = delete; - public RuntimeScheduler_Legacy(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Legacy(facebook::react::RuntimeScheduler_Legacy&&) = delete; - public facebook::react::RuntimeScheduler_Legacy& operator=(const facebook::react::RuntimeScheduler_Legacy&) = delete; - public facebook::react::RuntimeScheduler_Legacy& operator=(facebook::react::RuntimeScheduler_Legacy&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; - public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { -} - class facebook::react::SafeAreaViewEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -6717,127 +4544,12 @@ class facebook::react::SafeAreaViewProps : public facebook::react::HostPlatformV public SafeAreaViewProps(const facebook::react::PropsParserContext& context, const facebook::react::SafeAreaViewProps& sourceProps, const facebook::react::RawProps& rawProps); } -class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { -} - -class facebook::react::SafeAreaViewState { - public facebook::react::EdgeInsets padding; -} - -class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { - public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); - public facebook::react::SchedulerDelegate* getDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr getUIManager() const; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidClearPendingSnapshots() override; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) override; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; - public void addEventListener(std::shared_ptr listener); - public void animationTick() const; - public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void setDelegate(facebook::react::SchedulerDelegate* delegate); - public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public ~Scheduler() override; -} - -class facebook::react::SchedulerDelegate { - public virtual void schedulerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidClearPendingSnapshots() = 0; - public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; - public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void schedulerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~SchedulerDelegate() noexcept = default; -} - -class facebook::react::ScopedShadowTreeRevisionLock { - public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ~ScopedShadowTreeRevisionLock() noexcept; -} - -class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { - public using EndDragMetrics = facebook::react::ScrollEndDragEvent; - public using Metrics = facebook::react::ScrollEvent; - public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; - public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; - public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; -} - -class facebook::react::ScrollViewMaintainVisibleContentPosition { - public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; - public int minIndexForVisible; - public std::optional autoscrollToTopThreshold; -} - -class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); - public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; -} - -class facebook::react::ScrollViewState { - public ScrollViewState() = default; - public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); - public bool disableViewCulling; - public facebook::react::Point contentOffset; - public facebook::react::Rect contentBoundingRect; - public facebook::react::Size getContentSize() const; - public int scrollAwayPaddingTop; -} - class facebook::react::Sealable { public bool getSealed() const; public void ensureUnsealed() const; public void seal() const; } -class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { - public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static constexpr facebook::react::ComponentName Name(); - public static facebook::react::ComponentHandle Handle(); -} - -class facebook::react::Selection { - public int end; - public int start; -} - class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { protected facebook::react::Props::Shared props_; protected facebook::react::ShadowNodeTraits traits_; @@ -6937,63 +4649,6 @@ enum facebook::react::ShadowNodeTraits::Trait : int32_t { ViewKind, } -class facebook::react::ShadowTree { - public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); - public bool promoteReactRevision() const; - public facebook::react::CommitMode getCommitMode() const; - public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::ShadowTreeRevision getCurrentRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional getCurrentReactRevision() const; - public std::shared_ptr getMountingCoordinator() const; - public using CommitMode = facebook::react::ShadowTreeCommitMode; - public using CommitOptions = facebook::react::ShadowTreeCommitOptions; - public using CommitSource = facebook::react::ShadowTreeCommitSource; - public using CommitStatus = facebook::react::ShadowTreeCommitStatus; - public using Unique = std::unique_ptr; - public void commitEmptyTree() const; - public void mergeReactRevision() const; - public void notifyDelegatesOfUpdates() const; - public void setCommitMode(facebook::react::CommitMode commitMode) const; - public ~ShadowTree(); -} - -class facebook::react::ShadowTreeDelegate { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) const; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; - public virtual ~ShadowTreeDelegate() noexcept = default; -} - -class facebook::react::ShadowTreeRegistry { - public ShadowTreeRegistry() = default; - public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; - public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; - public void add(std::unique_ptr&& shadowTree) const; - public void enumerate(const std::function& callback) const; - public ~ShadowTreeRegistry(); -} - -class facebook::react::ShadowTreeRevision { - public facebook::react::RootShadowNode::Shared rootShadowNode; - public facebook::react::ShadowTreeRevision::Number number; - public facebook::react::TransactionTelemetry telemetry; - public using Number = int64_t; -} - -class facebook::react::ShadowTreeRevisionConsistencyManager { - public virtual void lockRevisions() = 0; - public virtual void unlockRevisions() = 0; - public virtual ~ShadowTreeRevisionConsistencyManager() = default; -} - -class facebook::react::ShadowTreeRevisionProvider { - public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual ~ShadowTreeRevisionProvider() = default; -} - class facebook::react::SharedColor { public SharedColor(); public SharedColor(facebook::react::Color color); @@ -7005,15 +4660,6 @@ class facebook::react::SharedColor { public std::string toString() const noexcept; } -class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::StackTraceParser { - public static std::vector parse(bool isHermes, const std::string& stackString); -} - class facebook::react::State { protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); @@ -7037,90 +4683,6 @@ class facebook::react::StateUpdate { public using FailureCallback = std::function; } -class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { - public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool isLayoutStyleUpdated() const noexcept; - public void collectViewUpdates(folly::dynamic& props); -} - -class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::SurfaceHandler { - public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; - public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; - public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; - public facebook::react::DisplayMode getDisplayMode() const noexcept; - public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; - public facebook::react::LayoutContext getLayoutContext() const noexcept; - public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; - public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; - public facebook::react::SurfaceHandler::Status getStatus() const noexcept; - public facebook::react::SurfaceId getSurfaceId() const noexcept; - public folly::dynamic getProps() const noexcept; - public std::shared_ptr getMountingCoordinator() const noexcept; - public std::string getModuleName() const noexcept; - public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; - public virtual ~SurfaceHandler() noexcept; - public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public void setContextContainer(std::shared_ptr contextContainer) const noexcept; - public void setProps(const folly::dynamic& props) const noexcept; - public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; - public void start() const noexcept; - public void stop() const noexcept; -} - -enum facebook::react::SurfaceHandler::Status { - Registered, - Running, - Unregistered, -} - -class facebook::react::SurfaceManager { - public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; - public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; - public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; - public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; - public std::unordered_set getRunningSurfaces() const noexcept; - public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; - public void stopAllSurfaces() noexcept; - public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; - public ~SurfaceManager() noexcept; -} - -struct facebook::react::SurfaceManager::SurfaceProps { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; - public facebook::react::SurfaceId surfaceId; - public folly::dynamic props; - public std::string moduleName; -} - -class facebook::react::SurfaceTelemetry { - public facebook::react::TelemetryDuration getCommitTime() const; - public facebook::react::TelemetryDuration getDiffTime() const; - public facebook::react::TelemetryDuration getLayoutTime() const; - public facebook::react::TelemetryDuration getMountTime() const; - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public int getLastRevisionNumber() const; - public int getNumberOfMutations() const; - public int getNumberOfTextMeasurements() const; - public int getNumberOfTransactions() const; - public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; - public std::vector getRecentTransactionTelemetries() const; - public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); -} - -class facebook::react::SwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public SwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::SwitchEventEmitter : public facebook::react::BaseViewEventEmitter { public void onChange(facebook::react::SwitchEventEmitter::OnChange value) const; } @@ -7143,207 +4705,6 @@ class facebook::react::SwitchProps : public facebook::react::HostPlatformViewPro public facebook::react::SharedColor trackColorForTrue; } -class facebook::react::SwitchShadowNode : public facebook::react::ConcreteViewShadowNode { - public SwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; -} - -class facebook::react::TaskPriorityComparer { - public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); -} - -class facebook::react::TelemetryController { - public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; -} - -class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { - public bool operator==(const facebook::react::TextAttributes& rhs) const; - public facebook::react::Float fontSize; - public facebook::react::Float fontSizeMultiplier; - public facebook::react::Float letterSpacing; - public facebook::react::Float lineHeight; - public facebook::react::Float maxFontSizeMultiplier; - public facebook::react::Float opacity; - public facebook::react::Float textShadowRadius; - public facebook::react::SharedColor backgroundColor; - public facebook::react::SharedColor foregroundColor; - public facebook::react::SharedColor textDecorationColor; - public facebook::react::SharedColor textShadowColor; - public static facebook::react::TextAttributes defaultTextAttributes(); - public std::optional allowFontScaling; - public std::optional isHighlighted; - public std::optional isPressable; - public std::optional accessibilityRole; - public std::optional dynamicTypeRamp; - public std::optional fontStyle; - public std::optional fontVariant; - public std::optional fontWeight; - public std::optional layoutDirection; - public std::optional lineBreakMode; - public std::optional lineBreakStrategy; - public std::optional role; - public std::optional textShadowOffset; - public std::optional alignment; - public std::optional textDecorationLineType; - public std::optional textDecorationStyle; - public std::optional textTransform; - public std::optional baseWritingDirection; - public std::optional fontVariationSettings; - public std::string fontFamily; - public std::vector textEffects; - public void apply(facebook::react::TextAttributes textAttributes); -} - -class facebook::react::TextEffectProps : public facebook::react::Props { - public TextEffectProps() = default; - public TextEffectProps(const facebook::react::PropsParserContext& context, const facebook::react::TextEffectProps& sourceProps, const facebook::react::RawProps& rawProps); - public folly::dynamic effectProps; - public std::string effectName; -} - -class facebook::react::TextEffectShadowNode : public facebook::react::ConcreteShadowNode { -} - -class facebook::react::TextInputComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public TextInputComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; - public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; -} - -struct facebook::react::TextInputEventEmitter::KeyPressMetrics { - public int eventCount; - public std::string text; -} - -struct facebook::react::TextInputEventEmitter::Metrics { - public bool responderIgnoreScroll; - public facebook::react::AttributedString::Range selectionRange; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public facebook::react::Size layoutMeasurement; - public facebook::react::Tag target; - public int eventCount; - public std::string text; -} - -class facebook::react::TextInputProps : public facebook::react::BaseTextInputProps { - public TextInputProps() = default; - public TextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::TextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool onChangeSync; - public bool onKeyPressSync; - public const facebook::react::TextInputTraits traits; - public const std::string inputAccessoryViewButtonLabel; - public const std::string inputAccessoryViewID; - public std::optional selection; -} - -class facebook::react::TextInputShadowNode : public facebook::react::BaseTextInputShadowNode { -} - -class facebook::react::TextInputState { - public TextInputState() = default; - public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); - public facebook::react::AttributedString reactTreeAttributedString; - public facebook::react::AttributedStringBox attributedStringBox; - public facebook::react::ParagraphAttributes paragraphAttributes; - public int64_t mostRecentEventCount; -} - -class facebook::react::TextInputTraits { - public bool caretHidden; - public bool clearTextOnFocus; - public bool contextMenuHidden; - public bool editable; - public bool enablesReturnKeyAutomatically; - public bool scrollEnabled; - public bool secureTextEntry; - public bool selectTextOnFocus; - public bool showSoftInputOnFocus; - public facebook::react::AutocapitalizationType autocapitalizationType; - public facebook::react::KeyboardAppearance keyboardAppearance; - public facebook::react::KeyboardType keyboardType; - public facebook::react::ReturnKeyType returnKeyType; - public facebook::react::TextInputAccessoryVisibilityMode clearButtonMode; - public std::optional autoCorrect; - public std::optional smartInsertDelete; - public std::optional spellCheck; - public std::string passwordRules; - public std::string textContentType; - public std::vector dataDetectorTypes; -} - -class facebook::react::TextLayoutManager { - protected facebook::react::LineMeasureCache lineMeasureCache_; - protected facebook::react::TextMeasureCache textMeasureCache_; - protected std::shared_ptr contextContainer_; - protected std::shared_ptr nativeTextLayoutManager_; - public TextLayoutManager(const facebook::react::TextLayoutManager&) = delete; - public TextLayoutManager(const std::shared_ptr& contextContainer); - public TextLayoutManager(facebook::react::TextLayoutManager&&) = delete; - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size) const; - public facebook::react::TextLayoutManager& operator=(const facebook::react::TextLayoutManager&) = delete; - public facebook::react::TextLayoutManager& operator=(facebook::react::TextLayoutManager&&) = delete; - public facebook::react::TextMeasurement measure(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public std::shared_ptr getNativeTextLayoutManager() const; -} - -class facebook::react::TextMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::Float pointScaleFactor; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::TextMeasurement { - public facebook::react::Size size; - public facebook::react::TextMeasurement::Attachments attachments; - public using Attachments = std::vector; -} - -class facebook::react::TextMeasurement::Attachment { - public bool isClipped; - public facebook::react::Rect frame; -} - -class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { - public TextProps() = default; - public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::TimerManager { - public TimerManager(const facebook::react::TimerManager&) = delete; - public TimerManager(facebook::react::TimerManager&&) = delete; - public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; - public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; - public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; - public void attachGlobals(facebook::jsi::Runtime& runtime); - public void callTimer(facebook::react::TimerHandle handle); - public void quit(); - public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; - public ~TimerManager() noexcept; -} - class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); public void onClick(facebook::react::PointerEvent event) const; @@ -7363,48 +4724,6 @@ class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter public void onTouchStart(facebook::react::TouchEvent event) const; } -class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { - public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::TransactionTelemetry { - public TransactionTelemetry(); - public TransactionTelemetry(std::function now); - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public facebook::react::TelemetryTimePoint getCommitEndTime() const; - public facebook::react::TelemetryTimePoint getCommitStartTime() const; - public facebook::react::TelemetryTimePoint getDiffEndTime() const; - public facebook::react::TelemetryTimePoint getDiffStartTime() const; - public facebook::react::TelemetryTimePoint getLayoutEndTime() const; - public facebook::react::TelemetryTimePoint getLayoutStartTime() const; - public facebook::react::TelemetryTimePoint getMountEndTime() const; - public facebook::react::TelemetryTimePoint getMountStartTime() const; - public int getAffectedLayoutNodesCount() const; - public int getNumberOfTextMeasurements() const; - public int getRevisionNumber() const; - public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); - public void didCommit(); - public void didDiff(); - public void didLayout(); - public void didLayout(int affectedLayoutNodesCount); - public void didMeasureText(); - public void didMount(); - public void setAsThreadLocal(); - public void setRevisionNumber(int revisionNumber); - public void unsetAsThreadLocal(); - public void willCommit(); - public void willDiff(); - public void willLayout(); - public void willMeasureText(); - public void willMount(); -} - -class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { - public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(folly::dynamic& props); -} - class facebook::react::TurboModule : public facebook::jsi::HostObject { protected const std::string name_; protected std::shared_ptr jsInvoker_; @@ -7435,158 +4754,6 @@ class facebook::react::TurboModuleWithJSIBindings { public virtual ~TurboModuleWithJSIBindings() = default; } -class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { - public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); - public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; - public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; - public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; - public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); - public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); - public facebook::react::UIManagerDelegate* getDelegate(); - public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; - public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; - public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; - public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) const noexcept override; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; - public void addEventListener(std::shared_ptr listener); - public void addOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); - public void animationTick() const; - public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; - public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); - public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; - public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); - public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); - public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); - public void setDelegate(facebook::react::UIManagerDelegate* delegate); - public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; - public void setNativeAnimatedDelegate(std::weak_ptr delegate); - public void setSurfaceProps(facebook::react::SurfaceId surfaceId, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); - public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; - public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; - public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); - public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); - public void updateShadowTree(std::unordered_map&& tagToProps); - public void updateState(const facebook::react::StateUpdate& stateUpdate) const; - public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; - public ~UIManager() override; -} - -class facebook::react::UIManagerAnimationBackend { - public using Callback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) = 0; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; - public virtual void stop(facebook::react::CallbackId callbackId) = 0; - public virtual void trigger() = 0; - public virtual ~UIManagerAnimationBackend() = default; -} - -class facebook::react::UIManagerAnimationDelegate { - public virtual bool shouldAnimateFrame() const = 0; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; - public virtual ~UIManagerAnimationDelegate() = default; -} - -class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { - public UIManagerBinding(std::shared_ptr uiManager); - public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); - public facebook::react::UIManager& getUIManager(); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; - public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; - public void invalidate() const; - public ~UIManagerBinding() override; -} - -class facebook::react::UIManagerCommitHook { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) noexcept; - public virtual ~UIManagerCommitHook() noexcept = default; -} - -class facebook::react::UIManagerDelegate { - public using OnSurfaceStartCallback = std::function; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidClearPendingSnapshots() = 0; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~UIManagerDelegate() noexcept = default; -} - -class facebook::react::UIManagerMountHook { - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; - public virtual ~UIManagerMountHook() noexcept = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegate { - public virtual void runAnimationFrame() = 0; - public virtual ~UIManagerNativeAnimatedDelegate() = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { - public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); - public virtual void runAnimationFrame() override; -} - -class facebook::react::UIManagerViewTransitionDelegate { - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag) const; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); - public virtual void createViewTransitionInstance(const std::string&, facebook::react::Tag); - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); - public virtual void startViewTransitionEnd(); - public virtual void startViewTransitionReadyFinished(); - public virtual void suspendOnActiveViewTransition(); - public virtual void transitionAnimationFinished(int animationId); - public virtual void waitForTransitionAnimation(int animationId); - public virtual ~UIManagerViewTransitionDelegate() = default; -} - -struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { - public facebook::react::Float height; - public facebook::react::Float width; - public facebook::react::Float x; - public facebook::react::Float y; - public facebook::react::Tag nativeTag; -} - class facebook::react::UnimplementedNativeViewEventEmitter : public facebook::react::BaseViewEventEmitter { } @@ -7596,32 +4763,6 @@ class facebook::react::UnimplementedNativeViewProps : public facebook::react::Ho public std::string name; } -class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::ComponentHandle getComponentHandle() const override; - public virtual facebook::react::ComponentName getComponentName() const override; - public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; -} - -class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { - public facebook::react::ComponentName getComponentName() const; - public void setComponentName(facebook::react::ComponentName componentName); -} - -class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { - protected bool isColorValue_; - public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool getIsColorValue() const noexcept; - public bool setOffset(double offset) noexcept; - public bool setRawValue(double value) noexcept; - public double getOffset() const noexcept; - public double getRawValue() const noexcept; - public double getValue() const noexcept; - public void extractOffset() noexcept; - public void flattenOffset() noexcept; - public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; -} - class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { public ValueFactoryEventPayload(facebook::react::ValueFactory factory); public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; @@ -7637,41 +4778,6 @@ class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShad public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); } -class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate, public facebook::react::UIManagerCommitHook, public facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const override; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag tag) const override; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void createViewTransitionInstance(const std::string& name, facebook::react::Tag pseudoElementTag) override; - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; - public virtual void startViewTransitionEnd() override; - public virtual void startViewTransitionReadyFinished() override; - public virtual void suspendOnActiveViewTransition() override; - public virtual void transitionAnimationFinished(int animationId) override; - public virtual void waitForTransitionAnimation(int animationId) override; - public void initialize(facebook::react::UIManager* uiManager, std::weak_ptr weakThis); - public ~ViewTransitionModule() override; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; - public uint32_t transitionId; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { - public facebook::react::Float pointScaleFactor; - public facebook::react::Point originFromRoot; - public facebook::react::Size size; -} - class facebook::react::VirtualViewEventEmitter : public facebook::react::BaseViewEventEmitter { public void onModeChange(facebook::react::VirtualViewEventEmitter::OnModeChange value) const; } @@ -7704,19 +4810,6 @@ class facebook::react::VirtualViewProps : public facebook::react::HostPlatformVi public int renderState; } -class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::WeakFamilyRegistry { - public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; - public using WeakFamilies = std::vector; - public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; - public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; -} - class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { protected facebook::yoga::Config yogaConfig_; protected mutable facebook::yoga::Node yogaNode_; @@ -7840,61 +4933,6 @@ enum facebook::react::ActivityIndicatorViewSize { Small, } -enum facebook::react::AnimatedNodeType { - Addition, - Color, - Diffclamp, - Division, - Interpolation, - Modulus, - Multiplication, - Object, - Props, - Round, - Style, - Subtraction, - Tracking, - Transform, - Value, -} - -enum facebook::react::AnimationConfigurationType { - Create, - Delete, - Update, -} - -enum facebook::react::AnimationDriverType { - Decay, - Frames, - Spring, -} - -enum facebook::react::AnimationProperty { - NotApplicable, - Opacity, - ScaleX, - ScaleXY, - ScaleY, -} - -enum facebook::react::AnimationType { - EaseIn, - EaseInEaseOut, - EaseOut, - Keyboard, - Linear, - None, - Spring, -} - -enum facebook::react::AutocapitalizationType { - Characters, - None, - Sentences, - Words, -} - enum facebook::react::BackfaceVisibility : uint8_t { Auto, Hidden, @@ -7944,294 +4982,11 @@ enum facebook::react::BorderStyle : uint8_t { Solid, } -enum facebook::react::CSSAngleUnit : uint8_t { - Deg, - Grad, - Rad, - Turn, -} - -enum facebook::react::CSSDelimiter { - Comma, - CommaOrWhitespace, - None, - OptionalWhitespace, - Solidus, - SolidusOrWhitespace, - Whitespace, -} - -enum facebook::react::CSSFontVariant : std::underlying_type_t { - CommonLigatures, - Contextual, - DiscretionaryLigatures, - HistoricalLigatures, - LiningNums, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { - At, -} - -enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { - Bottom, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { - To, -} - -enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { - Inset, -} - -enum facebook::react::CSSKeyword : uint8_t { - Absolute, - At, - Auto, - Baseline, - Block, - Bottom, - Center, - Clip, - Column, - ColumnReverse, - CommonLigatures, - Content, - Contents, - Contextual, - Dashed, - DiscretionaryLigatures, - Dotted, - Double, - End, - Fixed, - Flex, - FlexEnd, - FlexStart, - Grid, - Groove, - Hidden, - HistoricalLigatures, - Inherit, - Initial, - Inline, - InlineBlock, - InlineFlex, - InlineGrid, - Inset, - Left, - LiningNums, - Ltr, - MaxContent, - Medium, - MinContent, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - NoWrap, - None, - Normal, - OldstyleNums, - Outset, - ProportionalNums, - Relative, - Ridge, - Right, - Row, - RowReverse, - Rtl, - Scroll, - SmallCaps, - Solid, - SpaceAround, - SpaceBetween, - SpaceEvenly, - Start, - Static, - Sticky, - Stretch, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, - Thick, - Thin, - To, - Top, - Unset, - Visible, - Wrap, - WrapReverse, -} - -enum facebook::react::CSSLengthUnit : uint8_t { - Cap, - Ch, - Cm, - Dvb, - Dvh, - Dvi, - Dvmax, - Dvmin, - Dvw, - Em, - Ex, - Ic, - In, - Lh, - Lvb, - Lvh, - Lvi, - Lvmax, - Lvmin, - Lvw, - Mm, - Pc, - Pt, - Px, - Q, - Rcap, - Rch, - Rem, - Rex, - Ric, - Rlh, - Svb, - Svh, - Svi, - Svmax, - Svmin, - Svw, - Vb, - Vh, - Vi, - Vmax, - Vmin, - Vw, -} - -enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { - ToBottomLeft, - ToBottomRight, - ToTopLeft, - ToTopRight, -} - -enum facebook::react::CSSRadialGradientShape : uint8_t { - Circle, - Ellipse, -} - -enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { - ClosestCorner, - ClosestSide, - FarthestCorner, - FarthestSide, -} - -enum facebook::react::CSSTokenType { - CloseCurly, - CloseParen, - CloseSquare, - Comma, - Delim, - Dimension, - EndOfFile, - Function, - Hash, - Ident, - Number, - OpenCurly, - OpenParen, - OpenSquare, - Percentage, - WhiteSpace, -} - -enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSWideKeyword : std::underlying_type_t { - Inherit, - Initial, - Unset, -} - enum facebook::react::ColorSpace { DisplayP3, sRGB, } -enum facebook::react::ContentInsetAdjustmentBehavior { - Always, - Automatic, - Never, - ScrollableAxes, -} - enum facebook::react::Cursor : uint8_t { Alias, AllScroll, @@ -8284,27 +5039,6 @@ enum facebook::react::DisplayType { None, } -enum facebook::react::DynamicTypeRamp : uint8_t { - Body, - Callout, - Caption1, - Caption2, - Footnote, - Headline, - LargeTitle, - Subheadline, - Title1, - Title2, - Title3, -} - -enum facebook::react::EllipsizeMode { - Clip, - Head, - Middle, - Tail, -} - enum facebook::react::EventPayloadType { PointerEvent, ScrollEvent, @@ -8324,66 +5058,9 @@ enum facebook::react::FilterType { Sepia, } -enum facebook::react::FontStyle : uint8_t { - Italic, - Normal, - Oblique, -} - -enum facebook::react::FontVariant : int { - Default, - LiningNums, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::FontWeight : uint16_t { - Black, - Bold, - Demibold, - Heavy, - Light, - Medium, - Regular, - Semibold, - Thin, - UltraLight, - Weight100, - Weight200, - Weight300, - Weight400, - Weight500, - Weight600, - Weight700, - Weight800, - Weight900, -} - -enum facebook::react::GradientDirectionType { - Angle, - Keyword, +enum facebook::react::GradientDirectionType { + Angle, + Keyword, } enum facebook::react::GradientKeyword : uint8_t { @@ -8393,12 +5070,6 @@ enum facebook::react::GradientKeyword : uint8_t { ToTopRight, } -enum facebook::react::HyphenationFrequency { - Full, - None, - Normal, -} - enum facebook::react::ImageResizeMode : int8_t { Center, Contain, @@ -8420,29 +5091,6 @@ enum facebook::react::Isolation { Isolate, } -enum facebook::react::KeyboardAppearance { - Dark, - Default, - Light, -} - -enum facebook::react::KeyboardType { - ASCIICapable, - ASCIICapableNumberPad, - DecimalPad, - Default, - EmailAddress, - NamePhonePad, - NumberPad, - NumbersAndPunctuation, - Numeric, - PhonePad, - Twitter, - URL, - VisiblePassword, - WebSearch, -} - enum facebook::react::LayoutConformance : uint8_t { Compatibility, Strict, @@ -8454,22 +5102,6 @@ enum facebook::react::LayoutDirection { Undefined, } -enum facebook::react::LineBreakMode : uint8_t { - Char, - Clip, - Head, - Middle, - Tail, - Word, -} - -enum facebook::react::LineBreakStrategy : uint8_t { - HangulWordPriority, - None, - PushOut, - Standard, -} - enum facebook::react::ModalHostViewAnimationType { Fade, None, @@ -8502,15 +5134,6 @@ enum facebook::react::OutlineStyle : uint8_t { Solid, } -enum facebook::react::PerformanceEntryType { - EVENT, - LONGTASK, - MARK, - MEASURE, - RESOURCE, - _NEXT, -} - enum facebook::react::PointerEventsMode : uint8_t { Auto, BoxNone, @@ -8524,61 +5147,6 @@ enum facebook::react::PositionType { Static, } -enum facebook::react::PropName { - ALIGN_CONTENT, - ALIGN_ITEMS, - ALIGN_SELF, - ASPECT_RATIO, - BACKFACE_VISIBILITY, - BACKGROUND_COLOR, - BORDER_COLOR, - BORDER_CURVES, - BORDER_RADII, - BORDER_STYLES, - BORDER_WIDTH, - BOX_SHADOW, - BOX_SIZING, - COLUMN_GAP, - CURSOR, - DIRECTION, - DISPLAY, - FILTER, - FLEX, - FLEX_BASIS, - FLEX_DIRECTION, - FLEX_GROW, - FLEX_SHRINK, - FLEX_WRAP, - HEIGHT, - ISOLATION, - JUSTIFY_CONTENT, - MARGIN, - MAX_HEIGHT, - MAX_WIDTH, - MIN_HEIGHT, - MIN_WIDTH, - MIX_BLEND_MODE, - OPACITY, - OUTLINE_COLOR, - OUTLINE_OFFSET, - OUTLINE_STYLE, - OUTLINE_WIDTH, - PADDING, - POINTER_EVENTS, - POSITION, - POSITION_TYPE, - ROW_GAP, - SHADOW_COLOR, - SHADOW_OFFSET, - SHADOW_OPACITY, - SHADOW_RADIUS, - STYLE_OVERFLOW, - TRANSFORM, - TRANSFORM_ORIGIN, - WIDTH, - Z_INDEX, -} - enum facebook::react::RadialGradientShape { Circle, Ellipse, @@ -8591,29 +5159,6 @@ enum facebook::react::ReactEventPriority { Idle, } -enum facebook::react::ResizeObserverBoxOptions { - BorderBox, - ContentBox, - DevicePixelContentBox, -} - -enum facebook::react::ReturnKeyType { - Continue, - Default, - Done, - EmergencyCall, - Go, - Google, - Join, - Next, - None, - Previous, - Route, - Search, - Send, - Yahoo, -} - enum facebook::react::Role : uint8_t { Alert, Alertdialog, @@ -8695,114 +5240,6 @@ enum facebook::react::ScriptTag { String, } -enum facebook::react::ScrollViewIndicatorStyle { - Black, - Default, - White, -} - -enum facebook::react::ScrollViewKeyboardDismissMode { - Interactive, - None, - OnDrag, -} - -enum facebook::react::ScrollViewSnapToAlignment { - Center, - End, - Start, -} - -enum facebook::react::ShadowTreeCommitMode { - Normal, - Suspended, -} - -enum facebook::react::ShadowTreeCommitSource { - AnimationEndSync, - React, - ReactRevisionMerge, - Unknown, -} - -enum facebook::react::ShadowTreeCommitStatus { - Cancelled, - Failed, - Succeeded, -} - -enum facebook::react::SubmitBehavior { - BlurAndSubmit, - Default, - Newline, - Submit, -} - -enum facebook::react::TextAlignment : uint8_t { - Center, - End, - Justified, - Left, - Natural, - Right, - Start, -} - -enum facebook::react::TextAlignmentVertical { - Auto, - Bottom, - Center, - Top, -} - -enum facebook::react::TextBreakStrategy { - Balanced, - HighQuality, - Simple, -} - -enum facebook::react::TextDecorationLineType : uint8_t { - None, - Strikethrough, - Underline, - UnderlineStrikethrough, -} - -enum facebook::react::TextDecorationStyle : uint8_t { - Dashed, - Dotted, - Double, - Solid, - Wavy, -} - -enum facebook::react::TextInputAccessoryVisibilityMode { - Always, - Never, - UnlessEditing, - WhileEditing, -} - -enum facebook::react::TextTransform : uint8_t { - Capitalize, - Lowercase, - None, - Unset, - Uppercase, -} - -enum facebook::react::TextWidthMode { - Auto, - LongestLine, -} - -enum facebook::react::TimerSource { - RequestAnimationFrame, - SetInterval, - SetTimeout, - Unknown, -} - enum facebook::react::TransformOperationType : uint8_t { Arbitrary, Identity, @@ -8831,18 +5268,6 @@ enum facebook::react::UnitType { Undefined, } -enum facebook::react::WritingDirection : uint8_t { - LeftToRight, - Natural, - RightToLeft, -} - -struct facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public std::string name; -} - struct facebook::react::AccessibilityAction { public std::optional label; public std::string name; @@ -8874,116 +5299,6 @@ struct facebook::react::AccessibilityValue { public std::optional text; } -struct facebook::react::ActivePointer { - public bool shouldLeaveWhenReleased; - public facebook::react::PointerEvent event; -} - -struct facebook::react::AnimatedPropBase { - public AnimatedPropBase(facebook::react::PropName propName); - public facebook::react::PropName propName; - public virtual ~AnimatedPropBase() = default; -} - -struct facebook::react::AnimatedProps { - public std::unique_ptr rawProps; - public std::vector> props; -} - -struct facebook::react::AnimatedPropsBuilder { - public facebook::react::AnimatedProps get(); - public std::unique_ptr rawProps; - public std::vector> props; - public void setAlignContent(facebook::yoga::Align value); - public void setAlignItems(facebook::yoga::Align value); - public void setAlignSelf(facebook::yoga::Align value); - public void setAspectRatio(facebook::yoga::FloatOptional value); - public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); - public void setBackgroundColor(facebook::react::SharedColor value); - public void setBorderColor(facebook::react::CascadedBorderColors& value); - public void setBorderCurves(facebook::react::CascadedBorderCurves& value); - public void setBorderRadii(facebook::react::CascadedBorderRadii& value); - public void setBorderStyles(facebook::react::CascadedBorderStyles& value); - public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); - public void setBoxShadow(const std::vector& value); - public void setBoxSizing(facebook::yoga::BoxSizing value); - public void setColumnGap(facebook::yoga::Style::Length value); - public void setCursor(facebook::react::Cursor value); - public void setDirection(facebook::yoga::Direction value); - public void setDisplay(facebook::yoga::Display value); - public void setFilter(const std::vector& value); - public void setFlex(facebook::yoga::FloatOptional value); - public void setFlexBasis(facebook::yoga::Style::SizeLength value); - public void setFlexDirection(facebook::yoga::FlexDirection value); - public void setFlexGrow(facebook::yoga::FloatOptional value); - public void setFlexShrink(facebook::yoga::FloatOptional value); - public void setFlexWrap(facebook::yoga::Wrap value); - public void setHeight(facebook::yoga::Style::SizeLength value); - public void setIsolation(facebook::react::Isolation value); - public void setJustifyContent(facebook::yoga::Justify value); - public void setMargin(facebook::react::CascadedRectangleEdges& value); - public void setMaxHeight(facebook::yoga::Style::SizeLength value); - public void setMaxWidth(facebook::yoga::Style::SizeLength value); - public void setMinHeight(facebook::yoga::Style::SizeLength value); - public void setMinWidth(facebook::yoga::Style::SizeLength value); - public void setMixBlendMode(facebook::react::BlendMode value); - public void setOpacity(facebook::react::Float value); - public void setOutlineColor(facebook::react::SharedColor value); - public void setOutlineOffset(facebook::react::Float value); - public void setOutlineStyle(facebook::react::OutlineStyle value); - public void setOutlineWidth(facebook::react::Float value); - public void setOverflow(facebook::yoga::Overflow value); - public void setPadding(facebook::react::CascadedRectangleEdges& value); - public void setPointerEvents(facebook::react::PointerEventsMode value); - public void setPosition(facebook::react::CascadedRectangleEdges& value); - public void setPositionType(facebook::yoga::PositionType value); - public void setRowGap(facebook::yoga::Style::Length value); - public void setShadowColor(facebook::react::SharedColor value); - public void setShadowOffset(facebook::react::Size value); - public void setShadowOpacity(facebook::react::Float value); - public void setShadowRadius(facebook::react::Float value); - public void setTransform(const facebook::react::Transform& t); - public void setTransformOrigin(const facebook::react::TransformOrigin& value); - public void setWidth(facebook::yoga::Style::SizeLength value); - public void setZIndex(std::optional value); - public void storeDynamic(folly::dynamic& d); - public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); -} - -struct facebook::react::AnimationConfig { - public double delay; - public double duration; - public facebook::react::AnimationProperty animationProperty; - public facebook::react::AnimationType animationType; - public facebook::react::Float initialVelocity; - public facebook::react::Float springDamping; -} - -struct facebook::react::AnimationKeyFrame { - public bool generateFinalSyntheticMutations; - public bool invalidated; - public double initialProgress; - public facebook::react::AnimationConfigurationType type; - public facebook::react::ShadowView viewEnd; - public facebook::react::ShadowView viewPrev; - public facebook::react::ShadowView viewStart; - public facebook::react::Tag parentTag; - public facebook::react::Tag tag; - public std::vector finalMutationsForKeyFrame; -} - -struct facebook::react::AnimationMutation { - public bool hasLayoutUpdates; - public facebook::react::AnimatedProps props; - public facebook::react::Tag tag; - public std::shared_ptr family; -} - -struct facebook::react::AnimationMutations { - public std::set asyncFlushSurfaces; - public std::vector batch; -} - struct facebook::react::BackgroundPosition { public BackgroundPosition(); public bool operator==(const facebook::react::BackgroundPosition& other) const = default; @@ -9083,13 +5398,6 @@ struct facebook::react::Bridging { public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); } -struct facebook::react::BufferEvent { - public std::string name; - public std::string track; - public uint64_t end; - public uint64_t start; -} - struct facebook::react::BundleHeader { public BundleHeader(); public facebook::react::Magic32 magic32; @@ -9097,286 +5405,6 @@ struct facebook::react::BundleHeader { public uint64_t magic64; } -struct facebook::react::CSSAngle { - public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSBlurFilter { - public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; - public facebook::react::CSSLength amount; -} - -struct facebook::react::CSSBrightnessFilter { - public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSColor { - public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; - public static constexpr facebook::react::CSSColor black(); - public uint8_t a; - public uint8_t b; - public uint8_t g; - public uint8_t r; -} - -struct facebook::react::CSSColorHint { - public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; - public std::variant position; -} - -struct facebook::react::CSSColorStop { - public bool operator==(const facebook::react::CSSColorStop& rhs) const; - public facebook::react::CSSColor color; - public std::optional> endPosition; - public std::optional> startPosition; -} - -struct facebook::react::CSSContrastFilter { - public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSDropShadowFilter { - public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength standardDeviation; -} - -struct facebook::react::CSSFunctionBlock { - public std::string_view name; -} - -struct facebook::react::CSSGrayscaleFilter { - public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSHueRotateFilter { - public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSInvertFilter { - public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSLength { - public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; - public facebook::react::CSSLengthUnit unit; - public float value; -} - -struct facebook::react::CSSLinearGradientDirection { - public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSLinearGradientFunction { - public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; - public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); - public std::optional direction; - public std::vector> items; -} - -struct facebook::react::CSSMatrix { - public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; - public std::array values; -} - -struct facebook::react::CSSNumber { - public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; - public float value; -} - -struct facebook::react::CSSOpacityFilter { - public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSPercentage { - public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; - public float value; -} - -struct facebook::react::CSSPerspective { - public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; - public facebook::react::CSSLength length; -} - -struct facebook::react::CSSRadialGradientExplicitSize { - public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; - public std::variant sizeX; - public std::variant sizeY; -} - -struct facebook::react::CSSRadialGradientFunction { - public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; - public std::optional position; - public std::optional shape; - public std::optional size; - public std::vector> items; -} - -struct facebook::react::CSSRadialGradientPosition { - public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; - public std::optional> bottom; - public std::optional> left; - public std::optional> right; - public std::optional> top; -} - -struct facebook::react::CSSRatio { - public constexpr bool isDegenerate() const; - public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; - public float denominator; - public float numerator; -} - -struct facebook::react::CSSRotate { - public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateX { - public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateY { - public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateZ { - public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSaturateFilter { - public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSScale { - public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; - public float x; - public float y; -} - -struct facebook::react::CSSScaleX { - public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; - public float value; -} - -struct facebook::react::CSSScaleY { - public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; - public float value; -} - -struct facebook::react::CSSSepiaFilter { - public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSShadow { - public bool inset; - public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength blurRadius; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength spreadDistance; -} - -struct facebook::react::CSSSimpleBlock { - public facebook::react::CSSTokenType openBracketType; -} - -struct facebook::react::CSSSkewX { - public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSkewY { - public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSTransformOrigin { - public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate3D { - public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate { - public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslateX { - public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSTranslateY { - public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSZero { - public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; -} - -struct facebook::react::CallbackWithId { - public facebook::react::Callback callback; - public facebook::react::CallbackId callbackId; -} - -struct facebook::react::CascadedRectangleCornersNames { - public const char* all; - public const char* bottomEnd; - public const char* bottomLeft; - public const char* bottomRight; - public const char* bottomStart; - public const char* endEnd; - public const char* endStart; - public const char* startEnd; - public const char* startStart; - public const char* topEnd; - public const char* topLeft; - public const char* topRight; - public const char* topStart; -} - -struct facebook::react::CascadedRectangleEdgesNames { - public const char* all; - public const char* block; - public const char* blockEnd; - public const char* blockStart; - public const char* bottom; - public const char* end; - public const char* horizontal; - public const char* left; - public const char* right; - public const char* start; - public const char* top; - public const char* vertical; -} - struct facebook::react::Color { public Color(); public Color(const facebook::react::ColorComponents& components); @@ -9413,21 +5441,9 @@ struct facebook::react::CornerRadii { public float vertical; } -struct facebook::react::CullingContext { - public bool operator==(const facebook::react::CullingContext& rhs) const = default; - public bool shouldConsiderCulling() const; - public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; - public facebook::react::Rect frame; - public facebook::react::Transform transform; -} - struct facebook::react::DebugStringConvertibleOptions { } -struct facebook::react::DefaultTurboModules { - public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); -} - struct facebook::react::DropShadowParams { public bool operator==(const facebook::react::DropShadowParams& other) const = default; public facebook::react::Float offsetX; @@ -9436,11 +5452,6 @@ struct facebook::react::DropShadowParams { public facebook::react::SharedColor color; } -struct facebook::react::DummyTraceSection { - template - public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); -} - struct facebook::react::DynamicColor { public int32_t darkColor; public int32_t highContrastDarkColor; @@ -9462,12 +5473,6 @@ struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEve public const std::optional>& getHitPathForEventListener() const; } -struct facebook::react::EventAnimationDriverKey { - public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; - public facebook::react::Tag viewTag; - public std::string eventName; -} - struct facebook::react::EventPayload { public EventPayload() = default; public EventPayload(const facebook::react::EventPayload&) = default; @@ -9493,50 +5498,6 @@ struct facebook::react::ImageURLLoaderAttribution { public std::string queryRootName; } -struct facebook::react::InspectorData { - public folly::dynamic props; - public int columnNumber; - public int lineNumber; - public int selectedIndex; - public std::string fileName; - public std::vector hierarchy; -} - -struct facebook::react::InstanceCallback { - public virtual void decrementPendingJSCalls(); - public virtual void incrementPendingJSCalls(); - public virtual void onBatchComplete(); - public virtual ~InstanceCallback() = default; -} - -struct facebook::react::IntersectionObserverEntry { - public bool isIntersectingAboveThresholds; - public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; - public facebook::react::HighResTimeStamp time; - public facebook::react::IntersectionObserverObserverId intersectionObserverId; - public facebook::react::Rect intersectionRect; - public facebook::react::Rect rootRect; - public facebook::react::Rect targetRect; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; -} - -struct facebook::react::LayoutAnimation { - public bool completed; - public facebook::react::LayoutAnimationCallbackWrapper failureCallback; - public facebook::react::LayoutAnimationCallbackWrapper successCallback; - public facebook::react::LayoutAnimationConfig layoutAnimationConfig; - public facebook::react::SurfaceId surfaceId; - public std::vector keyFrames; - public uint64_t startTime; -} - -struct facebook::react::LayoutAnimationConfig { - public double duration; - public facebook::react::AnimationConfig createConfig; - public facebook::react::AnimationConfig deleteConfig; - public facebook::react::AnimationConfig updateConfig; -} - struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { public LayoutConformanceProps() = default; public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -9576,19 +5537,6 @@ struct facebook::react::LayoutMetrics { public facebook::react::Rect getPaddingFrame() const; } -struct facebook::react::LineMeasurement { - public LineMeasurement(const folly::dynamic& data); - public LineMeasurement(std::string text, facebook::react::Rect frame, facebook::react::Float descender, facebook::react::Float capHeight, facebook::react::Float ascender, facebook::react::Float xHeight); - public bool operator==(const facebook::react::LineMeasurement& rhs) const; - public facebook::react::Float ascender; - public facebook::react::Float capHeight; - public facebook::react::Float descender; - public facebook::react::Float xHeight; - public facebook::react::Rect frame; - public static facebook::react::Float baseline(const std::vector& lines); - public std::string text; -} - struct facebook::react::LinearGradient { public bool operator==(const facebook::react::LinearGradient& other) const = default; public facebook::react::GradientDirection direction; @@ -9600,112 +5548,8 @@ struct facebook::react::Magic32 { public uint32_t value; } -struct facebook::react::MarginValue { - public bool isPercentage; - public facebook::react::Float value; -} - -struct facebook::react::MeasuredPreparedTextLayout { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::TextMeasurement measurement; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; -} - -struct facebook::react::MethodCall { - public MethodCall(int mod, int meth, folly::dynamic&& args, int cid); - public folly::dynamic arguments; - public int callId; - public int methodId; - public int moduleId; -} - -struct facebook::react::MethodDescriptor { - public MethodDescriptor(std::string n, std::string t); - public std::string name; - public std::string type; -} - -struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { - public facebook::react::ModalHostViewSupportedOrientationsMask value; -} - -struct facebook::react::ModuleConfig { - public folly::dynamic config; - public size_t index; -} - -struct facebook::react::MutationRecord { - public facebook::react::MutationObserverId mutationObserverId; - public std::shared_ptr targetShadowNode; - public std::vector> addedShadowNodes; - public std::vector> removedShadowNodes; -} - -struct facebook::react::NativePerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional fetchStart; - public std::optional processingEnd; - public std::optional processingStart; - public std::optional requestStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::optional interactionId; - public std::optional decodedBodySize; - public std::optional encodedBodySize; - public std::optional responseStatus; - public std::optional contentType; - public std::string name; -} - -struct facebook::react::PerformanceEntrySorter { - public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs) const; -} - -struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp processingEnd; - public facebook::react::HighResTimeStamp processingStart; - public facebook::react::HighResTimeStamp taskEndTime; - public facebook::react::PerformanceEntryInteractionId interactionId; - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceObserverObserveMultipleOptions { - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceObserverObserveSingleOptions { - public bool buffered; - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public static constexpr facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::string contentType; +struct facebook::react::ModalHostViewSupportedOrientationsMaskWrapped { + public facebook::react::ModalHostViewSupportedOrientationsMask value; } struct facebook::react::Point { @@ -9746,11 +5590,6 @@ struct facebook::react::PointerEvent : public facebook::react::EventPayload { public virtual facebook::react::EventPayloadType getType() const override; } -struct facebook::react::PointerEventTarget { - public facebook::react::PointerEvent event; - public std::shared_ptr target; -} - struct facebook::react::ProcessedColorStop { public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; public facebook::react::SharedColor color; @@ -9773,12 +5612,6 @@ struct facebook::react::PropsParserContext { public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; } -struct facebook::react::PropsSnapshot { - public std::unique_ptr props; - public std::unique_ptr rawProps; - public std::unordered_set propNames; -} - struct facebook::react::RadialGradient { public bool operator==(const facebook::react::RadialGradient& other) const = default; public facebook::react::RadialGradientPosition position; @@ -9841,13 +5674,6 @@ struct facebook::react::ReactNativeVersionType { public std::string_view Prerelease; } -struct facebook::react::RecoverableError : public std::exception { - public RecoverableError(const std::string& what_); - public virtual const char* what() const noexcept override; - template - public static void runRethrowingAsRecoverable(std::function act); -} - struct facebook::react::Rect { public bool containsPoint(facebook::react::Point point) noexcept; public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; @@ -9865,82 +5691,6 @@ struct facebook::react::Rect { public void unionInPlace(const facebook::react::Rect& rect) noexcept; } -struct facebook::react::RequestInfo { - public std::optional headers; - public std::optional httpBody; - public std::string httpMethod; - public std::string url; -} - -struct facebook::react::ResizeObservationResult { - public bool detached; - public facebook::react::Size observedSize; - public size_t targetDepth; - public std::optional entry; -} - -struct facebook::react::ResizeObserverEntry { - public facebook::react::Rect contentRect; - public facebook::react::ResizeObserverObserverId resizeObserverId; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; - public facebook::react::Size borderBoxSize; - public facebook::react::Size contentBoxSize; - public facebook::react::Size devicePixelContentBoxSize; -} - -struct facebook::react::ResourceTimingData { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseStart; - public std::string contentType; - public std::string url; -} - -struct facebook::react::ResponseInfo { - public std::optional headers; - public std::string url; - public uint16_t statusCode; -} - -struct facebook::react::SchedulerToolbox { - public facebook::react::ComponentRegistryFactory componentRegistryFactory; - public facebook::react::EventBeat::Factory eventBeatFactory; - public facebook::react::RuntimeExecutor runtimeExecutor; - public std::optional bridgelessBindingsExecutor; - public std::shared_ptr contextContainer; - public std::shared_ptr animationChoreographer; - public std::vector> commitHooks; -} - -struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { - public ScrollEndDragEvent() = default; - public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); - public facebook::react::Point targetContentOffset; - public facebook::react::Point velocity; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; -} - -struct facebook::react::ScrollEvent : public facebook::react::EventPayload { - public ScrollEvent() = default; - public bool responderIgnoreScroll; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Float timestamp; - public facebook::react::Float zoomScale; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; - public virtual facebook::react::EventPayloadType getType() const override; - public virtual std::optional extractValue(const std::vector& path) const override; -} - struct facebook::react::ShadowNodeFamilyFragment { public const facebook::react::SurfaceId surfaceId; public const facebook::react::Tag tag; @@ -9957,82 +5707,12 @@ struct facebook::react::ShadowNodeFragment { public static const std::shared_ptr>>& childrenPlaceholder(); } -struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { - public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); - public std::shared_ptr>> shadowNodeList; - public ~ShadowNodeListWrapper() override; -} - struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { public ShadowNodeWrapper(std::shared_ptr shadowNode); public std::shared_ptr shadowNode; public ~ShadowNodeWrapper() override; } -struct facebook::react::ShadowTreeCommitOptions { - public bool enableStateReconciliation; - public bool mountSynchronously; - public facebook::react::ShadowTreeCommitSource source; -} - -struct facebook::react::ShadowView { - public ShadowView() = default; - public ShadowView(const facebook::react::ShadowNode& shadowNode); - public ShadowView(const facebook::react::ShadowView& shadowView) = default; - public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; - public bool operator==(const facebook::react::ShadowView& rhs) const; - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::EventEmitter::Shared eventEmitter; - public facebook::react::LayoutMetrics layoutMetrics; - public facebook::react::Props::Shared props; - public facebook::react::ShadowNodeTraits traits; - public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; - public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; - public facebook::react::State::Shared state; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; -} - -struct facebook::react::ShadowViewMutation { - public ShadowViewMutation() = delete; - public bool mutatedViewIsVirtual() const; - public facebook::react::ShadowView newChildShadowView; - public facebook::react::ShadowView oldChildShadowView; - public facebook::react::ShadowViewMutation::Type type; - public facebook::react::Tag parentTag; - public int index; - public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); - public using List = std::vector; -} - -enum facebook::react::ShadowViewMutation::Type : std::uint8_t { - Create, - Delete, - Insert, - Remove, - Update, -} - -struct facebook::react::ShadowViewNodePair { - public bool flattened; - public bool inOtherTree() const; - public bool isConcreteView; - public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; - public const facebook::react::ShadowNode* shadowNode; - public facebook::react::Point contextOrigin; - public facebook::react::ShadowView shadowView; - public mutable const facebook::react::ShadowViewNodePair* otherTreePair; - public size_t mountIndex; -} - struct facebook::react::Size { public facebook::react::Float height; public facebook::react::Float width; @@ -10044,44 +5724,6 @@ struct facebook::react::StateData { public using Shared = std::shared_ptr; } -struct facebook::react::SurfaceContext { - public std::unordered_map> map; - public std::unordered_map> pendingMap; - public std::unordered_set> families; - public std::unordered_set> pendingFamilies; -} - -struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { - template - public SystraceSection(const char* name, ConvertsToStringPiece &&... args); -} - -struct facebook::react::Task : public facebook::jsi::NativeState { - public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); - public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); -} - -struct facebook::react::TextEffectInfo { - public bool operator==(const facebook::react::TextEffectInfo&) const = default; - public folly::dynamic props; - public std::string name; -} - -struct facebook::react::TextLayoutContext { - public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; - public facebook::react::Float pointScaleFactor; - public facebook::react::SurfaceId surfaceId; -} - -struct facebook::react::TimerCallback { - public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); - public bool repeat; - public const std::vector args_; - public facebook::jsi::Function callback_; - public facebook::react::TimerSource source; - public void invoke(facebook::jsi::Runtime& runtime); -} - struct facebook::react::TouchEvent { public facebook::react::Touches changedTouches; public facebook::react::Touches targetTouches; @@ -10115,12 +5757,6 @@ struct facebook::react::Transform { public std::vector operations; } -struct facebook::react::TransformConfig { - public double value; - public facebook::react::Tag nodeTag; - public std::string property; -} - struct facebook::react::TransformOperation { public bool operator==(const facebook::react::TransformOperation& other) const = default; public facebook::react::TransformOperationType type; @@ -10197,64 +5833,6 @@ enum facebook::react::ViewEvents::Offset : std::size_t { TouchStart, } -template -struct facebook::react::CSSList : public std::vector { -} - -template -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSList { -} - -template ... VisitorsT> -struct facebook::react::CSSComponentValueVisitorDispatcher { - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); - public constexpr std::optional visitFunction(); - public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitPreservedToken(); - public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public facebook::react::CSSSyntaxParser& parser; -} - -template -struct facebook::react::CSSList : public std::vector { -} - -template -class facebook::react::CircularBuffer { - public CircularBuffer(size_t maxSize); - public T& operator[](size_t idx); - public bool add(const T& el); - public size_t size() const; - public std::vector getEntries() const; - public std::vector getEntries(std::function predicate) const; - public void clear(); - public void clear(std::function predicate); - public void getEntries(std::vector& res) const; - public void getEntries(std::vector& res, std::function predicate) const; -} - -template -class facebook::react::MoveWrapper { - public MoveWrapper() = default; - public MoveWrapper(T&& t); - public MoveWrapper(const facebook::react::MoveWrapper& other); - public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; - public T& operator*(); - public T&& move(); - public T* operator->(); - public const T& operator*() const; - public const T* operator->() const; - public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; - public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; -} - template class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); @@ -10267,20 +5845,6 @@ class facebook::react::ConcreteViewShadowNode : public facebook::react::Concrete public virtual facebook::react::Transform getTransform() const override; } -template -class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; - protected std::shared_ptr textLayoutManager_; - protected virtual facebook::react::Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - protected virtual void layout(facebook::react::LayoutContext layoutContext) override; - public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - template class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { protected facebook::react::Props::Shared props_; @@ -10311,13 +5875,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging { } -template -struct facebook::react::TemplateStringLiteral { - public constexpr TemplateStringLiteral(const char(&str)[N]); - public constexpr operator std::string_view() const; - public std::array value; -} - template class facebook::react::RCTIdentifierPool { public int dequeue(); @@ -10325,10 +5882,6 @@ class facebook::react::RCTIdentifierPool { public void reset(); } -template -struct facebook::react::CSSDataTypeParser { -} - template class facebook::react::ConcreteState : public facebook::react::State { public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); @@ -10346,25 +5899,6 @@ template class facebook::react::SyncCallback { } -template -class facebook::react::SimpleThreadSafeCache { - public SimpleThreadSafeCache(); - public SimpleThreadSafeCache(unsigned long size); - public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; - public std::optional get(const KeyT& key) const; - public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; -} - -template -class facebook::react::OnScopeExit { - public OnScopeExit(const Lambda&& lambda) noexcept; - public OnScopeExit(const facebook::react::OnScopeExit&) = delete; - public OnScopeExit(facebook::react::OnScopeExit&&) = delete; - public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; - public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; - public ~OnScopeExit() noexcept; -} - template struct facebook::react::NativePerformanceRawPerformanceEntry { public P0 name; @@ -10674,13 +6208,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging> { } -template -class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::ComponentName getComponentName() const override; -} - template class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; @@ -10704,29 +6231,6 @@ class facebook::react::ConcreteComponentDescriptor : public facebook::react::Com public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; } -template -class facebook::react::Element { - public Element(); - public facebook::react::Element& children(std::vector children); - public facebook::react::Element& finalize(std::function finalizeCallback); - public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); - public facebook::react::Element& props(std::function callback); - public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); - public facebook::react::Element& reference(std::function callback); - public facebook::react::Element& stateData(std::function callback); - public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); - public facebook::react::Element& tag(facebook::react::Tag tag); - public operator facebook::react::ElementFragment(); - public using ConcreteProps = typename ShadowNodeT::ConcreteProps; - public using ConcreteReferenceCallback = std::function& shadowNode)>; - public using ConcreteShadowNode = ShadowNodeT; - public using ConcreteState = typename ShadowNodeT::ConcreteState; - public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; - public using ConcreteUnsharedShadowNode = std::shared_ptr; - public using SharedConcreteProps = std::shared_ptr; - public using SharedConcreteState = std::shared_ptr; -} - template struct facebook::react::Bridging { } @@ -11037,13 +6541,6 @@ class facebook::react::NativeWebSocketModuleCxxSpec : public facebook::react::Tu public static constexpr std::string_view kModuleName; } -template -struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { - public AnimatedProp() = default; - public AnimatedProp(facebook::react::PropName propName, const T& value); - public T value; -} - template struct facebook::react::CascadedRectangleCorners { public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; @@ -11271,2141 +6768,269 @@ template struct facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); public static T types; - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { - public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); - public static T types; - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::NativeResizeObserverNativeResizeObserverEntryBridging { - public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); - public static T types; - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptionsBridging { - public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); - public static T types; - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging { - public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); - public static T types; - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::RectangleCorners { - public T bottomLeft; - public T bottomRight; - public T topLeft; - public T topRight; - public bool isUniform() const noexcept; - public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; -} - -template -struct facebook::react::RectangleEdges { - public T bottom; - public T left; - public T right; - public T top; - public bool isUniform() const noexcept; - public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; - public static const facebook::react::RectangleEdges ZERO; -} - -template -class facebook::react::AsyncCallback { - public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); - public void call(Args... args) const noexcept; - public void call(std::function&& callImpl) const noexcept; - public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; - public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; - public void operator()(Args... args) const noexcept; -} - -template -class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { - public AsyncEventEmitter(); - public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; - public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; - public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; - public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; - public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; - public void emit(Args... value); - public void emit(std::function&& converter); - public ~AsyncEventEmitter() override = default; -} - -template -class facebook::react::SharedFunction { - public SharedFunction(const facebook::react::SharedFunction& other) = default; - public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; - public SharedFunction(std::function&& function = nullptr); - public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; - public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; - public void assign(std::function function) const; - public void operator()(ArgumentT... args) const; -} - -template -class facebook::react::AsyncPromise { - public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); - public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; - public void reject(facebook::react::Error error); - public void resolve(T... value); -} - -template -class facebook::react::EventListenerContainerT { - public bool willDispatchEvent(TArgs... args); - public void addListener(std::shared_ptr> listener); - public void removeListener(const std::shared_ptr>& listener); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); - public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); -} - -struct facebook::react::Bridging { - public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); -} - -struct facebook::react::Bridging { - public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); - public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); -} - -template -struct facebook::react::Bridging> { - public static constexpr size_t kArgumentCount; - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); - public using Func = std::function; - public using IndexSequence = std::index_sequence_for; -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { - public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { - public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); - public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); - template - public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { - public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { - public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { -} - -struct facebook::react::Bridging { - public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); -} - -struct facebook::react::Bridging { - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); - public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); -} - -struct facebook::react::Bridging : public facebook::react::NativeAnimatedTurboModuleEndResultBridging { -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); - public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); - public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); - public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverEntryBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeMutationObserverNativeMutationRecordBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativePerformanceRawPerformanceEntryBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativePerformancePerformanceObserverInitBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging { -} - -struct facebook::react::Bridging { - public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); - public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSDataTypeParser> { - public static std::optional> consume(facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); - public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); - public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); -} - -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); -} - -template -struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - - -bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); -bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); -bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); - - -constexpr bool facebook::react::detail::isHexDigit(char c); -constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); -constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); -constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); -constexpr uint8_t facebook::react::detail::clamp255Component(float f); -constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); -constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); -float facebook::react::detail::normalizeHue(float hue); -std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); -std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); -std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); -template -constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); -template -C facebook::react::detail::memberFunctionClass(T C::*); -template -constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); - -class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { - public OwnedBytesBuffer(std::vector bytes) noexcept; - public virtual size_t size() const override; - public virtual uint8_t* data() override; -} - -enum facebook::react::detail::HexColorType { - Long, - Short, -} - -template -struct facebook::react::detail::merge_data_types { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types { -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = typename T::PreparedTextLayout; -} - -template -struct facebook::react::detail::CSSVariantComponentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSAngleTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSFilterSimpleAmountParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSNumberPercentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = std::nullptr_t; -} - -template -struct facebook::react::detail::is_variant_of_data_types : public std::false_type { -} - -template -class facebook::react::detail::TextLayoutManagerExtended { - public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); - public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public static constexpr bool supportsLineMeasurement(); - public static constexpr bool supportsPreparedTextLayout(); - public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; -} - -template -struct facebook::react::detail::merge_variant { -} - -template -struct facebook::react::detail::merge_data_types, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_variant, RestT...> { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types> { - public using type = std::variant; -} - -template -struct facebook::react::detail::is_variant_of_data_types> : public std::true_type { -} - -template -struct facebook::react::detail::merge_data_types, std::variant, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - - -constexpr std::string_view facebook::react::detail::css::keywords::Absolute; -constexpr std::string_view facebook::react::detail::css::keywords::At; -constexpr std::string_view facebook::react::detail::css::keywords::Auto; -constexpr std::string_view facebook::react::detail::css::keywords::Baseline; -constexpr std::string_view facebook::react::detail::css::keywords::Block; -constexpr std::string_view facebook::react::detail::css::keywords::Bottom; -constexpr std::string_view facebook::react::detail::css::keywords::Center; -constexpr std::string_view facebook::react::detail::css::keywords::Clip; -constexpr std::string_view facebook::react::detail::css::keywords::Column; -constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; -constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Content; -constexpr std::string_view facebook::react::detail::css::keywords::Contents; -constexpr std::string_view facebook::react::detail::css::keywords::Contextual; -constexpr std::string_view facebook::react::detail::css::keywords::Dashed; -constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Dotted; -constexpr std::string_view facebook::react::detail::css::keywords::Double; -constexpr std::string_view facebook::react::detail::css::keywords::End; -constexpr std::string_view facebook::react::detail::css::keywords::Fixed; -constexpr std::string_view facebook::react::detail::css::keywords::Flex; -constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; -constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; -constexpr std::string_view facebook::react::detail::css::keywords::Grid; -constexpr std::string_view facebook::react::detail::css::keywords::Groove; -constexpr std::string_view facebook::react::detail::css::keywords::Hidden; -constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Inherit; -constexpr std::string_view facebook::react::detail::css::keywords::Initial; -constexpr std::string_view facebook::react::detail::css::keywords::Inline; -constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; -constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; -constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; -constexpr std::string_view facebook::react::detail::css::keywords::Inset; -constexpr std::string_view facebook::react::detail::css::keywords::Left; -constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; -constexpr std::string_view facebook::react::detail::css::keywords::Ltr; -constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; -constexpr std::string_view facebook::react::detail::css::keywords::Medium; -constexpr std::string_view facebook::react::detail::css::keywords::MinContent; -constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; -constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; -constexpr std::string_view facebook::react::detail::css::keywords::None; -constexpr std::string_view facebook::react::detail::css::keywords::Normal; -constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; -constexpr std::string_view facebook::react::detail::css::keywords::Outset; -constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; -constexpr std::string_view facebook::react::detail::css::keywords::Relative; -constexpr std::string_view facebook::react::detail::css::keywords::Ridge; -constexpr std::string_view facebook::react::detail::css::keywords::Right; -constexpr std::string_view facebook::react::detail::css::keywords::Row; -constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; -constexpr std::string_view facebook::react::detail::css::keywords::Rtl; -constexpr std::string_view facebook::react::detail::css::keywords::Scroll; -constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; -constexpr std::string_view facebook::react::detail::css::keywords::Solid; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; -constexpr std::string_view facebook::react::detail::css::keywords::Start; -constexpr std::string_view facebook::react::detail::css::keywords::Static; -constexpr std::string_view facebook::react::detail::css::keywords::Sticky; -constexpr std::string_view facebook::react::detail::css::keywords::Stretch; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; -constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; -constexpr std::string_view facebook::react::detail::css::keywords::Thick; -constexpr std::string_view facebook::react::detail::css::keywords::Thin; -constexpr std::string_view facebook::react::detail::css::keywords::To; -constexpr std::string_view facebook::react::detail::css::keywords::Top; -constexpr std::string_view facebook::react::detail::css::keywords::Unset; -constexpr std::string_view facebook::react::detail::css::keywords::Visible; -constexpr std::string_view facebook::react::detail::css::keywords::Wrap; -constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; -template -concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); -template -concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); -template -concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); -template -concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); -template -concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); -template -concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); -template -concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); -template -concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); -template -concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); -template -concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); -template -concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); -template -concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); -template -concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); -template -concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); -template -concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); -template -concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); -template -concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); -template -concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); -template -concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); -template -concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); -template -concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); -template -concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); -template -concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); -template -concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); -template -concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); -template -concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); -template -concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); -template -concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); -template -concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); -template -concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); -template -concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); -template -concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); -template -concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); -template -concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); -template -concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); -template -concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); -template -concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); -template -concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); -template -concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); -template -concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); -template -concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); -template -concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); -template -concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); -template -concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); -template -concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); -template -concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); -template -concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); -template -concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); -template -concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); -template -concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); -template -concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); -template -concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); -template -concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); -template -concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); -template -concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); -template -concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); -template -concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); -template -concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); -template -concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); -template -concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); -template -concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); -template -concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); -template -concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); -template -concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); -template -concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); -template -concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); -template -concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); -template -concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); -template -concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); - - -constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; -template -using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; -typedef std::function facebook::react::jsinspector_modern::FrontendChannel; -typedef std::map facebook::react::jsinspector_modern::Headers; -using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; -using facebook::react::jsinspector_modern::IOReadError = const std::string; -using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; -using facebook::react::jsinspector_modern::StreamID = const std::string; -using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; -bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); -facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); -folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); -folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); -std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); -std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); -std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); -template -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); -template -facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); -void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); -void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); -void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); -void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); - -class facebook::react::jsinspector_modern::BoundedRequestBuffer { - public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; - public std::shared_ptr get(const std::string& requestId) const; - public void clear(); -} - -struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { - public bool base64Encoded; - public std::string data; -} - -class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { - public CallbackLocalConnection(std::function handler); - public virtual void disconnect() override; - public virtual void sendMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public CallbackRemoteConnection(std::function handler); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::ConsoleTask { - public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; - public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; - public ConsoleTask(std::shared_ptr taskContext); - public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; - public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; - public ~ConsoleTask(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { - public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); - public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskId id() const; - public std::optional getSerializedStackTrace() const; - public void schedule(); - public ~ConsoleTaskContext(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskId { - public ConsoleTaskId() = default; - public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public operator bool() const; - public operator void *() const; - public ~ConsoleTaskId() = default; -} - -class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { - public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); - public std::shared_ptr top() const; - public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); - public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public ~ConsoleTaskOrchestrator() = default; -} - -class facebook::react::jsinspector_modern::EmulationAgent { - public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); -} - -class facebook::react::jsinspector_modern::ExecutionContextManager { - public int32_t allocateExecutionContextId(); -} - -class facebook::react::jsinspector_modern::ExecutionContextSelector { - public ExecutionContextSelector() = delete; - public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; - public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); - public ~ExecutionContextSelector() = default; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public FallbackRuntimeTargetDelegate(std::string engineDescription); - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; -} - -class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); - public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; - public ~HermesRuntimeTargetDelegate() override; -} - -class facebook::react::jsinspector_modern::HostAgent { - public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); - public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public bool isEligibleForBackgroundTrace() const; - public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public void emitSystemStateChanged(bool isSingleHost); - public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void setCurrentInstanceAgent(std::shared_ptr agent); - public ~HostAgent(); -} - -class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public bool stopAndMaybeEmitBackgroundTrace(); - public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public std::unique_ptr connect(std::unique_ptr connectionToFrontend); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); - public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); - public ~HostTarget(); -} - -class facebook::react::jsinspector_modern::HostTargetController { - public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); - public bool decrementPauseOverlayCounter(); - public bool hasInstance() const; - public bool maybeEmitStashedBackgroundTrace(); - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public void incrementPauseOverlayCounter(); -} - -class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public HostTargetDelegate() = default; - public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&); - public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; - public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); - public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&); - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; - public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; - public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; - public virtual ~HostTargetDelegate() override; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; - public std::optional message; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest { - public std::optional quality; - public std::optional format; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; - public std::optional ignoreCache; - public std::optional scriptToEvaluateOnLoad; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest& rhs) const; - public std::string colorScheme; -} - -class facebook::react::jsinspector_modern::HostTargetTraceRecording { - public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public bool isBackgroundInitiated() const; - public bool isUserInitiated() const; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); - public void start(); -} - -class facebook::react::jsinspector_modern::HostTargetTracingDelegate { - public HostTargetTracingDelegate() = default; - public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); - public virtual void onTracingStopped(); - public virtual ~HostTargetTracingDelegate() = default; -} - -class facebook::react::jsinspector_modern::HostTracingAgent { - public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); -} - -class facebook::react::jsinspector_modern::IDestructible { - public virtual ~IDestructible() = 0; -} - -class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { - public using ConnectFunc = std::function(std::unique_ptr)>; - public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; - public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; - public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; - public virtual std::vector getPages() const = 0; - public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; - public virtual void removePage(int pageId) = 0; - public virtual ~IInspector() = 0; -} - -class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void disconnect() = 0; - public virtual void sendMessage(std::string message) = 0; - public virtual ~ILocalConnection() = 0; -} - -class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onPageRemoved(int); - public virtual ~IPageStatusListener() = 0; -} - -class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onDisconnect() = 0; - public virtual void onMessage(std::string message) = 0; - public virtual ~IRemoteConnection() = 0; -} - -class facebook::react::jsinspector_modern::IWebSocket { - public virtual void send(std::string_view message) = 0; - public virtual ~IWebSocket() = default; -} - -class facebook::react::jsinspector_modern::IWebSocketDelegate { - public virtual void didClose() = 0; - public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; - public virtual void didOpen() = 0; - public virtual void didReceiveMessage(std::string_view message) = 0; - public virtual ~IWebSocketDelegate() = default; -} - -class facebook::react::jsinspector_modern::InspectorFlags { - public InspectorFlags(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public bool getAssertSingleHostState() const; - public bool getFrameRecordingEnabled() const; - public bool getFuseboxEnabled() const; - public bool getIsProfilingBuild() const; - public bool getPerfIssuesEnabled() const; - public bool getScreenshotCaptureEnabled() const; - public facebook::react::jsinspector_modern::InspectorFlags& operator=(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); - public void dangerouslyDisableFuseboxForTest(); - public void dangerouslyResetFlags(); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection { - public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public bool isConnected() const; - public void closeQuietly(); - public void connect(); - public void sendEventToAllConnections(std::string event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { - public bool isConnected() const; - public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public using SessionId = uint32_t; - public void closeQuietly(); - public void connect(); - public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); - public void sendEventToAllConnections(const std::string& event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { - public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; - public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; - public virtual ~InspectorPackagerConnectionDelegate() = default; -} - -class facebook::react::jsinspector_modern::InstanceAgent { - public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); -} - -class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); - public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); - public ~InstanceTarget(); -} - -class facebook::react::jsinspector_modern::InstanceTargetDelegate { - public InstanceTargetDelegate() = default; - public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public virtual ~InstanceTargetDelegate(); -} - -class facebook::react::jsinspector_modern::InstanceTracingAgent { - public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); - public ~InstanceTracingAgent(); -} - -class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public LoadNetworkResourceDelegate() = default; - public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; - public virtual ~LoadNetworkResourceDelegate() = default; -} - -class facebook::react::jsinspector_modern::NetworkHandler { - public bool isEnabled() const; - public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); - public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); - public std::optional> getResponseBody(const std::string& requestId); - public void disableAgent(size_t agentId); - public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); - public void onLoadingFailed(const std::string& requestId, bool cancelled); - public void onLoadingFinished(const std::string& requestId, int encodedDataLength); - public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); - public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); - public void onWebSocketClosed(const std::string& requestId); - public void onWebSocketCreated(const std::string& requestId, const std::string& url); - public void onWebSocketFrameReceived(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketFrameSent(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t status, const facebook::react::jsinspector_modern::Headers& headers); - public void onWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::jsinspector_modern::NetworkIOAgent { - public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); - public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public ~NetworkIOAgent(); -} - -class facebook::react::jsinspector_modern::NetworkRequestListener { - public NetworkRequestListener() = default; - public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public virtual void onCompletion() = 0; - public virtual void onData(std::string_view data) = 0; - public virtual void onError(const std::string& message) = 0; - public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; - public virtual void setCancelFunction(std::function cancelFunction) = 0; - public virtual ~NetworkRequestListener() = default; -} - -class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { - public NotImplementedException(std::string message); - public const char* what() const noexcept override; -} - -class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { -} - -class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { - public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); - public void handlePerfIssueAdded(const std::string& message); -} - -class facebook::react::jsinspector_modern::RAIIRemoteConnection { - public RAIIRemoteConnection(std::unique_ptr remote); - public void onMessage(std::string message); - public ~RAIIRemoteConnection(); -} - -class facebook::react::jsinspector_modern::RuntimeAgent { - public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); - public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); - public void notifyFastRefreshComplete(); - public ~RuntimeAgent(); -} - -struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { - public std::unique_ptr delegateState; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; - public virtual std::unique_ptr getExportedState(); - public virtual ~RuntimeAgentDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { - public virtual ~ExportedState() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public ~RuntimeTarget(); -} - -class facebook::react::jsinspector_modern::RuntimeTargetController { - public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); - public void disableSamplingProfiler(); - public void emitTracingStateChange(bool isTracing); - public void enableSamplingProfiler(); - public void installBindingHandler(const std::string& bindingName); - public void installScriptToEvaluateOnNewDocument(const std::string& source); - public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); } -enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { - Log, - Network, - Runtime, - kMaxValue, -} - -class facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public virtual bool supportsConsole() const = 0; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; - public virtual void disableSamplingProfiler() = 0; - public virtual void enableSamplingProfiler() = 0; - public virtual ~RuntimeTargetDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); - public ~RuntimeTracingAgent(); -} - -class facebook::react::jsinspector_modern::StackTrace { - public StackTrace() = default; - public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public static std::unique_ptr empty(); - public virtual ~StackTrace() = default; -} - -class facebook::react::jsinspector_modern::TracingAgent { - public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public ~TracingAgent(); -} - -enum facebook::react::jsinspector_modern::ConsoleAPIType { - kAssert, - kClear, - kCount, - kDebug, - kDir, - kDirXML, - kEndGroup, - kError, - kInfo, - kLog, - kStartGroup, - kStartGroupCollapsed, - kTable, - kTimeEnd, - kTrace, - kWarning, -} - -enum facebook::react::jsinspector_modern::HostCommand { - DebuggerResume, - DebuggerStepOver, -} - -struct facebook::react::jsinspector_modern::ConsoleMessage { - public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); - public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public std::unique_ptr stackTrace; - public std::vector args; - public ~ConsoleMessage() = default; -} - -struct facebook::react::jsinspector_modern::ExecutionContextDescription { - public int32_t id; - public std::optional uniqueId; - public std::string name; - public std::string origin; +template +struct facebook::react::NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::GetResponseBodyResult { - public bool base64Encoded; - public folly::dynamic toDynamic() const; - public std::string body; +template +struct facebook::react::NativeResizeObserverNativeResizeObserverEntryBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::HostTargetMetadata { - public std::optional appDisplayName; - public std::optional appIdentifier; - public std::optional deviceName; - public std::optional integrationName; - public std::optional platform; - public std::optional reactNativeVersion; +template +struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptionsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::IOReadResult { - public bool base64Encoded; - public bool eof; - public folly::dynamic toDynamic() const; - public std::string data; +template +struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static T types; + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::InspectorPageDescription { - public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; - public const int id; - public const std::string description; - public const std::string vm; +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; } -struct facebook::react::jsinspector_modern::InspectorSystemState { - public int registeredHostsCount; +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; } -struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { - public bool nativePageReloads; - public bool nativeSourceCodeFetching; +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; } -struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { - public std::string url; +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; } -struct facebook::react::jsinspector_modern::NetworkResource { - public bool success; - public folly::dynamic toDynamic() const; - public std::optional headers; - public std::optional netErrorName; - public std::optional stream; - public std::optional httpStatusCode; +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; } -struct facebook::react::jsinspector_modern::PerfIssuePayload { - public std::optional description; - public std::optional learnMoreUrl; - public std::optional severity; - public std::string name; +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); } -struct facebook::react::jsinspector_modern::ReadStreamParams { - public facebook::react::jsinspector_modern::StreamID handle; - public std::optional offset; - public std::optional size; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); } -struct facebook::react::jsinspector_modern::SessionState { - public bool hasPendingTraceRecording; - public bool isDebuggerDomainEnabled; - public bool isLogDomainEnabled; - public bool isNetworkDomainEnabled; - public bool isReactNativeApplicationDomainEnabled; - public bool isRuntimeDomainEnabled; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; - public std::unordered_map subscribedBindings; - public std::vector scriptsToEvaluateOnNewDocument; - public std::vector pendingSimpleConsoleMessages; - public unsigned int nextScriptToEvaluateOnNewDocumentId; +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); } -struct facebook::react::jsinspector_modern::SessionState::ScriptToEvaluateOnNewDocument { - public std::string identifier; - public std::string source; +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); } -struct facebook::react::jsinspector_modern::SimpleConsoleMessage { - public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public std::vector args; - public ~SimpleConsoleMessage() = default; +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); } -template -class facebook::react::jsinspector_modern::EnumArray { - public constexpr ValueType& operator[](IndexType i); - public constexpr const ValueType& operator[](IndexType i) const; - public constexpr int size() const; +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; } -template -struct facebook::react::jsinspector_modern::UniqueMonostate { - public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -template -class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { - public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); - public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); - template - public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } template -class facebook::react::jsinspector_modern::WeakList { - public bool empty() const; - public size_t size() const; - public void insert(std::weak_ptr ptr); - template - public bool anyOf(Fn&& fn) const; - template - public bool anyOf(Fn&& fn); - template - public void forEach(Fn&& fn) const; - template - public void forEach(Fn&& fn); -} - - -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; -using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; -using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; -using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; -using facebook::react::jsinspector_modern::tracing::Headers = std::map; -using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; -using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; -using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; -int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); -std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); -std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); -std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); -std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); - -class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { - public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { - public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); - public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); - public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); -} - -class facebook::react::jsinspector_modern::tracing::PerformanceTracer { - public bool isTracing() const; - public bool startTracing(); - public bool startTracing(facebook::react::HighResDuration maxDuration); - public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); - public std::optional> stopTracing(); - public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); - public using TracingStateCallback = std::function; - public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); - public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); - public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); - public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); - public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); - public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); - public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); - public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); -} - -class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { - public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); - public bool hasParent() const; - public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; - public static constexpr uint32_t NO_PARENT; - public uint32_t getId() const; - public uint32_t getParentId() const; -} - -enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { - JavaScript, - Other, -} - -class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public virtual ~RawRuntimeProfile() = default; -} - -class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { - public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); - public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); -} - -class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; - public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public bool isRunningInBackgroundMode(); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { - public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); - public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { - public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); - public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); - public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); - public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); - public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); - public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); - public static size_t estimateJsonSize(const folly::dynamic& value); -} - -enum facebook::react::jsinspector_modern::tracing::Category { - Frame, - HiddenTimeline, - JavaScriptSampling, - RuntimeExecution, - Screenshot, - Timeline, - UserTiming, +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { - Error, - Primary, - PrimaryDark, - PrimaryLight, - Secondary, - SecondaryDark, - SecondaryLight, - Tertiary, - TertiaryDark, - TertiaryLight, - Warning, -} - -enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { - Microtasks, - Task, -} - -enum facebook::react::jsinspector_modern::tracing::Mode { - Background, - CDP, -} - -struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { - public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public ~EventLoopReporter(); -} - -struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { - public FrameTimingSequence() = delete; - public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); - public facebook::react::HighResDuration vsyncInterval; - public facebook::react::HighResTimeStamp beginTimestamp; - public facebook::react::HighResTimeStamp endTimestamp; - public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::optional> screenshot; -} - -struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { - public HostTracingProfile() = default; - public HostTracingProfile(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public HostTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public std::vector frameTimings; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~HostTracingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::IdGenerator { - public uint32_t getNext(); -} - -struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { - public std::vector performanceTraceEvents; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { - public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public std::string runtimeName; - public std::unique_ptr rawRuntimeProfile; - public std::vector samples; - public ~RuntimeSamplingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { - public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::vector callStack; - public uint64_t timestamp; - public ~Sample() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { - public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; - public std::optional scriptURL; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string_view functionName; - public uint32_t scriptId; -} - -enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { - GarbageCollector, - HostFunction, - JSFunction, - NativeFunction, -} - -struct facebook::react::jsinspector_modern::tracing::TraceEvent { - public char ph; - public facebook::react::HighResTimeStamp ts; - public facebook::react::jsinspector_modern::tracing::Categories cat; - public facebook::react::jsinspector_modern::tracing::ProcessId pid; - public facebook::react::jsinspector_modern::tracing::ThreadId tid; - public folly::dynamic args; - public std::optional s; - public std::optional dur; - public std::optional id; - public std::string name; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; - public using TimeDeltas = std::vector; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { - public std::vector nodes; - public std::vector samples; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; - public std::optional parentId; - public uint32_t id; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { - public std::optional url; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string codeType; - public std::string functionName; - public uint32_t scriptId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { - public TraceRecordingState(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public facebook::react::jsinspector_modern::tracing::Mode mode; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public std::optional windowSize; - public std::set enabledCategories; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~TraceRecordingState() = default; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } template -class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { - public TimeWindowedBuffer(); - public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); - public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); - public using TimestampAccessor = std::function; - public void clear(); - public void push(T&& element); - public void push(const T& element); +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); } -template -class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { - public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; - public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public ~PerformanceTracerSection() noexcept; -} - - -using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; -using facebook::react::jsinspector_modern::cdp::RequestId = long long; -using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; -facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); -std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); - -enum facebook::react::jsinspector_modern::cdp::ErrorCode { - InternalError, - InvalidParams, - InvalidRequest, - MethodNotFound, - ParseError, -} - -struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { - public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; - public facebook::react::jsinspector_modern::cdp::RequestId id; - public folly::dynamic params; - public std::string method; - public std::string toJson() const; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { } - -using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; -std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); - -struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { - public double requestTime; +struct facebook::react::Bridging { + public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); } -struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int dataLength; - public int encodedDataLength; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); } -struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { - public bool canceled; - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string errorText; - public std::string requestId; - public std::string type; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); } -struct facebook::react::jsinspector_modern::cdp::network::Request { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::optional postData; - public std::string method; - public std::string url; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { - public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { - public bool redirectHasExtraInfo; - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Request request; - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::optional redirectResponse; - public std::string documentURL; - public std::string loaderId; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::Response { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); - public std::string mimeType; - public std::string statusText; - public std::string url; - public uint16_t status; -} - -struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { - public bool hasExtraInfo; - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::Response response; - public folly::dynamic toDynamic() const; - public std::string loaderId; - public std::string requestId; - public std::string type; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketClosedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketCreatedParams { - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::string requestId; - public std::string url; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrame { - public bool mask; - public folly::dynamic toDynamic() const; - public int opcode; - public std::string payloadData; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrameParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketFrame response; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketHandshakeResponseReceivedParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketResponse response; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketResponse { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public static facebook::react::jsinspector_modern::cdp::network::WebSocketResponse fromInputParams(uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers); - public std::string statusText; - public uint16_t status; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketWillSendHandshakeRequestParams { - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } - -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; -bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); -facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); -std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); -std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); - -struct facebook::react::dom::DOMBorderWidthRounded { - public int bottom; - public int left; - public int right; - public int top; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -struct facebook::react::dom::DOMOffset { - public double left; - public double top; - public std::shared_ptr offsetParent; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); } -struct facebook::react::dom::DOMPoint { - public double x; - public double y; +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { } -struct facebook::react::dom::DOMRect { - public double height; - public double width; - public double x; - public double y; +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); } -struct facebook::react::dom::DOMSizeRounded { - public int height; - public int width; +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -struct facebook::react::dom::RNMeasureRect { - public double height; - public double pageX; - public double pageY; - public double width; - public double x; - public double y; -} + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); facebook::jsi::Value facebook::react::TurboModuleConvertUtils::convertObjCObjectToJSIValue(facebook::jsi::Runtime& runtime, id value); @@ -13415,9 +7040,6 @@ id facebook::react::TurboModuleConvertUtils::convertJSIValueToObjCObject(faceboo static const facebook::react::Color facebook::react::HostPlatformColor::UndefinedColor; -static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; - - template constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; template @@ -13551,6 +7173,16 @@ struct facebook::react::array_detail::BridgingDynamic { } +template +C facebook::react::detail::memberFunctionClass(T C::*); + +class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { + public OwnedBytesBuffer(std::vector bytes) noexcept; + public virtual size_t size() const override; + public virtual uint8_t* data() override; +} + + template struct facebook::react::map_detail::Bridging { public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); @@ -13558,112 +7190,6 @@ struct facebook::react::map_detail::Bridging { } -uint64_t facebook::react::oscompat::getCurrentProcessId(); -uint64_t facebook::react::oscompat::getCurrentThreadId(); - - -using facebook::react::ReactMarker::LogTaggedMarker = std::function; -using facebook::react::ReactMarker::LogTaggedMarkerBridgeless = facebook::react::ReactMarker::LogTaggedMarker; -void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); -void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -facebook::react::ReactMarker::AtomicLogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; - -class facebook::react::ReactMarker::StartupLogger { - public double getAppStartupEndTime(); - public double getAppStartupStartTime(); - public double getInitReactRuntimeStartTime(); - public double getRunJSBundleStartTime(); - public static facebook::react::ReactMarker::StartupLogger& getInstance(); - public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); - public void reset(); -} - -enum facebook::react::ReactMarker::ReactMarkerId { - APP_STARTUP_START, - APP_STARTUP_STOP, - CREATE_REACT_CONTEXT_STOP, - INIT_REACT_RUNTIME_START, - INIT_REACT_RUNTIME_STOP, - JS_BUNDLE_STRING_CONVERT_START, - JS_BUNDLE_STRING_CONVERT_STOP, - NATIVE_MODULE_SETUP_START, - NATIVE_MODULE_SETUP_STOP, - NATIVE_REQUIRE_START, - NATIVE_REQUIRE_STOP, - REACT_INSTANCE_INIT_START, - REACT_INSTANCE_INIT_STOP, - REGISTER_JS_SEGMENT_START, - REGISTER_JS_SEGMENT_STOP, - RUN_JS_BUNDLE_START, - RUN_JS_BUNDLE_STOP, -} - -struct facebook::react::ReactMarker::AtomicLogTaggedMarker { - public facebook::react::ReactMarker::AtomicLogTaggedMarker& operator=(facebook::react::ReactMarker::LogTaggedMarker marker); - public operator bool() const noexcept; - public void operator()(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag) const; -} - -struct facebook::react::ReactMarker::ReactMarkerEvent { - public const char* tag; - public const facebook::react::ReactMarker::ReactMarkerId markerId; - public double time; -} - - -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); -void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); - - -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); - - -void facebook::react::LowPriorityExecutor::execute(std::function&& workItem); - - void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); @@ -13707,9 +7233,6 @@ void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); -std::unique_ptr facebook::jsc::makeJSCRuntime(); - - using facebook::jsi::HostFunctionType = std::function; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); @@ -15882,22 +9405,10 @@ struct std::hash { public size_t operator()(const RCTComponentViewDescriptor& componentViewDescriptor) const; } -struct std::hash { - public size_t operator()(const facebook::react::AttributedString& attributedString) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; -} - struct std::hash { public size_t operator()(const facebook::react::Color& color) const; } -struct std::hash { - public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; } @@ -15906,30 +9417,14 @@ struct std::hash { public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; } -struct std::hash { - public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; -} - struct std::hash { public size_t operator()(const facebook::react::Point& point) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Rect& rect) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::ShadowView& shadowView) const; -} - struct std::hash { public size_t operator()(const facebook::react::SharedColor& color) const; } @@ -15938,18 +9433,6 @@ struct std::hash { public size_t operator()(const facebook::react::Size& size) const; } -struct std::hash { - public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextEffectInfo& info) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Transform& transform) const; } @@ -15964,23 +9447,6 @@ struct std::hash> { public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; -} - -template -struct std::hash> { - public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; -} - template FB::LazyIterator FB::operator+(typename FB::LazyIterator::difference_type n, const FB::LazyIterator& i); diff --git a/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api index ca287d50b95b..217e69f46061 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonDebugCxx.api @@ -17,86 +17,6 @@ struct YGValue { } -bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); -double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); -int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); -std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); - -class facebook::xplat::JsArgumentException : public std::logic_error { - public JsArgumentException(const std::string& msg); -} - - -class facebook::xplat::module::CxxModule { - public static constexpr AsyncTagType AsyncTag; - public static constexpr SyncTagType SyncTag; - public std::weak_ptr getInstance(); - public using Callback = std::function)>; - public using Provider = std::function()>; - public virtual std::map getConstants(); - public virtual std::string getName() = 0; - public virtual std::vector getMethods() = 0; - public virtual ~CxxModule() = default; - public void setInstance(std::weak_ptr instance); -} - -struct facebook::xplat::module::CxxModule::Method { - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc, AsyncTagType); - public bool isPromise; - public const char* getType(); - public size_t callbacks; - public std::function syncFunc; - public std::function func; - public std::string name; - template - public Method(std::string aname, T* t, void(T::*method)()); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); -} - - -std::string facebook::xplat::detail::toStringHelper(); -template -R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); -template -std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); -template -std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); - -template -struct facebook::xplat::detail::is_dynamic { - public using type = typename std::enable_if::value, T>::type; -} - - class facebook::hermes::IHermes : public facebook::jsi::ICast { protected ~IHermes() = default; public static constexpr facebook::jsi::UUID uuid; @@ -151,67 +71,16 @@ struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { } -const char facebook::react::AndroidProgressBarComponentName[]; -const char facebook::react::AndroidSwitchComponentName[]; -const char facebook::react::AppleSwitchComponentName[]; -const char facebook::react::ImageComponentName[]; -const char facebook::react::ImageManagerKey[]; -const char facebook::react::InputAccessoryComponentName[]; -const char facebook::react::LegacyViewManagerAndroidInteropComponentName[]; -const char facebook::react::LegacyViewManagerInteropComponentName[]; -const char facebook::react::ModalHostViewComponentName[]; -const char facebook::react::ParagraphComponentName[]; -const char facebook::react::RawTextComponentName[]; -const char facebook::react::RootComponentName[]; -const char facebook::react::RuntimeSchedulerKey[]; -const char facebook::react::SafeAreaViewComponentName[]; -const char facebook::react::ScrollViewComponentName[]; -const char facebook::react::TextComponentName[]; -const char facebook::react::TextEffectComponentName[]; -const char facebook::react::UnimplementedViewComponentName[]; const char facebook::react::ViewComponentName[]; const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; -constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; -constexpr char facebook::react::VirtualViewComponentName[]; -constexpr char* const facebook::react::TextLayoutManagerKey; -constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; -constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; constexpr facebook::react::Tag facebook::react::kNoTag; -constexpr float facebook::react::kDefaultEpsilon; -constexpr size_t facebook::react::EVENT_BUFFER_SIZE; -constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; -constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; static constexpr auto facebook::react::kPropNameLengthHardCap; -static constexpr double facebook::react::SingleFrameIntervalMs; -static constexpr double facebook::react::TicksPerMs; static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; -static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; -static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; -static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; -template -using facebook::react::CSSCompoundDataType = std::variant; -template -using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; -template -using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; -template -using facebook::react::EventListenerT = std::function; -typedef std::function facebook::react::ValueListenerCallback; -typedef std::tuple facebook::react::RectAsTuple; -typedef void(*facebook::react::WarnOnUsageLogger)(std::string message); -using facebook::react::ActivePointerRegistry = std::unordered_map; -using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; -using facebook::react::AnimationTimestamp = std::chrono::duration; -using facebook::react::BackgroundExecutor = std::function&& callback)>; using facebook::react::BackgroundImage = std::variant; using facebook::react::BackgroundSize = std::variant; using facebook::react::BorderColors = facebook::react::RectangleEdges; @@ -219,22 +88,7 @@ using facebook::react::BorderCurves = facebook::react::RectangleCorners; using facebook::react::BorderStyles = facebook::react::RectangleEdges; using facebook::react::BorderWidths = facebook::react::RectangleEdges; -using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSPreservedToken = facebook::react::CSSToken; -using facebook::react::CSSRadialGradientSize = std::variant; -using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; using facebook::react::CallFunc = std::function; -using facebook::react::Callback = std::function; -using facebook::react::CallbackHandle = facebook::jsi::Object; -using facebook::react::CallbackId = uint64_t; -using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; @@ -244,172 +98,46 @@ using facebook::react::ComponentDescriptorConstructor = facebook::react::Compone using facebook::react::ComponentDescriptorProviderRequest = std::function; using facebook::react::ComponentHandle = int64_t; using facebook::react::ComponentName = const char*; -using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; using facebook::react::CornerInsets = facebook::react::RectangleCorners; -using facebook::react::DispatchEvent = std::function; using facebook::react::EdgeInsets = facebook::react::RectangleEdges; -using facebook::react::EndResult = NativeAnimatedTurboModuleEndResult, std::optional>; -using facebook::react::EventEmitterListener = facebook::react::EventListenerT; -using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; using facebook::react::EventListener = std::function; using facebook::react::EventPipe = std::function; using facebook::react::EventPipeConclusion = std::function; using facebook::react::EventTag = unsigned int; -using facebook::react::GarbageCollectionTrigger = std::function; using facebook::react::GradientDirection = std::variant; -using facebook::react::HasComponentProviderFunctionType = std::function; -using facebook::react::Headers = std::map; using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; using facebook::react::ImageSources = std::vector; -using facebook::react::InteractionTypesMap = std::unordered_map; -using facebook::react::IntersectionObserverObserverId = int32_t; -using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::LegacyViewManagerAndroidInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::LinesMeasurements = std::vector; -using facebook::react::Logger = std::function; -using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MethodCallResult = std::optional; -using facebook::react::MountingTransactionCallback = std::function; -using facebook::react::MutationObserverId = int32_t; -using facebook::react::NativeIntersectionObserverEntry = NativeIntersectionObserverNativeIntersectionObserverEntry; -using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; -using facebook::react::NativeIntersectionObserverObserveOptions = NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; using facebook::react::NativeMethodCallFunc = std::function; -using facebook::react::NativeMutationObserverObserveOptions = NativeMutationObserverNativeMutationObserverObserveOptions, bool>; -using facebook::react::NativeMutationRecord = NativeMutationObserverNativeMutationRecord, std::vector>; -using facebook::react::NativePartialReloadAndProfileConfig = NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; -using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; -using facebook::react::NativePerformancePerformanceObserverObserveOptions = NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; -using facebook::react::NativeReloadAndProfileConfig = NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; -using facebook::react::NativeRequestIdleCallbackOptions = NativeIdleCallbacksRequestIdleCallbackOptions>; -using facebook::react::NativeResizeObserverEntry = NativeResizeObserverNativeResizeObserverEntry; -using facebook::react::NativeResizeObserverNotifyCallback = facebook::react::SyncCallback; -using facebook::react::NativeResizeObserverObserveOptions = NativeResizeObserverNativeResizeObserverObserveOptions, std::optional>; -using facebook::react::OnMutations = std::function&)>; -using facebook::react::ParagraphProps = HostPlatformParagraphProps; -using facebook::react::PerformanceEntry = std::variant; -using facebook::react::PerformanceEntryInteractionId = uint32_t; -using facebook::react::PerformanceObserverCallback = std::function; -using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; -using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; -using facebook::react::PointerIdentifier = int32_t; using facebook::react::PromiseSetupFunctionType = std::function)>; -using facebook::react::RawCallback = std::function; using facebook::react::RawPropsPropNameHash = uint32_t; using facebook::react::RawPropsPropNameLength = uint16_t; using facebook::react::RawPropsValueIndex = uint16_t; -using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ResizeObserverObserverId = int32_t; -using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::RuntimeExecutor = std::function&& callback)>; -using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; -using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; -using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ScrollViewProps = HostPlatformScrollViewProps; -using facebook::react::ShadowTreeCommitTransaction = std::function; -using facebook::react::ShadowViewMutationList = std::vector; using facebook::react::SharedComponentDescriptor = std::shared_ptr; using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; using facebook::react::SharedEventEmitter = std::shared_ptr; using facebook::react::SharedEventPayload = std::shared_ptr; using facebook::react::SharedEventTarget = std::shared_ptr; -using facebook::react::SharedParagraphAttributes = std::shared_ptr; -using facebook::react::SharedRawTextProps = std::shared_ptr; -using facebook::react::SharedScrollViewProps = std::shared_ptr; using facebook::react::SharedShadowNodeFamily = std::shared_ptr; -using facebook::react::SharedTextAttributes = std::shared_ptr; using facebook::react::SharedTouchEventEmitter = std::shared_ptr; using facebook::react::SharedViewEventEmitter = std::shared_ptr; using facebook::react::SharedViewProps = std::shared_ptr; -using facebook::react::SizeAsTuple = std::tuple; -using facebook::react::SnapshotMap = std::unordered_map>; using facebook::react::StatePipe = std::function; using facebook::react::SurfaceId = int32_t; using facebook::react::Tag = int32_t; using facebook::react::TelemetryClock = std::chrono::steady_clock; using facebook::react::TelemetryDuration = std::chrono::nanoseconds; using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; -using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; -using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); -using facebook::react::TimerHandle = int; -using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; using facebook::react::Touch = facebook::react::HostPlatformTouch; using facebook::react::Touches = std::unordered_set; -using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; -using facebook::react::UiTask = std::function; -using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::UserTimingDetailProvider = std::function; using facebook::react::ValueFactory = std::function; using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; -using facebook::react::ViewNodePairScope = std::deque; using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; using facebook::react::ViewShadowNodeProps = facebook::react::ViewProps; -using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); -template -concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; -template -concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && - ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; -template -concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { - { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { - { T::consume(parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { - { T::consumePreservedToken(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { - { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && - !CSSParserSink) || -CSSParserSink; -template -concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& - (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); -template -concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(func, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { - { visitor(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(block, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; -template -concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; -template -concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; -template -concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; -template -concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; template concept facebook::react::DeclaresOwnSetProp = std::is_same_v; template @@ -427,167 +155,66 @@ template concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { { T::filterRawProps(rawProps) } -> std::same_as; }; -template -concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( - TextLayoutManagerT textLayoutManager, - facebook::react::AttributedString attributedString, - facebook::react::ParagraphAttributes paragraphAttributes, - facebook::react::TextLayoutContext layoutContext, - facebook::react::LayoutConstraints layoutConstraints, - typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { - sizeof(typename TextLayoutManagerT::PreparedTextLayout); - { - textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) - } -> std::same_as; - { - textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) - } -> std::same_as; -}; Float facebook::react::floatFromYogaFloat(float value); Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); -bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); -bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); bool facebook::react::areBorderRadiiCircular(const facebook::react::BorderRadii& borderRadii); -bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); -bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); bool facebook::react::isZero(Float n); const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); -const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); -const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); constexpr auto facebook::react::to_underlying(auto e) noexcept; -constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); constexpr char facebook::react::toLower(char c); -constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); -constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); -constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); -double facebook::react::ceil(double value) noexcept; -double facebook::react::floor(double value) noexcept; -double facebook::react::getCPUTimeNanos(); -double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); -double facebook::react::round(double value) noexcept; facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); -facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); -facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); -facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); -facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); -facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); facebook::react::SharedColor facebook::react::blackColor(); facebook::react::SharedColor facebook::react::clearColor(); -facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); facebook::react::SharedColor facebook::react::whiteColor(); -facebook::react::Size facebook::react::ModalHostViewScreenSize(void); facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); facebook::react::ValueUnit facebook::react::toValueUnit(const facebook::react::RawValue& value); facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value); facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(Float value); -float facebook::react::ceil(float value) noexcept; -float facebook::react::floor(float value) noexcept; -float facebook::react::round(float value) noexcept; float facebook::react::yogaFloatFromFloat(Float value); folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); -folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); int facebook::react::toInt(const facebook::react::DisplayType& displayType); int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); -long double facebook::react::ceil(long double value) noexcept; -long double facebook::react::floor(long double value) noexcept; -long double facebook::react::round(long double value) noexcept; -size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); -std::function facebook::react::makeCallback(std::weak_ptr instance, const folly::dynamic& callbackId); -std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); std::optional facebook::react::blendModeFromString(std::string_view blendModeName); std::optional facebook::react::filterTypeFromString(std::string_view filterName); -std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); std::optional facebook::react::isolationFromString(std::string_view isolationSetting); -std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); -std::string facebook::react::base64Encode(const std::string_view s); -std::string facebook::react::componentNameByReactViewName(std::string viewName); -std::string facebook::react::generateRandomUuidString(); std::string facebook::react::toString(const double& value); std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); -std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); std::string facebook::react::toString(const facebook::react::DisplayType& displayType); -std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); -std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); std::string facebook::react::toString(const facebook::react::FilterType& filterType); -std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); -std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); -std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); -std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); std::string facebook::react::toString(const facebook::react::ImageSource& value); std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); -std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); -std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); std::string facebook::react::toString(const facebook::react::Role& role); -std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); std::string facebook::react::toString(const facebook::react::SharedColor& value); -std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); -std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); -std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); -std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); -std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); -std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); -std::string facebook::react::toString(const facebook::react::TextWidthMode& textWidthMode); -std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); std::string facebook::react::toString(double doubleValue, char suffix); std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); std::string facebook::react::toString(facebook::react::PointerEventsMode value); -std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); -std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); -std::vector facebook::react::parseMethodCalls(folly::dynamic&& jsonData); -std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); -template -constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); -template -constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); -template -Float facebook::react::roundToPixel(Float value, Float scaleFactor); -template -facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, Float scaleFactor); -template -facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, Float scaleFactor); -template -facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, Float scaleFactor); template std::size_t facebook::react::hash_combine(const T& v, const Args &... args); template void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); template void facebook::react::hash_combine_optionals(std::size_t& seed, const std::optional &... optionals); -template ::type> -facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); -template -constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); -template -constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); template constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; template @@ -599,12 +226,6 @@ DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); template T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue); template -T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); -template -T facebook::react::get(const std::unique_ptr& animatedProp); -template -bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); -template void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); template void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::optional& result); @@ -620,11 +241,6 @@ uint8_t facebook::react::alphaFromColor(facebook::react::SharedColor color) noex uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexcept; uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; -void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); -void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); -void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); -void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); -void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityAction& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLabelledBy& result); @@ -632,36 +248,17 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); @@ -672,9 +269,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); @@ -683,12 +277,8 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageSource& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); @@ -697,32 +287,16 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); -void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); -void facebook::react::handleJSError(facebook::jsi::Runtime& runtime, const facebook::jsi::JSError& error, bool isFatal); -void facebook::react::mergeAnimatedRawProps(folly::dynamic& target, const folly::dynamic& source); -void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); -void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); -void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); -void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); -void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); -bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); -bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); -bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); -bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; -bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); constexpr enum facebook::react::AccessibilityTraits facebook::react::operator&(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); @@ -771,185 +345,6 @@ class facebook::react::AccessibilityProps { public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::AndroidProgressBarComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public AndroidProgressBarComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::AndroidProgressBarMeasurementsManager { - public AndroidProgressBarMeasurementsManager(const std::shared_ptr& contextContainer); - public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, const AndroidProgressBarProps& props, facebook::react::LayoutConstraints layoutConstraints) const; -} - -class facebook::react::AndroidProgressBarShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidProgressBarShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidProgressBarShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public void setAndroidProgressBarMeasurementsManager(const std::shared_ptr& measurementsManager); -} - -class facebook::react::AndroidSwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public AndroidSwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::AndroidSwitchMeasurementsManager { - public AndroidSwitchMeasurementsManager(const std::shared_ptr& contextContainer); - public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, facebook::react::LayoutConstraints layoutConstraints) const; -} - -class facebook::react::AndroidSwitchShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidSwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidSwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public void setAndroidSwitchMeasurementsManager(const std::shared_ptr& measurementsManager); -} - -class facebook::react::AnimatedModule : public NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { - public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); - public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); - public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); - public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); - public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); - public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void finishOperationBatch(facebook::jsi::Runtime& rt); - public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); - public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); - public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); - public void removeListeners(facebook::jsi::Runtime& rt, int count); - public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); - public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); - public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); - public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void startOperationBatch(facebook::jsi::Runtime& rt); - public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); - public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); -} - -class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { - public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; -} - -class facebook::react::AnimatedNode { - protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); - protected facebook::react::AnimatedNodeType type_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag tag_; - protected std::unordered_set children_; - public AnimatedNode(const facebook::react::AnimatedNode&) = default; - public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; - public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); - public const folly::dynamic& getConfig() const noexcept; - public const std::unordered_set& getChildren() const noexcept; - public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; - public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; - public facebook::react::AnimatedNodeType type() const noexcept; - public facebook::react::Tag tag() const noexcept; - public int activeIncomingNodes; - public int bfsColor; - public static constexpr int INITIAL_BFS_COLOR; - public static std::optional getNodeTypeByName(const std::string& nodeTypeName); - public std::string debugID() const; - public virtual void onAttachToNode(facebook::react::Tag); - public virtual void onDetachedFromNode(facebook::react::Tag); - public virtual void update(); - public virtual ~AnimatedNode() = default; - public void addChild(facebook::react::Tag tag); - public void removeChild(facebook::react::Tag tag); -} - -class facebook::react::AnimatedPropsRegistry { - public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); - public void clear(facebook::react::SurfaceId surfaceId); - public void clearOnSurfaceStop(facebook::react::SurfaceId surfaceId); - public void initializeSurface(facebook::react::SurfaceId surfaceId); - public void update(const std::vector& batches); -} - -class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { - public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); - public using PauseCallback = std::function; - public using ResumeCallback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) override; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; - public virtual void stop(facebook::react::CallbackId callbackId) override; - public virtual void trigger() override; - public void requestAsyncFlushForSurfaces(const std::set& surfaces); - public void synchronouslyUpdateProps(const std::unordered_map& updates); - public ~AnimationBackend() override; -} - -class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { - public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; -} - -class facebook::react::AnimationChoreographer { - public virtual facebook::react::AnimationTimestamp now() const; - public virtual void pause() = 0; - public virtual void resume() = 0; - public virtual ~AnimationChoreographer() = default; - public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; - public void setAnimationBackend(std::weak_ptr animationBackend); -} - -class facebook::react::AnimationDriver { - protected bool ignoreCompletedHandlers_; - protected bool isComplete_; - protected bool isStarted_; - protected double startFrameTimeMs_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag animatedValueTag_; - protected folly::dynamic config_; - protected int currentIteration_; - protected int id_; - protected int iterations_; - protected std::optional endCallback_; - protected virtual bool update(double, bool); - protected void markNodeUpdated(facebook::react::Tag tag); - public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); - public bool getIsComplete() const noexcept; - public facebook::react::Tag getAnimatedValueTag() const noexcept; - public int getId() const noexcept; - public static std::optional getDriverTypeByName(const std::string& driverTypeName); - public std::string debugID() const; - public virtual void updateConfig(folly::dynamic config); - public virtual ~AnimationDriver() = default; - public void runAnimationStep(double renderingTime); - public void startAnimation(); - public void stopAnimation(bool ignoreCompletedHandlers = false); -} - -class facebook::react::AppRegistryBinding { - public AppRegistryBinding() = delete; - public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); -} - class facebook::react::AsyncArrayBuffer { public AsyncArrayBuffer(const facebook::react::AsyncArrayBuffer&) = delete; public AsyncArrayBuffer(facebook::react::AsyncArrayBuffer&&) noexcept = default; @@ -968,152 +363,6 @@ class facebook::react::AsyncArrayBuffer { public ~AsyncArrayBuffer() = default; } -class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { - public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; - public bool isContentEqual(const facebook::react::AttributedString& rhs) const; - public bool isEmpty() const; - public bool operator==(const facebook::react::AttributedString& rhs) const; - public const facebook::react::AttributedString::Fragments& getFragments() const; - public const facebook::react::TextAttributes& getBaseTextAttributes() const; - public facebook::react::AttributedString::Fragments& getFragments(); - public std::string getString() const; - public using Fragments = std::vector; - public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); - public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); - public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); -} - -class facebook::react::AttributedString::Fragment { - public bool isAttachment() const; - public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; - public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; - public facebook::react::ShadowView parentShadowView; - public facebook::react::TextAttributes textAttributes; - public static std::string AttachmentCharacter(); - public std::string string; -} - -class facebook::react::AttributedString::Range { - public int length; - public int location; -} - -class facebook::react::AttributedStringBox { - public AttributedStringBox(); - public AttributedStringBox(const facebook::react::AttributedString& value); - public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; - public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; - public AttributedStringBox(std::shared_ptr opaquePointer); - public const facebook::react::AttributedString& getValue() const; - public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; - public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; - public facebook::react::AttributedStringBox::Mode getMode() const; - public std::shared_ptr getOpaquePointer() const; -} - -enum facebook::react::AttributedStringBox::Mode { - OpaquePointer, - Value, -} - -class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseParagraphProps() = default; - public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool isSelectable; - public bool onTextLayout; - public facebook::react::ParagraphAttributes paragraphAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { - public BaseScrollViewProps() = default; - public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public Float decelerationRate; - public Float endDraggingSensitivityMultiplier; - public Float maximumZoomScale; - public Float minimumZoomScale; - public Float scrollEventThrottle; - public Float snapToInterval; - public Float zoomScale; - public bool alwaysBounceHorizontal; - public bool alwaysBounceVertical; - public bool automaticallyAdjustContentInsets; - public bool automaticallyAdjustKeyboardInsets; - public bool automaticallyAdjustsScrollIndicatorInsets; - public bool bounces; - public bool bouncesZoom; - public bool canCancelContentTouches; - public bool centerContent; - public bool directionalLockEnabled; - public bool disableIntervalMomentum; - public bool horizontal; - public bool isInvertedVirtualizedList; - public bool pagingEnabled; - public bool persistentScrollbar; - public bool pinchGestureEnabled; - public bool scrollEnabled; - public bool scrollToOverflowEnabled; - public bool scrollsToTop; - public bool showsHorizontalScrollIndicator; - public bool showsVerticalScrollIndicator; - public bool snapToEnd; - public bool snapToStart; - public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; - public facebook::react::EdgeInsets contentInset; - public facebook::react::EdgeInsets scrollIndicatorInsets; - public facebook::react::Point contentOffset; - public facebook::react::ScrollViewIndicatorStyle indicatorStyle; - public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; - public facebook::react::ScrollViewSnapToAlignment snapToAlignment; - public std::optional maintainVisibleContentPosition; - public std::vector snapToOffsets; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseTextInputProps() = default; - public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool autoFocus; - public bool disableKeyboardShortcuts; - public bool editable; - public bool multiline; - public bool readOnly; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::SharedColor cursorColor; - public facebook::react::SharedColor placeholderTextColor; - public facebook::react::SharedColor selectionColor; - public facebook::react::SharedColor selectionHandleColor; - public facebook::react::SharedColor underlineColorAndroid; - public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; - public facebook::react::SubmitBehavior submitBehavior; - public facebook::react::TextAttributes getEffectiveTextAttributes(Float fontSizeMultiplier) const; - public int maxLength; - public int mostRecentEventCount; - public std::optional> acceptDragAndDropTypes; - public std::string autoCapitalize; - public std::string defaultValue; - public std::string placeholder; - public std::string text; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextProps { - public BaseTextProps() = default; - public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::TextAttributes textAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextShadowNode { - public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); - public using Attachments = std::vector; -} - -class facebook::react::BaseTextShadowNode::Attachment { - public const facebook::react::ShadowNode* shadowNode; - public size_t fragmentIndex; -} - class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { public void onAccessibilityAction(const std::string& name) const; public void onAccessibilityEscape() const; @@ -1170,82 +419,6 @@ class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { - public BigStringBuffer(std::unique_ptr script); - public virtual const uint8_t* data() const override; - public virtual size_t size() const override; -} - -class facebook::react::BindingsInstaller { - public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); -} - -class facebook::react::BridgelessNativeMethodCallInvoker : public facebook::react::NativeMethodCallInvoker { - public BridgelessNativeMethodCallInvoker(std::shared_ptr messageQueueThread); - public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; - public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; -} - -class facebook::react::BufferedRuntimeExecutor : public std::enable_shared_from_this { - public BufferedRuntimeExecutor(facebook::react::BufferedRuntimeExecutor::Executor executor); - public facebook::react::RuntimeExecutor asRuntimeExecutor(); - public facebook::react::RuntimeExecutor asWeakRuntimeExecutor(); - public using Executor = std::function; - public using Work = std::function; - public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void execute(facebook::react::SchedulerPriority priority, facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void flush(); -} - -class facebook::react::CSSSyntaxParser { - public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; - public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; - public constexpr CSSSyntaxParser(std::string_view css); - public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); - public constexpr bool isFinished() const; - public constexpr const facebook::react::CSSToken& peek() const; - public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; - public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; - public constexpr void consumeWhitespace(); - template - public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); - template - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); -} - -class facebook::react::CSSToken { - public constexpr CSSToken(const facebook::react::CSSToken& other) = default; - public constexpr CSSToken(facebook::react::CSSToken&& other) = default; - public constexpr CSSToken(facebook::react::CSSTokenType type); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); - public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); - public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; - public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; - public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; - public constexpr facebook::react::CSSTokenType type() const; - public constexpr float numericValue() const; - public constexpr std::string_view stringValue() const; - public constexpr std::string_view unit() const; -} - -class facebook::react::CSSTokenizer { - public constexpr CSSTokenizer(std::string_view characters); - public constexpr facebook::react::CSSToken next(); -} - -class facebook::react::CSSValueParser { - public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; - public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); - public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; - public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); - public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); -} - class facebook::react::CallInvoker { public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; @@ -1255,13 +428,6 @@ class facebook::react::CallInvoker { public virtual ~CallInvoker() = default; } -class facebook::react::CallInvokerImpl : public facebook::react::CallInvoker { - public CallInvokerImpl(std::shared_ptr bufferedRuntimeExecutor, std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { public facebook::jsi::Function& callback() noexcept; public facebook::jsi::Runtime& runtime() noexcept; @@ -1271,32 +437,6 @@ class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject public void destroy(); } -class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; -} - -class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; -} - -class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { - public Color getColor(); - public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::ComponentBuilder { - public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; - public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; - public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); - public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; - public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; - template - public std::shared_ptr build(facebook::react::Element element) const; -} - class facebook::react::ComponentDescriptor { protected facebook::react::ComponentDescriptor::Flavor flavor_; protected facebook::react::EventDispatcher::Weak eventDispatcher_; @@ -1362,85 +502,15 @@ class facebook::react::ContextContainer { public void insert(const std::string& key, const T& instance) const; } -class facebook::react::CxxNativeModule : public facebook::react::NativeModule { - public CxxNativeModule(std::weak_ptr instance, std::string name, facebook::xplat::module::CxxModule::Provider provider, std::shared_ptr messageQueueThread); - public static void setShouldWarnOnUse(bool value); - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int hookId, folly::dynamic&& args) override; - public virtual folly::dynamic getConstants() override; - public virtual std::string getName() override; - public virtual std::string getSyncMethodName(unsigned int methodId) override; - public virtual std::vector getMethods() override; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; -} - class facebook::react::DebugStringConvertible { } -class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::DevToolsRuntimeSettings { - public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; - public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; - public static facebook::react::DevToolsRuntimeSettings& getInstance(); - public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; - public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; - public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); - public ~DevToolsRuntimeSettings() = default; -} - -class facebook::react::DevToolsRuntimeSettingsModule : public NativeReactDevToolsRuntimeSettingsModuleCxxSpec { - public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); - public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); -} - -class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { - public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::ElementFragment { - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; - public facebook::react::ElementFragment::List children; - public facebook::react::ElementFragment::ReferenceCallback referenceCallback; - public facebook::react::ElementFragment::StateCallback stateCallback; - public facebook::react::Props::Shared props; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public using FinalizeCallback = std::function; - public using List = std::vector; - public using ListOfShared = std::vector; - public using ReferenceCallback = std::function& shadowNode)>; - public using Shared = std::shared_ptr; - public using StateCallback = std::function; -} - class facebook::react::Error { public Error(const char* message); public Error(std::string message); public const std::string& message() const; } -class facebook::react::EventAnimationDriver { - protected const facebook::react::Tag animatedValueTag_; - protected std::vector eventPath_; - public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); - public facebook::react::Tag getAnimatedNodeTag() const; - public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); - public ~EventAnimationDriver() = default; -} - class facebook::react::EventBeat { protected facebook::react::EventBeat::BeatCallback beatCallback_; protected mutable std::atomic isEventBeatRequested_; @@ -1511,15 +581,6 @@ class facebook::react::EventLogger { public virtual ~EventLogger() = default; } -class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { - public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); - public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; - public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; -} - class facebook::react::EventQueue { protected const std::unique_ptr eventBeat_; protected facebook::react::EventQueueProcessor eventProcessor_; @@ -1568,45 +629,6 @@ class facebook::react::EventTarget { public void setEnabled(bool enabled); } -class facebook::react::ExecutorDelegate { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; - public virtual std::shared_ptr getModuleRegistry() = 0; - public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; - public virtual ~ExecutorDelegate() = default; -} - -class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - protected virtual void updateConfig(folly::dynamic config) override; - public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::FuseboxTracer { - public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; - public bool isTracing(); - public bool startTracing(); - public bool stopTracing(const std::function& resultCallback); - public bool stopTracingAndWriteToFile(const std::string& path); - public static facebook::react::FuseboxTracer& getFuseboxTracer(); - public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); -} - -class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { - public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; -} - -class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { - public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; - public void setDebuggerName(const std::string& debuggerName); - public void setEnableDebugger(bool enableDebugger); -} - -class facebook::react::HermesInstance { - public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; -} - class facebook::react::HighResDuration { public constexpr HighResDuration(); public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; @@ -1677,26 +699,12 @@ class facebook::react::IAsyncEventEmitter { public virtual ~IAsyncEventEmitter() noexcept = default; } -class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ImageErrorInfo { public int responseCode; public std::string error; public std::vector> httpResponseHeaders; } -class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onError(const facebook::react::ImageErrorInfo& error) const; - public void onLoad(const facebook::react::ImageSource& source) const; - public void onLoadEnd() const; - public void onLoadStart() const; - public void onPartialLoad() const; - public void onProgress(double progress, int64_t loaded, int64_t total) const; -} - class facebook::react::ImageLoadError { public ImageLoadError(std::shared_ptr error); public std::shared_ptr getError() const; @@ -1708,25 +716,6 @@ class facebook::react::ImageManager { public virtual ~ImageManager(); } -class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { - public Float blurRadius; - public Float resizeMultiplier; - public ImageProps() = default; - public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool shouldNotifyLoadEvents; - public facebook::react::EdgeInsets capInsets; - public facebook::react::ImageResizeMode resizeMode; - public facebook::react::ImageSource defaultSource; - public facebook::react::ImageSource loadingIndicatorSource; - public facebook::react::ImageSources sources; - public facebook::react::SharedColor overlayColor; - public std::optional fadeDuration; - public std::optional progressiveRenderingEnabled; - public std::optional tintColor; - public std::string resizeMethod; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - class facebook::react::ImageRequest { public ImageRequest(const facebook::react::ImageRequest& other) = delete; public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; @@ -1770,15 +759,6 @@ class facebook::react::ImageResponseObserverCoordinator { public void removeObserver(const std::shared_ptr& observer) const; } -class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { - public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setImageManager(const std::shared_ptr& imageManager); -} - class facebook::react::ImageSource { public Float scale; public bool operator==(const facebook::react::ImageSource& rhs) const; @@ -1805,60 +785,12 @@ enum facebook::react::ImageSource::Type { Remote, } -class facebook::react::ImageState { - public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const ImageRequestParams& imageRequestParams); - public const ImageRequestParams& getImageRequestParams() const; - public const facebook::react::ImageRequest& getImageRequest() const; - public facebook::react::ImageSource getImageSource() const; -} - class facebook::react::ImageTelemetry { public ImageTelemetry(const facebook::react::SurfaceId surfaceId); public facebook::react::SurfaceId getSurfaceId() const; public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; } -class facebook::react::InputAccessoryComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public InputAccessoryComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::InputAccessoryShadowNode : public facebook::react::ConcreteViewShadowNode { - public InputAccessoryShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public InputAccessoryShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::InputAccessoryState { - public InputAccessoryState(); - public InputAccessoryState(facebook::react::Size viewportSize_); - public const facebook::react::Size viewportSize; -} - -class facebook::react::Instance { - public bool isBatchActive(); - public bool isInspectable(); - public bool supportsProfiling(); - public const facebook::react::ModuleRegistry& getModuleRegistry() const; - public facebook::react::ModuleRegistry& getModuleRegistry(); - public facebook::react::RuntimeExecutor getRuntimeExecutor(); - public std::shared_ptr getJSCallInvoker(); - public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker); - public void callJSCallback(uint64_t callbackId, folly::dynamic&& params); - public void callJSFunction(std::string&& module, std::string&& method, folly::dynamic&& params); - public void handleMemoryPressure(int pressureLevel); - public void initializeBridge(std::unique_ptr callback, std::shared_ptr jsef, std::shared_ptr jsQueue, std::shared_ptr moduleRegistry, facebook::react::jsinspector_modern::HostTarget* inspectorTarget = nullptr); - public void initializeRuntime(); - public void loadRAMBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL, bool loadSynchronously); - public void loadScriptFromString(std::unique_ptr string, std::string sourceURL, bool loadSynchronously); - public void registerBundle(uint32_t bundleId, const std::string& bundlePath); - public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); - public void setSourceURL(std::string sourceURL); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~Instance() override; -} - class facebook::react::InstanceHandle { public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; @@ -1866,43 +798,6 @@ class facebook::react::InstanceHandle { public using Shared = std::shared_ptr; } -class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { - public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; - public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; - public virtual void update() override; -} - -class facebook::react::IntersectionObserver { - public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); - public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); - public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); - public std::vector getThresholds() const; -} - -class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public IntersectionObserverManager(); - public std::vector takeRecords(); - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); - public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); -} - -class facebook::react::IntersectionObserverState { - public bool isIntersecting() const; - public bool operator==(const facebook::react::IntersectionObserverState& other) const; - public static facebook::react::IntersectionObserverState Initial(); - public static facebook::react::IntersectionObserverState Intersecting(Float threshold); - public static facebook::react::IntersectionObserverState Intersecting(Float threshold, Float rootThreshold); - public static facebook::react::IntersectionObserverState NotIntersecting(); -} - class facebook::react::JSBigBufferString : public facebook::react::JSBigString { public JSBigBufferString(size_t size); public char* mutableData(); @@ -1942,149 +837,9 @@ class facebook::react::JSBigString : public facebook::jsi::Buffer { public ~JSBigString() override = default; } -class facebook::react::JSExecutor { - public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); - public virtual bool isInspectable(); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); - public virtual std::string getDescription() = 0; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; - public virtual void destroy(); - public virtual void flush(); - public virtual void handleMemoryPressure(int pressureLevel); - public virtual void initializeRuntime() = 0; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; - public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) = 0; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; - public virtual void* getJavaScriptContext(); - public virtual ~JSExecutor() = default; -} - -class facebook::react::JSExecutorFactory { - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; - public virtual ~JSExecutorFactory() = default; -} - -class facebook::react::JSIExecutor : public facebook::react::JSExecutor { - public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); - public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); - public using RuntimeInstaller = std::function; - public virtual bool isInspectable() override; - public virtual std::string getDescription() override; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; - public virtual void flush() override; - public virtual void handleMemoryPressure(int pressureLevel) override; - public virtual void initializeRuntime() override; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; - public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) override; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; - public virtual void* getJavaScriptContext() override; -} - -class facebook::react::JSINativeModules { - public JSINativeModules(std::shared_ptr moduleRegistry); - public facebook::jsi::Value getModule(facebook::jsi::Runtime& rt, const facebook::jsi::PropNameID& name); - public void reset(); -} - -class facebook::react::JSModulesUnbundle { - public JSModulesUnbundle(); - public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const = 0; - public virtual ~JSModulesUnbundle() = default; -} - -class facebook::react::JSModulesUnbundle::ModuleNotFound : public std::out_of_range { - public ModuleNotFound(uint32_t moduleId); -} - -struct facebook::react::JSModulesUnbundle::Module { - public std::string code; - public std::string name; -} - -class facebook::react::JsErrorHandler { - public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); - public bool hasHandledFatalError(); - public bool inErrorHandler(); - public bool isRuntimeReady(); - public using OnJsError = std::function; - public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); - public void notifyOfFatalError(); - public void registerErrorListener(const std::function& listener); - public void setRuntimeReady(); - public ~JsErrorHandler(); -} - -struct facebook::react::JsErrorHandler::ProcessedError { - public bool isFatal; - public facebook::jsi::Object extraData; - public int id; - public std::optional componentStack; - public std::optional name; - public std::optional originalMessage; - public std::string message; - public std::vector stack; -} - -struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { - public std::optional column; - public std::optional lineNumber; - public std::optional file; - public std::string methodName; -} - -class facebook::react::LayoutAnimationCallbackWrapper { - public LayoutAnimationCallbackWrapper(); - public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); - public void call(facebook::jsi::Runtime& runtime) const; -} - -class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; - public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); -} - -class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { - protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected facebook::react::ShadowView createInterpolatedShadowView(Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; - protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; - protected mutable std::mutex currentAnimationMutex_; - protected mutable std::optional currentAnimation_; - protected mutable std::vector inflightAnimations_; - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; - protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; - protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; - public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); - public virtual bool shouldAnimateFrame() const override; - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; - public void setClockNow(std::function now); - public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; - public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; -} - -class facebook::react::LayoutAnimationStatusDelegate { - public virtual void onAllAnimationsComplete() = 0; - public virtual void onAnimationStarted() = 0; - public virtual ~LayoutAnimationStatusDelegate() = default; -} - class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { } -class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; -} - class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); @@ -2117,36 +872,6 @@ struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { public bool includeViewportOffset; } -class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { - public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); - public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); - public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; - public virtual void lockRevisions() override; - public virtual void unlockRevisions() override; -} - -class facebook::react::LeakChecker { - public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); - public void stopSurface(facebook::react::SurfaceId surfaceId); - public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; -} - -class facebook::react::LegacyViewManagerInteropState { - public std::shared_ptr coordinator; -} - -class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { - public LegacyViewManagerInteropViewProps() = default; - public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public const folly::dynamic otherProps; -} - -class facebook::react::LineMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::Size size; -} - class facebook::react::LongLivedObject { protected LongLivedObject(facebook::jsi::Runtime& runtime); protected facebook::jsi::Runtime& runtime_; @@ -2224,348 +949,12 @@ class facebook::react::MapBufferBuilder { public void putString(facebook::react::MapBuffer::Key key, const std::string& value); } -class facebook::react::MergedValueDispatcher { - public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); - public using DispatchFunction = std::function&&)>; - public using MergedValueFunction = std::function&& tagToProps)>; - public void dispatch(const std::unordered_map& value); -} - -class facebook::react::MessageQueueThread { - public virtual void quitSynchronous() = 0; - public virtual void runOnQueue(std::function&&) = 0; - public virtual void runOnQueueSync(std::function&&) = 0; - public virtual ~MessageQueueThread() = default; -} - -class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::ModalHostViewState { - public ModalHostViewState(); - public ModalHostViewState(facebook::react::Size screenSize_); - public const facebook::react::Size screenSize; - public using Shared = std::shared_ptr; -} - -class facebook::react::ModuleRegistry { - public ModuleRegistry(std::vector> modules, facebook::react::ModuleRegistry::ModuleNotFoundCallback callback = nullptr); - public facebook::react::MethodCallResult callSerializableNativeHook(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params); - public std::optional getConfig(const std::string& name); - public std::string getModuleName(unsigned int moduleId); - public std::string getModuleSyncMethodName(unsigned int moduleId, unsigned int methodId); - public std::vector moduleNames(); - public using ModuleNotFoundCallback = std::function; - public void callNativeMethod(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params, int callId); - public void registerModules(std::vector> modules); -} - -class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { - public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MountingCoordinator { - public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); - public bool hasPendingTransactions() const; - public bool waitForTransaction(std::chrono::duration timeout) const; - public const facebook::react::TelemetryController& getTelemetryController() const; - public facebook::react::ShadowTreeRevision getBaseRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional pullTransaction(bool willPerformAsynchronously = false) const; - public void didPerformAsyncTransactions() const; - public void setMountingOverrideDelegate(std::weak_ptr delegate) const; -} - -class facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const = 0; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; - public virtual ~MountingOverrideDelegate() = default; -} - -class facebook::react::MountingTransaction { - public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; - public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; - public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); - public const facebook::react::ShadowViewMutationList& getMutations() const; - public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; - public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; - public facebook::react::MountingTransaction::Number getNumber() const; - public facebook::react::ShadowViewMutationList getMutations(); - public facebook::react::SurfaceId getSurfaceId() const; - public facebook::react::TransactionTelemetry& getTelemetry() const; - public using Number = int64_t; - public void mergeWith(facebook::react::MountingTransaction&& transaction); -} - -class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { - public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MutationObserver { - public MutationObserver(const facebook::react::MutationObserver&) = delete; - public MutationObserver(facebook::react::MutationObserver&&) = default; - public MutationObserver(facebook::react::MutationObserverId mutationObserverId); - public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; - public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; - public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); - public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; -} - -class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { - public MutationObserverManager(); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); - public void disconnect(facebook::react::UIManager& uiManager); - public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); - public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); -} - -class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { - public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; - public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; - public bool commitProps(); - public bool hasManagedProps() const noexcept; - public bool isOnRenderThread() const noexcept; - public bool useSharedAnimatedBackend() const noexcept; - public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); - public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); - public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; - public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; - public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; - public std::optional getValue(facebook::react::Tag tag) noexcept; - public std::shared_ptr getEventEmitterListener() noexcept; - public using DirectManipulationCallback = std::function; - public using FabricCommitCallback = std::function&)>; - public using FrameRateListenerCallback = std::function; - public using ResolvePlatformColor = std::function; - public using StartOnRenderCallback = std::function&&, bool isAsync)>; - public using StopOnRenderCallback = std::function; - public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; - public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; - public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void dropAnimatedNode(facebook::react::Tag tag) noexcept; - public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); - public void flattenAnimatedNodeOffset(facebook::react::Tag tag); - public void flushAnimatedNodesCreatedAsync() noexcept; - public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); - public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; - public void onRender(); - public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; - public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; - public void restoreDefaultValues(facebook::react::Tag tag) noexcept; - public void scheduleOnUI(facebook::react::UiTask&& task); - public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; - public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); - public void setAnimatedNodeValue(facebook::react::Tag tag, double value); - public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; - public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; - public void startRenderCallbackIfNeeded(bool isAsync); - public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; - public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; - public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; - public ~NativeAnimatedNodesManager() noexcept; - template >> - public T* getAnimatedNode(facebook::react::Tag tag) const; -} - -class facebook::react::NativeAnimatedNodesManagerProvider { - public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); - public std::shared_ptr getEventEmitterListener(); - public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); - public void addEventEmitterListener(const std::shared_ptr& listener); -} - -class facebook::react::NativeCPUTime : public NativeCPUTimeCxxSpec { - public NativeCPUTime(std::shared_ptr jsInvoker); - public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); - public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); -} - -class facebook::react::NativeDOM : public NativeDOMCxxSpec { - public NativeDOM(std::shared_ptr jsInvoker); - public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); - public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); - public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); - public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); - public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); - public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); - public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); - public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); - public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); -} - -class facebook::react::NativeIdleCallbacks : public NativeIdleCallbacksCxxSpec { - public NativeIdleCallbacks(std::shared_ptr jsInvoker); - public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); - public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); -} - -class facebook::react::NativeIntersectionObserver : public NativeIntersectionObserverCxxSpec { - public NativeIntersectionObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeMethodCallInvoker { public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept = 0; public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) = 0; public virtual ~NativeMethodCallInvoker() = default; } -class facebook::react::NativeMicrotasks : public NativeMicrotasksCxxSpec { - public NativeMicrotasks(std::shared_ptr jsInvoker); - public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); -} - -class facebook::react::NativeModule { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& args) = 0; - public virtual folly::dynamic getConstants() = 0; - public virtual std::string getName() = 0; - public virtual std::string getSyncMethodName(unsigned int methodId) = 0; - public virtual std::vector getMethods() = 0; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) = 0; - public virtual ~NativeModule() = default; -} - -class facebook::react::NativeModulePerfLogger { - public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; - public virtual void asyncMethodCallBatchPreprocessStart() = 0; - public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; - public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual ~NativeModulePerfLogger() = default; -} - -class facebook::react::NativeMutationObserver : public NativeMutationObserverCxxSpec { - public NativeMutationObserver(std::shared_ptr jsInvoker); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); - public void disconnect(facebook::jsi::Runtime& runtime); - public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); - public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); -} - -class facebook::react::NativePerformance : public NativePerformanceCxxSpec { - public NativePerformance(std::shared_ptr jsInvoker); - public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); - public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); - public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); - public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); - public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); - public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); - public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); - public std::vector getEntries(facebook::jsi::Runtime& rt); - public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); - public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); - public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); - public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); - public std::vector> getEventCounts(facebook::jsi::Runtime& rt); - public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); - public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); - public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); - public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); - public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); -} - -class facebook::react::NativeResizeObserver : public NativeResizeObserverCxxSpec { - public NativeResizeObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeResizeObserverObserveOptions& options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::NativeResizeObserverNotifyCallback notifyResizeObserversFunction); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserve(facebook::jsi::Runtime& runtime, facebook::react::ResizeObserverObserverId resizeObserverId, facebook::jsi::Object targetToken); -} - -class facebook::react::NativeToJsBridge { - public NativeToJsBridge(facebook::react::JSExecutorFactory* jsExecutorFactory, std::shared_ptr registry, std::shared_ptr jsQueue, std::shared_ptr callback); - public bool isBatchActive(); - public bool isInspectable(); - public facebook::react::jsinspector_modern::RuntimeTargetDelegate& getInspectorTargetDelegate(); - public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker) const; - public virtual ~NativeToJsBridge(); - public void callFunction(std::string&& module, std::string&& method, folly::dynamic&& arguments); - public void destroy(); - public void handleMemoryPressure(int pressureLevel); - public void initializeRuntime(); - public void invokeCallback(double callbackId, folly::dynamic&& arguments); - public void loadBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); - public void loadBundleSync(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); - public void registerBundle(uint32_t bundleId, const std::string& bundlePath); - public void runOnExecutorQueue(std::function&& task) noexcept; - public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); - public void* getJavaScriptContext(); -} - class facebook::react::NativeViewTransition : public NativeViewTransitionCxxSpec { public NativeViewTransition(std::shared_ptr jsInvoker); public facebook::jsi::Value findPseudoElementShadowNodeByTag(facebook::jsi::Runtime& rt, double reactTag); @@ -2574,193 +963,6 @@ class facebook::react::NativeViewTransition : public NativeViewTransitionCxxSpec public void waitForTransitionAnimation(facebook::jsi::Runtime& rt, double animationId); } -class facebook::react::NetworkReporter { - public bool isDebuggingEnabled() const; - public static facebook::react::NetworkReporter& getInstance(); - public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); - public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); - public void reportRequestFailed(const std::string& requestId, bool cancelled) const; - public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); - public void reportResponseEnd(const std::string& requestId, int encodedDataLength); - public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); - public void reportWebSocketClosed(const std::string& requestId) const; - public void reportWebSocketCreated(const std::string& requestId, const std::string& url) const; - public void reportWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t statusCode, const facebook::react::Headers& headers) const; - public void reportWebSocketMessageReceived(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketMessageSent(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::Headers& headers) const; - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { - public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(std::string propKey, folly::dynamic& props); -} - -class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { - protected std::vector inputNodes_; - public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); -} - -class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { - public Float minimumFontScale; - public Float minimumFontSize; - public bool adjustsFontSizeToFit; - public bool includeFontPadding; - public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; - public facebook::react::EllipsizeMode ellipsizeMode; - public facebook::react::HyphenationFrequency android_hyphenationFrequency; - public facebook::react::TextBreakStrategy textBreakStrategy; - public facebook::react::TextWidthMode textWidthMode; - public int maximumNumberOfLines; - public std::optional textAlignVertical; -} - -class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; -} - -class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; - public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - -class facebook::react::ParagraphShadowNode::Content { - public facebook::react::AttributedString attributedString; - public facebook::react::BaseTextShadowNode::Attachments attachments; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::PerformanceEntryBuffer { - public PerformanceEntryBuffer() = default; - public facebook::react::HighResDuration durationThreshold; - public size_t droppedEntriesCount; - public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; - public virtual void clear() = 0; - public virtual void clear(const std::string& name) = 0; - public virtual void getEntries(std::vector& target) const = 0; - public virtual void getEntries(std::vector& target, const std::string& name) const = 0; - public virtual ~PerformanceEntryBuffer() = default; -} - -class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryCircularBuffer(size_t size); - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; - public ~PerformanceEntryCircularBuffer() override = default; -} - -class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryKeyedBuffer() = default; - public std::optional find(const std::string& name) const; - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; -} - -class facebook::react::PerformanceEntryReporter { - public PerformanceEntryReporter(); - public const std::unordered_map& getEventCounts() const; - public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); - public static std::shared_ptr& getInstance(); - public static std::vector getSupportedEntryTypes(); - public std::optional getMarkTime(const std::string& markName) const; - public std::vector getEntries() const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; - public using UserTimingDetailProvider = std::function; - public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void clearEntries(); - public void clearEntries(facebook::react::PerformanceEntryType entryType); - public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); - public void clearEventCounts(); - public void getEntries(std::vector& dest) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); - public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); - public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); -} - -class facebook::react::PerformanceEntryReporterEventListener { - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); - public virtual ~PerformanceEntryReporterEventListener() = default; -} - -class facebook::react::PerformanceObserver : public std::enable_shared_from_this { - public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public std::vector takeRecords(); - public uint32_t getDroppedEntriesCount() noexcept; - public void disconnect() noexcept; - public void handleEntry(const facebook::react::PerformanceEntry& entry); - public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); - public void observe(std::unordered_set types); - public ~PerformanceObserver() = default; -} - -class facebook::react::PerformanceObserverRegistry { - public PerformanceObserverRegistry() = default; - public void addObserver(std::shared_ptr observer); - public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); - public void removeObserver(std::shared_ptr observer); -} - -class facebook::react::PlatformTimerRegistry { - public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; - public virtual void createTimer(uint32_t timerID, double delayMS) = 0; - public virtual void deleteTimer(uint32_t timerID) = 0; - public virtual void quit(); - public virtual void setTimerManager(std::weak_ptr); - public virtual ~PlatformTimerRegistry() noexcept = default; -} - -class facebook::react::PointerEventsProcessor { - public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); - public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); - public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); -} - -class facebook::react::PointerHoverTracker { - public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); - public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; - public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; - public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; - public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; - public using EventPath = std::vector>; - public using Unique = std::unique_ptr; - public void markAsOld(); -} - -class facebook::react::PreparedTextCacheKey { - public Float pointScaleFactor; - public facebook::react::AttributedString attributedString; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { public Props() = default; public Props(const facebook::react::Props& other) = default; @@ -2772,31 +974,6 @@ class facebook::react::Props : public virtual facebook::react::Sealable, public public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { - public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::SurfaceId connectedRootTag() const; - public facebook::react::Tag connectedViewTag() const; - public folly::dynamic props(); - public virtual void update() override; - public void collectProps(); - public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); - public void connectToView(facebook::react::Tag viewTag); - public void disconnectFromShadowNodeFamily(); - public void disconnectFromView(facebook::react::Tag viewTag); - public void restoreDefaultValues(); - public void update(bool forceFabricCommit); -} - -class facebook::react::RAMBundleRegistry { - public RAMBundleRegistry(facebook::react::RAMBundleRegistry&&) = default; - public RAMBundleRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory = nullptr); - public facebook::react::JSModulesUnbundle::Module getModule(uint32_t bundleId, uint32_t moduleId); - public facebook::react::RAMBundleRegistry& operator=(facebook::react::RAMBundleRegistry&&) = default; - public static constexpr uint32_t MAIN_BUNDLE_ID; - public virtual ~RAMBundleRegistry() = default; - public void registerBundle(uint32_t bundleId, std::string bundlePath); -} - class facebook::react::RawProps { public RawProps(); public RawProps(const facebook::react::RawProps& other) noexcept; @@ -2835,15 +1012,6 @@ class facebook::react::RawPropsParser { public void prepare() noexcept; } -class facebook::react::RawTextProps : public facebook::react::Props { - public RawTextProps() = default; - public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public std::string text; -} - -class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { -} - class facebook::react::RawValue { public RawValue() noexcept; public RawValue(const folly::dynamic& dynamic) noexcept; @@ -2860,357 +1028,6 @@ class facebook::react::RawValue { public operator T() const; } -class facebook::react::ReactInstance { - public ReactInstance(const facebook::react::ReactInstance&) = delete; - public ReactInstance(facebook::react::ReactInstance&&) = delete; - public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); - public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; - public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; - public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; - public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; - public std::shared_ptr createJSCallInvoker() noexcept; - public std::shared_ptr getRuntimeScheduler() noexcept; - public using BindingsInstallFunc = std::function; - public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); - public void handleMemoryPressureJs(int pressureLevel); - public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; - public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); - public void registerSegment(uint32_t segmentId, const std::string& segmentPath); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~ReactInstance() noexcept override; -} - -struct facebook::react::ReactInstance::JSRuntimeFlags { - public bool isProfiling; - public const std::string runtimeDiagnosticFlags; -} - -class facebook::react::ReactPerfettoLogger { - public static bool isTracing(); - public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); - public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); -} - -class facebook::react::ResizeObserver { - public ResizeObserver(facebook::react::ResizeObserverObserverId resizeObserverId, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions, uint64_t observationSequence); - public bool hasDeliveredDetachedState() const; - public bool needsInitialDeliveryCheck() const; - public facebook::react::ResizeObservationResult computeActiveObservation(const facebook::react::RootShadowNode& rootShadowNode) const; - public facebook::react::ResizeObserverObserverId getResizeObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public uint64_t getObservationSequence() const; - public void markAsReported(const facebook::react::ResizeObservationResult& result); - public void updateDetachedState(bool detached); -} - -class facebook::react::ResizeObserverManager : public facebook::react::UIManagerCommitHook, public facebook::react::RuntimeSchedulerResizeObserverDelegate { - public ResizeObserverManager(); - public std::vector takeRecords(); - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyResizeObserversFunction); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions); - public void unobserve(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily); -} - -class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { - public RootProps() = default; - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; -} - -class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { - public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public bool layoutIfNeeded(std::vector* affectedNodes = {}); - public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using Shared = std::shared_ptr; - public using Unshared = std::shared_ptr; - public virtual facebook::react::Transform getTransform() const override; - public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; -} - -class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { - public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::RunLoopObserver { - protected const facebook::react::RunLoopObserver::Activity activities_; - protected const facebook::react::RunLoopObserver::WeakOwner owner_; - protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; - protected mutable std::atomic enabled_; - protected virtual void startObserving() const noexcept = 0; - protected virtual void stopObserving() const noexcept = 0; - protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; - public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; - public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; - public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; - public using Owner = std::shared_ptr; - public using WeakOwner = std::weak_ptr; - public virtual bool isOnRunLoopThread() const noexcept = 0; - public virtual ~RunLoopObserver() noexcept = default; - public void disable() const noexcept; - public void enable() const noexcept; - public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; -} - -class facebook::react::RunLoopObserver::Delegate { - public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; - public virtual ~Delegate() noexcept = default; -} - -enum facebook::react::RunLoopObserver::Activity : int32_t { - AfterWaiting, - BeforeWaiting, - None, -} - -class facebook::react::RuntimeScheduler : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; - public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); - public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; - public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; - public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeSchedulerBase : public facebook::hermes::IEventLoopControl { - public virtual bool getShouldYield() noexcept = 0; - public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; - public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; - public virtual void scheduleTask(const std::function& task) = 0; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) = 0; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; - public virtual ~RuntimeSchedulerBase() = default; -} - -class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { - public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); - public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public std::shared_ptr getRuntimeScheduler() noexcept; - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; -} - -class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { - public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - -class facebook::react::RuntimeSchedulerEventTimingDelegate { - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerEventTimingDelegate() = default; -} - -class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; -} - -class facebook::react::RuntimeSchedulerResizeObserverDelegate { - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) = 0; - public virtual ~RuntimeSchedulerResizeObserverDelegate() = default; -} - -class facebook::react::RuntimeScheduler_Legacy : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Legacy(const facebook::react::RuntimeScheduler_Legacy&) = delete; - public RuntimeScheduler_Legacy(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Legacy(facebook::react::RuntimeScheduler_Legacy&&) = delete; - public facebook::react::RuntimeScheduler_Legacy& operator=(const facebook::react::RuntimeScheduler_Legacy&) = delete; - public facebook::react::RuntimeScheduler_Legacy& operator=(facebook::react::RuntimeScheduler_Legacy&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; - public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { -} - -class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { -} - -class facebook::react::SafeAreaViewState { - public facebook::react::EdgeInsets padding; -} - -class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { - public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); - public facebook::react::SchedulerDelegate* getDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr getUIManager() const; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidClearPendingSnapshots() override; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) override; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; - public void addEventListener(std::shared_ptr listener); - public void animationTick() const; - public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void setDelegate(facebook::react::SchedulerDelegate* delegate); - public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public ~Scheduler() override; -} - -class facebook::react::SchedulerDelegate { - public virtual void schedulerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidClearPendingSnapshots() = 0; - public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; - public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void schedulerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~SchedulerDelegate() noexcept = default; -} - -class facebook::react::ScopedShadowTreeRevisionLock { - public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ~ScopedShadowTreeRevisionLock() noexcept; -} - -class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { - public using EndDragMetrics = facebook::react::ScrollEndDragEvent; - public using Metrics = facebook::react::ScrollEvent; - public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; - public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; - public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; -} - -class facebook::react::ScrollViewMaintainVisibleContentPosition { - public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; - public int minIndexForVisible; - public std::optional autoscrollToTopThreshold; -} - -class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); - public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; -} - -class facebook::react::ScrollViewState { - public ScrollViewState() = default; - public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); - public bool disableViewCulling; - public facebook::react::Point contentOffset; - public facebook::react::Rect contentBoundingRect; - public facebook::react::Size getContentSize() const; - public int scrollAwayPaddingTop; -} - class facebook::react::Sealable { public Sealable(); public Sealable(const facebook::react::Sealable& other); @@ -3223,17 +1040,6 @@ class facebook::react::Sealable { public ~Sealable() noexcept; } -class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { - public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static constexpr facebook::react::ComponentName Name(); - public static facebook::react::ComponentHandle Handle(); -} - class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { protected facebook::react::Props::Shared props_; protected facebook::react::ShadowNodeTraits traits_; @@ -3333,63 +1139,6 @@ enum facebook::react::ShadowNodeTraits::Trait : int32_t { ViewKind, } -class facebook::react::ShadowTree { - public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); - public bool promoteReactRevision() const; - public facebook::react::CommitMode getCommitMode() const; - public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::ShadowTreeRevision getCurrentRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional getCurrentReactRevision() const; - public std::shared_ptr getMountingCoordinator() const; - public using CommitMode = facebook::react::ShadowTreeCommitMode; - public using CommitOptions = facebook::react::ShadowTreeCommitOptions; - public using CommitSource = facebook::react::ShadowTreeCommitSource; - public using CommitStatus = facebook::react::ShadowTreeCommitStatus; - public using Unique = std::unique_ptr; - public void commitEmptyTree() const; - public void mergeReactRevision() const; - public void notifyDelegatesOfUpdates() const; - public void setCommitMode(facebook::react::CommitMode commitMode) const; - public ~ShadowTree(); -} - -class facebook::react::ShadowTreeDelegate { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) const; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; - public virtual ~ShadowTreeDelegate() noexcept = default; -} - -class facebook::react::ShadowTreeRegistry { - public ShadowTreeRegistry() = default; - public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; - public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; - public void add(std::unique_ptr&& shadowTree) const; - public void enumerate(const std::function& callback) const; - public ~ShadowTreeRegistry(); -} - -class facebook::react::ShadowTreeRevision { - public facebook::react::RootShadowNode::Shared rootShadowNode; - public facebook::react::ShadowTreeRevision::Number number; - public facebook::react::TransactionTelemetry telemetry; - public using Number = int64_t; -} - -class facebook::react::ShadowTreeRevisionConsistencyManager { - public virtual void lockRevisions() = 0; - public virtual void unlockRevisions() = 0; - public virtual ~ShadowTreeRevisionConsistencyManager() = default; -} - -class facebook::react::ShadowTreeRevisionProvider { - public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual ~ShadowTreeRevisionProvider() = default; -} - class facebook::react::SharedColor { public Color& operator*(); public SharedColor(); @@ -3401,15 +1150,6 @@ class facebook::react::SharedColor { public std::string toString() const noexcept; } -class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::StackTraceParser { - public static std::vector parse(bool isHermes, const std::string& stackString); -} - class facebook::react::State { protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); @@ -3433,234 +1173,6 @@ class facebook::react::StateUpdate { public using FailureCallback = std::function; } -class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { - public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool isLayoutStyleUpdated() const noexcept; - public void collectViewUpdates(folly::dynamic& props); -} - -class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::SurfaceHandler { - public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; - public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; - public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; - public facebook::react::DisplayMode getDisplayMode() const noexcept; - public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; - public facebook::react::LayoutContext getLayoutContext() const noexcept; - public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; - public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; - public facebook::react::SurfaceHandler::Status getStatus() const noexcept; - public facebook::react::SurfaceId getSurfaceId() const noexcept; - public folly::dynamic getProps() const noexcept; - public std::shared_ptr getMountingCoordinator() const noexcept; - public std::string getModuleName() const noexcept; - public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; - public virtual ~SurfaceHandler() noexcept; - public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public void setContextContainer(std::shared_ptr contextContainer) const noexcept; - public void setProps(const folly::dynamic& props) const noexcept; - public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; - public void start() const noexcept; - public void stop() const noexcept; -} - -enum facebook::react::SurfaceHandler::Status { - Registered, - Running, - Unregistered, -} - -class facebook::react::SurfaceManager { - public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; - public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; - public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; - public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; - public std::unordered_set getRunningSurfaces() const noexcept; - public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; - public void stopAllSurfaces() noexcept; - public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; - public ~SurfaceManager() noexcept; -} - -struct facebook::react::SurfaceManager::SurfaceProps { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; - public facebook::react::SurfaceId surfaceId; - public folly::dynamic props; - public std::string moduleName; -} - -class facebook::react::SurfaceTelemetry { - public facebook::react::TelemetryDuration getCommitTime() const; - public facebook::react::TelemetryDuration getDiffTime() const; - public facebook::react::TelemetryDuration getLayoutTime() const; - public facebook::react::TelemetryDuration getMountTime() const; - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public int getLastRevisionNumber() const; - public int getNumberOfMutations() const; - public int getNumberOfTextMeasurements() const; - public int getNumberOfTransactions() const; - public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; - public std::vector getRecentTransactionTelemetries() const; - public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); -} - -class facebook::react::SwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public SwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::SwitchShadowNode : public facebook::react::ConcreteViewShadowNode { - public SwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; -} - -class facebook::react::TaskPriorityComparer { - public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); -} - -class facebook::react::TelemetryController { - public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; -} - -class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { - public Float fontSize; - public Float fontSizeMultiplier; - public Float letterSpacing; - public Float lineHeight; - public Float maxFontSizeMultiplier; - public Float opacity; - public Float textShadowRadius; - public bool operator==(const facebook::react::TextAttributes& rhs) const; - public facebook::react::SharedColor backgroundColor; - public facebook::react::SharedColor foregroundColor; - public facebook::react::SharedColor textDecorationColor; - public facebook::react::SharedColor textShadowColor; - public static facebook::react::TextAttributes defaultTextAttributes(); - public std::optional allowFontScaling; - public std::optional isHighlighted; - public std::optional isPressable; - public std::optional accessibilityRole; - public std::optional dynamicTypeRamp; - public std::optional fontStyle; - public std::optional fontVariant; - public std::optional fontWeight; - public std::optional layoutDirection; - public std::optional lineBreakMode; - public std::optional lineBreakStrategy; - public std::optional role; - public std::optional textShadowOffset; - public std::optional alignment; - public std::optional textDecorationLineType; - public std::optional textDecorationStyle; - public std::optional textTransform; - public std::optional baseWritingDirection; - public std::optional fontVariationSettings; - public std::string fontFamily; - public std::vector textEffects; - public void apply(facebook::react::TextAttributes textAttributes); -} - -class facebook::react::TextEffectProps : public facebook::react::Props { - public TextEffectProps() = default; - public TextEffectProps(const facebook::react::PropsParserContext& context, const facebook::react::TextEffectProps& sourceProps, const facebook::react::RawProps& rawProps); - public folly::dynamic effectProps; - public std::string effectName; -} - -class facebook::react::TextEffectShadowNode : public facebook::react::ConcreteShadowNode { -} - -class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; - public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; -} - -struct facebook::react::TextInputEventEmitter::KeyPressMetrics { - public int eventCount; - public std::string text; -} - -struct facebook::react::TextInputEventEmitter::Metrics { - public Float zoomScale; - public bool responderIgnoreScroll; - public facebook::react::AttributedString::Range selectionRange; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public facebook::react::Size layoutMeasurement; - public facebook::react::Tag target; - public int eventCount; - public std::string text; -} - -class facebook::react::TextInputState { - public TextInputState() = default; - public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); - public facebook::react::AttributedString reactTreeAttributedString; - public facebook::react::AttributedStringBox attributedStringBox; - public facebook::react::ParagraphAttributes paragraphAttributes; - public int64_t mostRecentEventCount; -} - -class facebook::react::TextMeasureCacheKey { - public Float pointScaleFactor; - public facebook::react::AttributedString attributedString; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::TextMeasurement { - public facebook::react::Size size; - public facebook::react::TextMeasurement::Attachments attachments; - public using Attachments = std::vector; -} - -class facebook::react::TextMeasurement::Attachment { - public bool isClipped; - public facebook::react::Rect frame; -} - -class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { - public TextProps() = default; - public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::TimerManager { - public TimerManager(const facebook::react::TimerManager&) = delete; - public TimerManager(facebook::react::TimerManager&&) = delete; - public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; - public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; - public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; - public void attachGlobals(facebook::jsi::Runtime& runtime); - public void callTimer(facebook::react::TimerHandle handle); - public void quit(); - public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; - public ~TimerManager() noexcept; -} - class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); public void onClick(facebook::react::PointerEvent event) const; @@ -3680,48 +1192,6 @@ class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter public void onTouchStart(facebook::react::TouchEvent event) const; } -class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { - public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::TransactionTelemetry { - public TransactionTelemetry(); - public TransactionTelemetry(std::function now); - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public facebook::react::TelemetryTimePoint getCommitEndTime() const; - public facebook::react::TelemetryTimePoint getCommitStartTime() const; - public facebook::react::TelemetryTimePoint getDiffEndTime() const; - public facebook::react::TelemetryTimePoint getDiffStartTime() const; - public facebook::react::TelemetryTimePoint getLayoutEndTime() const; - public facebook::react::TelemetryTimePoint getLayoutStartTime() const; - public facebook::react::TelemetryTimePoint getMountEndTime() const; - public facebook::react::TelemetryTimePoint getMountStartTime() const; - public int getAffectedLayoutNodesCount() const; - public int getNumberOfTextMeasurements() const; - public int getRevisionNumber() const; - public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); - public void didCommit(); - public void didDiff(); - public void didLayout(); - public void didLayout(int affectedLayoutNodesCount); - public void didMeasureText(); - public void didMount(); - public void setAsThreadLocal(); - public void setRevisionNumber(int revisionNumber); - public void unsetAsThreadLocal(); - public void willCommit(); - public void willDiff(); - public void willLayout(); - public void willMeasureText(); - public void willMount(); -} - -class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { - public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(folly::dynamic& props); -} - class facebook::react::TurboModule : public facebook::jsi::HostObject { protected const std::string name_; protected std::shared_ptr jsInvoker_; @@ -3752,184 +1222,6 @@ class facebook::react::TurboModuleWithJSIBindings { public virtual ~TurboModuleWithJSIBindings() = default; } -class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { - public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); - public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; - public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; - public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; - public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); - public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); - public facebook::react::UIManagerDelegate* getDelegate(); - public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; - public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; - public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; - public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) const noexcept override; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; - public void addEventListener(std::shared_ptr listener); - public void addOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); - public void animationTick() const; - public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; - public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); - public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; - public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); - public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); - public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); - public void setDelegate(facebook::react::UIManagerDelegate* delegate); - public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; - public void setNativeAnimatedDelegate(std::weak_ptr delegate); - public void setSurfaceProps(facebook::react::SurfaceId surfaceId, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); - public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; - public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; - public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); - public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); - public void updateShadowTree(std::unordered_map&& tagToProps); - public void updateState(const facebook::react::StateUpdate& stateUpdate) const; - public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; - public ~UIManager() override; -} - -class facebook::react::UIManagerAnimationBackend { - public using Callback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) = 0; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; - public virtual void stop(facebook::react::CallbackId callbackId) = 0; - public virtual void trigger() = 0; - public virtual ~UIManagerAnimationBackend() = default; -} - -class facebook::react::UIManagerAnimationDelegate { - public virtual bool shouldAnimateFrame() const = 0; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; - public virtual ~UIManagerAnimationDelegate() = default; -} - -class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { - public UIManagerBinding(std::shared_ptr uiManager); - public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); - public facebook::react::UIManager& getUIManager(); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; - public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; - public void invalidate() const; - public ~UIManagerBinding() override; -} - -class facebook::react::UIManagerCommitHook { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) noexcept; - public virtual ~UIManagerCommitHook() noexcept = default; -} - -class facebook::react::UIManagerDelegate { - public using OnSurfaceStartCallback = std::function; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidClearPendingSnapshots() = 0; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~UIManagerDelegate() noexcept = default; -} - -class facebook::react::UIManagerMountHook { - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; - public virtual ~UIManagerMountHook() noexcept = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegate { - public virtual void runAnimationFrame() = 0; - public virtual ~UIManagerNativeAnimatedDelegate() = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { - public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); - public virtual void runAnimationFrame() override; -} - -class facebook::react::UIManagerViewTransitionDelegate { - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag) const; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); - public virtual void createViewTransitionInstance(const std::string&, facebook::react::Tag); - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); - public virtual void startViewTransitionEnd(); - public virtual void startViewTransitionReadyFinished(); - public virtual void suspendOnActiveViewTransition(); - public virtual void transitionAnimationFinished(int animationId); - public virtual void waitForTransitionAnimation(int animationId); - public virtual ~UIManagerViewTransitionDelegate() = default; -} - -struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { - public Float height; - public Float width; - public Float x; - public Float y; - public facebook::react::Tag nativeTag; -} - -class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::ComponentHandle getComponentHandle() const override; - public virtual facebook::react::ComponentName getComponentName() const override; - public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; -} - -class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { - public facebook::react::ComponentName getComponentName() const; - public void setComponentName(facebook::react::ComponentName componentName); -} - -class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { - protected bool isColorValue_; - public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool getIsColorValue() const noexcept; - public bool setOffset(double offset) noexcept; - public bool setRawValue(double value) noexcept; - public double getOffset() const noexcept; - public double getRawValue() const noexcept; - public double getValue() const noexcept; - public void extractOffset() noexcept; - public void flattenOffset() noexcept; - public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; -} - class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { public ValueFactoryEventPayload(facebook::react::ValueFactory factory); public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; @@ -3945,54 +1237,6 @@ class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShad public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); } -class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate, public facebook::react::UIManagerCommitHook, public facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const override; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag tag) const override; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void createViewTransitionInstance(const std::string& name, facebook::react::Tag pseudoElementTag) override; - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; - public virtual void startViewTransitionEnd() override; - public virtual void startViewTransitionReadyFinished() override; - public virtual void suspendOnActiveViewTransition() override; - public virtual void transitionAnimationFinished(int animationId) override; - public virtual void waitForTransitionAnimation(int animationId) override; - public void initialize(facebook::react::UIManager* uiManager, std::weak_ptr weakThis); - public ~ViewTransitionModule() override; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; - public uint32_t transitionId; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { - public Float pointScaleFactor; - public facebook::react::Point originFromRoot; - public facebook::react::Size size; -} - -class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::WeakFamilyRegistry { - public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; - public using WeakFamilies = std::vector; - public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; - public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; -} - class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { protected facebook::yoga::Config yogaConfig_; protected mutable facebook::yoga::Node yogaNode_; @@ -4111,54 +1355,6 @@ enum facebook::react::AccessibilityTraits : uint32_t { UpdatesFrequently, } -enum facebook::react::AnimatedNodeType { - Addition, - Color, - Diffclamp, - Division, - Interpolation, - Modulus, - Multiplication, - Object, - Props, - Round, - Style, - Subtraction, - Tracking, - Transform, - Value, -} - -enum facebook::react::AnimationConfigurationType { - Create, - Delete, - Update, -} - -enum facebook::react::AnimationDriverType { - Decay, - Frames, - Spring, -} - -enum facebook::react::AnimationProperty { - NotApplicable, - Opacity, - ScaleX, - ScaleXY, - ScaleY, -} - -enum facebook::react::AnimationType { - EaseIn, - EaseInEaseOut, - EaseOut, - Keyboard, - Linear, - None, - Spring, -} - enum facebook::react::BackfaceVisibility : uint8_t { Auto, Hidden, @@ -4208,294 +1404,11 @@ enum facebook::react::BorderStyle : uint8_t { Solid, } -enum facebook::react::CSSAngleUnit : uint8_t { - Deg, - Grad, - Rad, - Turn, -} - -enum facebook::react::CSSDelimiter { - Comma, - CommaOrWhitespace, - None, - OptionalWhitespace, - Solidus, - SolidusOrWhitespace, - Whitespace, -} - -enum facebook::react::CSSFontVariant : std::underlying_type_t { - CommonLigatures, - Contextual, - DiscretionaryLigatures, - HistoricalLigatures, - LiningNums, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { - At, -} - -enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { - Bottom, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { - To, -} - -enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { - Inset, -} - -enum facebook::react::CSSKeyword : uint8_t { - Absolute, - At, - Auto, - Baseline, - Block, - Bottom, - Center, - Clip, - Column, - ColumnReverse, - CommonLigatures, - Content, - Contents, - Contextual, - Dashed, - DiscretionaryLigatures, - Dotted, - Double, - End, - Fixed, - Flex, - FlexEnd, - FlexStart, - Grid, - Groove, - Hidden, - HistoricalLigatures, - Inherit, - Initial, - Inline, - InlineBlock, - InlineFlex, - InlineGrid, - Inset, - Left, - LiningNums, - Ltr, - MaxContent, - Medium, - MinContent, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - NoWrap, - None, - Normal, - OldstyleNums, - Outset, - ProportionalNums, - Relative, - Ridge, - Right, - Row, - RowReverse, - Rtl, - Scroll, - SmallCaps, - Solid, - SpaceAround, - SpaceBetween, - SpaceEvenly, - Start, - Static, - Sticky, - Stretch, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, - Thick, - Thin, - To, - Top, - Unset, - Visible, - Wrap, - WrapReverse, -} - -enum facebook::react::CSSLengthUnit : uint8_t { - Cap, - Ch, - Cm, - Dvb, - Dvh, - Dvi, - Dvmax, - Dvmin, - Dvw, - Em, - Ex, - Ic, - In, - Lh, - Lvb, - Lvh, - Lvi, - Lvmax, - Lvmin, - Lvw, - Mm, - Pc, - Pt, - Px, - Q, - Rcap, - Rch, - Rem, - Rex, - Ric, - Rlh, - Svb, - Svh, - Svi, - Svmax, - Svmin, - Svw, - Vb, - Vh, - Vi, - Vmax, - Vmin, - Vw, -} - -enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { - ToBottomLeft, - ToBottomRight, - ToTopLeft, - ToTopRight, -} - -enum facebook::react::CSSRadialGradientShape : uint8_t { - Circle, - Ellipse, -} - -enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { - ClosestCorner, - ClosestSide, - FarthestCorner, - FarthestSide, -} - -enum facebook::react::CSSTokenType { - CloseCurly, - CloseParen, - CloseSquare, - Comma, - Delim, - Dimension, - EndOfFile, - Function, - Hash, - Ident, - Number, - OpenCurly, - OpenParen, - OpenSquare, - Percentage, - WhiteSpace, -} - -enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSWideKeyword : std::underlying_type_t { - Inherit, - Initial, - Unset, -} - enum facebook::react::ColorSpace { DisplayP3, sRGB, } -enum facebook::react::ContentInsetAdjustmentBehavior { - Always, - Automatic, - Never, - ScrollableAxes, -} - enum facebook::react::Cursor : uint8_t { Alias, AllScroll, @@ -4548,27 +1461,6 @@ enum facebook::react::DisplayType { None, } -enum facebook::react::DynamicTypeRamp : uint8_t { - Body, - Callout, - Caption1, - Caption2, - Footnote, - Headline, - LargeTitle, - Subheadline, - Title1, - Title2, - Title3, -} - -enum facebook::react::EllipsizeMode { - Clip, - Head, - Middle, - Tail, -} - enum facebook::react::EventPayloadType { PointerEvent, ScrollEvent, @@ -4588,63 +1480,6 @@ enum facebook::react::FilterType { Sepia, } -enum facebook::react::FontStyle : uint8_t { - Italic, - Normal, - Oblique, -} - -enum facebook::react::FontVariant : int { - Default, - LiningNums, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::FontWeight : uint16_t { - Black, - Bold, - Demibold, - Heavy, - Light, - Medium, - Regular, - Semibold, - Thin, - UltraLight, - Weight100, - Weight200, - Weight300, - Weight400, - Weight500, - Weight600, - Weight700, - Weight800, - Weight900, -} - enum facebook::react::GradientDirectionType { Angle, Keyword, @@ -4657,12 +1492,6 @@ enum facebook::react::GradientKeyword : uint8_t { ToTopRight, } -enum facebook::react::HyphenationFrequency { - Full, - None, - Normal, -} - enum facebook::react::ImageResizeMode : int8_t { Center, Contain, @@ -4695,22 +1524,6 @@ enum facebook::react::LayoutDirection { Undefined, } -enum facebook::react::LineBreakMode : uint8_t { - Char, - Clip, - Head, - Middle, - Tail, - Word, -} - -enum facebook::react::LineBreakStrategy : uint8_t { - HangulWordPriority, - None, - PushOut, - Standard, -} - enum facebook::react::NullValueStrategy { Ignore, Override, @@ -4722,15 +1535,6 @@ enum facebook::react::OutlineStyle : uint8_t { Solid, } -enum facebook::react::PerformanceEntryType { - EVENT, - LONGTASK, - MARK, - MEASURE, - RESOURCE, - _NEXT, -} - enum facebook::react::PointerEventsMode : uint8_t { Auto, BoxNone, @@ -4744,61 +1548,6 @@ enum facebook::react::PositionType { Static, } -enum facebook::react::PropName { - ALIGN_CONTENT, - ALIGN_ITEMS, - ALIGN_SELF, - ASPECT_RATIO, - BACKFACE_VISIBILITY, - BACKGROUND_COLOR, - BORDER_COLOR, - BORDER_CURVES, - BORDER_RADII, - BORDER_STYLES, - BORDER_WIDTH, - BOX_SHADOW, - BOX_SIZING, - COLUMN_GAP, - CURSOR, - DIRECTION, - DISPLAY, - FILTER, - FLEX, - FLEX_BASIS, - FLEX_DIRECTION, - FLEX_GROW, - FLEX_SHRINK, - FLEX_WRAP, - HEIGHT, - ISOLATION, - JUSTIFY_CONTENT, - MARGIN, - MAX_HEIGHT, - MAX_WIDTH, - MIN_HEIGHT, - MIN_WIDTH, - MIX_BLEND_MODE, - OPACITY, - OUTLINE_COLOR, - OUTLINE_OFFSET, - OUTLINE_STYLE, - OUTLINE_WIDTH, - PADDING, - POINTER_EVENTS, - POSITION, - POSITION_TYPE, - ROW_GAP, - SHADOW_COLOR, - SHADOW_OFFSET, - SHADOW_OPACITY, - SHADOW_RADIUS, - STYLE_OVERFLOW, - TRANSFORM, - TRANSFORM_ORIGIN, - WIDTH, - Z_INDEX, -} - enum facebook::react::RadialGradientShape { Circle, Ellipse, @@ -4811,12 +1560,6 @@ enum facebook::react::ReactEventPriority { Idle, } -enum facebook::react::ResizeObserverBoxOptions { - BorderBox, - ContentBox, - DevicePixelContentBox, -} - enum facebook::react::Role : uint8_t { Alert, Alertdialog, @@ -4898,107 +1641,6 @@ enum facebook::react::ScriptTag { String, } -enum facebook::react::ScrollViewIndicatorStyle { - Black, - Default, - White, -} - -enum facebook::react::ScrollViewKeyboardDismissMode { - Interactive, - None, - OnDrag, -} - -enum facebook::react::ScrollViewSnapToAlignment { - Center, - End, - Start, -} - -enum facebook::react::ShadowTreeCommitMode { - Normal, - Suspended, -} - -enum facebook::react::ShadowTreeCommitSource { - AnimationEndSync, - React, - ReactRevisionMerge, - Unknown, -} - -enum facebook::react::ShadowTreeCommitStatus { - Cancelled, - Failed, - Succeeded, -} - -enum facebook::react::SubmitBehavior { - BlurAndSubmit, - Default, - Newline, - Submit, -} - -enum facebook::react::TextAlignment : uint8_t { - Center, - End, - Justified, - Left, - Natural, - Right, - Start, -} - -enum facebook::react::TextAlignmentVertical { - Auto, - Bottom, - Center, - Top, -} - -enum facebook::react::TextBreakStrategy { - Balanced, - HighQuality, - Simple, -} - -enum facebook::react::TextDecorationLineType : uint8_t { - None, - Strikethrough, - Underline, - UnderlineStrikethrough, -} - -enum facebook::react::TextDecorationStyle : uint8_t { - Dashed, - Dotted, - Double, - Solid, - Wavy, -} - -enum facebook::react::TextTransform : uint8_t { - Capitalize, - Lowercase, - None, - Unset, - Uppercase, -} - -enum facebook::react::TextWidthMode { - Auto, - LongestLine, -} - -enum facebook::react::TimerSource { - RequestAnimationFrame, - SetInterval, - SetTimeout, - Unknown, -} - enum facebook::react::TransformOperationType : uint8_t { Arbitrary, Identity, @@ -5027,18 +1669,6 @@ enum facebook::react::UnitType { Undefined, } -enum facebook::react::WritingDirection : uint8_t { - LeftToRight, - Natural, - RightToLeft, -} - -struct facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public std::string name; -} - struct facebook::react::AccessibilityAction { public std::optional label; public std::string name; @@ -5070,123 +1700,13 @@ struct facebook::react::AccessibilityValue { public std::optional text; } -struct facebook::react::ActivePointer { - public bool shouldLeaveWhenReleased; - public facebook::react::PointerEvent event; -} - -struct facebook::react::AnimatedPropBase { - public AnimatedPropBase(facebook::react::PropName propName); - public facebook::react::PropName propName; - public virtual ~AnimatedPropBase() = default; -} - -struct facebook::react::AnimatedProps { - public std::unique_ptr rawProps; - public std::vector> props; -} - -struct facebook::react::AnimatedPropsBuilder { - public facebook::react::AnimatedProps get(); - public std::unique_ptr rawProps; - public std::vector> props; - public void setAlignContent(facebook::yoga::Align value); - public void setAlignItems(facebook::yoga::Align value); - public void setAlignSelf(facebook::yoga::Align value); - public void setAspectRatio(facebook::yoga::FloatOptional value); - public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); - public void setBackgroundColor(facebook::react::SharedColor value); - public void setBorderColor(facebook::react::CascadedBorderColors& value); - public void setBorderCurves(facebook::react::CascadedBorderCurves& value); - public void setBorderRadii(facebook::react::CascadedBorderRadii& value); - public void setBorderStyles(facebook::react::CascadedBorderStyles& value); - public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); - public void setBoxShadow(const std::vector& value); - public void setBoxSizing(facebook::yoga::BoxSizing value); - public void setColumnGap(facebook::yoga::Style::Length value); - public void setCursor(facebook::react::Cursor value); - public void setDirection(facebook::yoga::Direction value); - public void setDisplay(facebook::yoga::Display value); - public void setFilter(const std::vector& value); - public void setFlex(facebook::yoga::FloatOptional value); - public void setFlexBasis(facebook::yoga::Style::SizeLength value); - public void setFlexDirection(facebook::yoga::FlexDirection value); - public void setFlexGrow(facebook::yoga::FloatOptional value); - public void setFlexShrink(facebook::yoga::FloatOptional value); - public void setFlexWrap(facebook::yoga::Wrap value); - public void setHeight(facebook::yoga::Style::SizeLength value); - public void setIsolation(facebook::react::Isolation value); - public void setJustifyContent(facebook::yoga::Justify value); - public void setMargin(facebook::react::CascadedRectangleEdges& value); - public void setMaxHeight(facebook::yoga::Style::SizeLength value); - public void setMaxWidth(facebook::yoga::Style::SizeLength value); - public void setMinHeight(facebook::yoga::Style::SizeLength value); - public void setMinWidth(facebook::yoga::Style::SizeLength value); - public void setMixBlendMode(facebook::react::BlendMode value); - public void setOpacity(Float value); - public void setOutlineColor(facebook::react::SharedColor value); - public void setOutlineOffset(Float value); - public void setOutlineStyle(facebook::react::OutlineStyle value); - public void setOutlineWidth(Float value); - public void setOverflow(facebook::yoga::Overflow value); - public void setPadding(facebook::react::CascadedRectangleEdges& value); - public void setPointerEvents(facebook::react::PointerEventsMode value); - public void setPosition(facebook::react::CascadedRectangleEdges& value); - public void setPositionType(facebook::yoga::PositionType value); - public void setRowGap(facebook::yoga::Style::Length value); - public void setShadowColor(facebook::react::SharedColor value); - public void setShadowOffset(facebook::react::Size value); - public void setShadowOpacity(Float value); - public void setShadowRadius(Float value); - public void setTransform(const facebook::react::Transform& t); - public void setTransformOrigin(const facebook::react::TransformOrigin& value); - public void setWidth(facebook::yoga::Style::SizeLength value); - public void setZIndex(std::optional value); - public void storeDynamic(folly::dynamic& d); - public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); -} - -struct facebook::react::AnimationConfig { - public Float initialVelocity; - public Float springDamping; - public double delay; - public double duration; - public facebook::react::AnimationProperty animationProperty; - public facebook::react::AnimationType animationType; -} - -struct facebook::react::AnimationKeyFrame { - public bool generateFinalSyntheticMutations; - public bool invalidated; - public double initialProgress; - public facebook::react::AnimationConfigurationType type; - public facebook::react::ShadowView viewEnd; - public facebook::react::ShadowView viewPrev; - public facebook::react::ShadowView viewStart; - public facebook::react::Tag parentTag; - public facebook::react::Tag tag; - public std::vector finalMutationsForKeyFrame; -} - -struct facebook::react::AnimationMutation { - public bool hasLayoutUpdates; - public facebook::react::AnimatedProps props; - public facebook::react::Tag tag; - public std::shared_ptr family; -} - -struct facebook::react::AnimationMutations { - public std::set asyncFlushSurfaces; - public std::vector batch; -} - -struct facebook::react::BackgroundPosition { - public BackgroundPosition(); - public bool operator==(const facebook::react::BackgroundPosition& other) const = default; - public std::optional bottom; - public std::optional left; - public std::optional right; - public std::optional top; +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; } struct facebook::react::BackgroundRepeat { @@ -5275,13 +1795,6 @@ struct facebook::react::Bridging { public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); } -struct facebook::react::BufferEvent { - public std::string name; - public std::string track; - public uint64_t end; - public uint64_t start; -} - struct facebook::react::BundleHeader { public BundleHeader(); public facebook::react::Magic32 magic32; @@ -5289,286 +1802,6 @@ struct facebook::react::BundleHeader { public uint64_t magic64; } -struct facebook::react::CSSAngle { - public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSBlurFilter { - public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; - public facebook::react::CSSLength amount; -} - -struct facebook::react::CSSBrightnessFilter { - public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSColor { - public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; - public static constexpr facebook::react::CSSColor black(); - public uint8_t a; - public uint8_t b; - public uint8_t g; - public uint8_t r; -} - -struct facebook::react::CSSColorHint { - public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; - public std::variant position; -} - -struct facebook::react::CSSColorStop { - public bool operator==(const facebook::react::CSSColorStop& rhs) const; - public facebook::react::CSSColor color; - public std::optional> endPosition; - public std::optional> startPosition; -} - -struct facebook::react::CSSContrastFilter { - public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSDropShadowFilter { - public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength standardDeviation; -} - -struct facebook::react::CSSFunctionBlock { - public std::string_view name; -} - -struct facebook::react::CSSGrayscaleFilter { - public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSHueRotateFilter { - public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSInvertFilter { - public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSLength { - public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; - public facebook::react::CSSLengthUnit unit; - public float value; -} - -struct facebook::react::CSSLinearGradientDirection { - public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSLinearGradientFunction { - public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; - public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); - public std::optional direction; - public std::vector> items; -} - -struct facebook::react::CSSMatrix { - public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; - public std::array values; -} - -struct facebook::react::CSSNumber { - public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; - public float value; -} - -struct facebook::react::CSSOpacityFilter { - public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSPercentage { - public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; - public float value; -} - -struct facebook::react::CSSPerspective { - public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; - public facebook::react::CSSLength length; -} - -struct facebook::react::CSSRadialGradientExplicitSize { - public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; - public std::variant sizeX; - public std::variant sizeY; -} - -struct facebook::react::CSSRadialGradientFunction { - public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; - public std::optional position; - public std::optional shape; - public std::optional size; - public std::vector> items; -} - -struct facebook::react::CSSRadialGradientPosition { - public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; - public std::optional> bottom; - public std::optional> left; - public std::optional> right; - public std::optional> top; -} - -struct facebook::react::CSSRatio { - public constexpr bool isDegenerate() const; - public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; - public float denominator; - public float numerator; -} - -struct facebook::react::CSSRotate { - public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateX { - public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateY { - public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateZ { - public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSaturateFilter { - public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSScale { - public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; - public float x; - public float y; -} - -struct facebook::react::CSSScaleX { - public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; - public float value; -} - -struct facebook::react::CSSScaleY { - public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; - public float value; -} - -struct facebook::react::CSSSepiaFilter { - public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSShadow { - public bool inset; - public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength blurRadius; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength spreadDistance; -} - -struct facebook::react::CSSSimpleBlock { - public facebook::react::CSSTokenType openBracketType; -} - -struct facebook::react::CSSSkewX { - public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSkewY { - public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSTransformOrigin { - public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate3D { - public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate { - public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslateX { - public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSTranslateY { - public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSZero { - public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; -} - -struct facebook::react::CallbackWithId { - public facebook::react::Callback callback; - public facebook::react::CallbackId callbackId; -} - -struct facebook::react::CascadedRectangleCornersNames { - public const char* all; - public const char* bottomEnd; - public const char* bottomLeft; - public const char* bottomRight; - public const char* bottomStart; - public const char* endEnd; - public const char* endStart; - public const char* startEnd; - public const char* startStart; - public const char* topEnd; - public const char* topLeft; - public const char* topRight; - public const char* topStart; -} - -struct facebook::react::CascadedRectangleEdgesNames { - public const char* all; - public const char* block; - public const char* blockEnd; - public const char* blockStart; - public const char* bottom; - public const char* end; - public const char* horizontal; - public const char* left; - public const char* right; - public const char* start; - public const char* top; - public const char* vertical; -} - struct facebook::react::ColorComponents { public facebook::react::ColorSpace colorSpace; public float alpha; @@ -5589,21 +1822,9 @@ struct facebook::react::CornerRadii { public float vertical; } -struct facebook::react::CullingContext { - public bool operator==(const facebook::react::CullingContext& rhs) const = default; - public bool shouldConsiderCulling() const; - public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; - public facebook::react::Rect frame; - public facebook::react::Transform transform; -} - struct facebook::react::DebugStringConvertibleOptions { } -struct facebook::react::DefaultTurboModules { - public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); -} - struct facebook::react::DropShadowParams { public Float offsetX; public Float offsetY; @@ -5612,11 +1833,6 @@ struct facebook::react::DropShadowParams { public facebook::react::SharedColor color; } -struct facebook::react::DummyTraceSection { - template - public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); -} - struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { protected folly::dynamic payload_; public DynamicEventPayload(folly::dynamic&& payload); @@ -5631,12 +1847,6 @@ struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEve public const std::optional>& getHitPathForEventListener() const; } -struct facebook::react::EventAnimationDriverKey { - public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; - public facebook::react::Tag viewTag; - public std::string eventName; -} - struct facebook::react::EventPayload { public EventPayload() = default; public EventPayload(const facebook::react::EventPayload&) = default; @@ -5655,50 +1865,6 @@ struct facebook::react::FilterFunction { public std::variant parameters; } -struct facebook::react::InspectorData { - public folly::dynamic props; - public int columnNumber; - public int lineNumber; - public int selectedIndex; - public std::string fileName; - public std::vector hierarchy; -} - -struct facebook::react::InstanceCallback { - public virtual void decrementPendingJSCalls(); - public virtual void incrementPendingJSCalls(); - public virtual void onBatchComplete(); - public virtual ~InstanceCallback() = default; -} - -struct facebook::react::IntersectionObserverEntry { - public bool isIntersectingAboveThresholds; - public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; - public facebook::react::HighResTimeStamp time; - public facebook::react::IntersectionObserverObserverId intersectionObserverId; - public facebook::react::Rect intersectionRect; - public facebook::react::Rect rootRect; - public facebook::react::Rect targetRect; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; -} - -struct facebook::react::LayoutAnimation { - public bool completed; - public facebook::react::LayoutAnimationCallbackWrapper failureCallback; - public facebook::react::LayoutAnimationCallbackWrapper successCallback; - public facebook::react::LayoutAnimationConfig layoutAnimationConfig; - public facebook::react::SurfaceId surfaceId; - public std::vector keyFrames; - public uint64_t startTime; -} - -struct facebook::react::LayoutAnimationConfig { - public double duration; - public facebook::react::AnimationConfig createConfig; - public facebook::react::AnimationConfig deleteConfig; - public facebook::react::AnimationConfig updateConfig; -} - struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { public LayoutConformanceProps() = default; public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -5738,19 +1904,6 @@ struct facebook::react::LayoutMetrics { public facebook::react::Rect getPaddingFrame() const; } -struct facebook::react::LineMeasurement { - public Float ascender; - public Float capHeight; - public Float descender; - public Float xHeight; - public LineMeasurement(const folly::dynamic& data); - public LineMeasurement(std::string text, facebook::react::Rect frame, Float descender, Float capHeight, Float ascender, Float xHeight); - public bool operator==(const facebook::react::LineMeasurement& rhs) const; - public facebook::react::Rect frame; - public static Float baseline(const std::vector& lines); - public std::string text; -} - struct facebook::react::LinearGradient { public bool operator==(const facebook::react::LinearGradient& other) const = default; public facebook::react::GradientDirection direction; @@ -5762,110 +1915,6 @@ struct facebook::react::Magic32 { public uint32_t value; } -struct facebook::react::MarginValue { - public Float value; - public bool isPercentage; -} - -struct facebook::react::MeasuredPreparedTextLayout { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::TextMeasurement measurement; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; -} - -struct facebook::react::MethodCall { - public MethodCall(int mod, int meth, folly::dynamic&& args, int cid); - public folly::dynamic arguments; - public int callId; - public int methodId; - public int moduleId; -} - -struct facebook::react::MethodDescriptor { - public MethodDescriptor(std::string n, std::string t); - public std::string name; - public std::string type; -} - -struct facebook::react::ModuleConfig { - public folly::dynamic config; - public size_t index; -} - -struct facebook::react::MutationRecord { - public facebook::react::MutationObserverId mutationObserverId; - public std::shared_ptr targetShadowNode; - public std::vector> addedShadowNodes; - public std::vector> removedShadowNodes; -} - -struct facebook::react::NativePerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional fetchStart; - public std::optional processingEnd; - public std::optional processingStart; - public std::optional requestStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::optional interactionId; - public std::optional decodedBodySize; - public std::optional encodedBodySize; - public std::optional responseStatus; - public std::optional contentType; - public std::string name; -} - -struct facebook::react::PerformanceEntrySorter { - public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs) const; -} - -struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp processingEnd; - public facebook::react::HighResTimeStamp processingStart; - public facebook::react::HighResTimeStamp taskEndTime; - public facebook::react::PerformanceEntryInteractionId interactionId; - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceObserverObserveMultipleOptions { - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceObserverObserveSingleOptions { - public bool buffered; - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public static constexpr facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::string contentType; -} - struct facebook::react::Point { public Float x; public Float y; @@ -5904,11 +1953,6 @@ struct facebook::react::PointerEvent : public facebook::react::EventPayload { public virtual facebook::react::EventPayloadType getType() const override; } -struct facebook::react::PointerEventTarget { - public facebook::react::PointerEvent event; - public std::shared_ptr target; -} - struct facebook::react::ProcessedColorStop { public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; public facebook::react::SharedColor color; @@ -5931,12 +1975,6 @@ struct facebook::react::PropsParserContext { public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; } -struct facebook::react::PropsSnapshot { - public std::unique_ptr props; - public std::unique_ptr rawProps; - public std::unordered_set propNames; -} - struct facebook::react::RadialGradient { public bool operator==(const facebook::react::RadialGradient& other) const = default; public facebook::react::RadialGradientPosition position; @@ -5999,13 +2037,6 @@ struct facebook::react::ReactNativeVersionType { public std::string_view Prerelease; } -struct facebook::react::RecoverableError : public std::exception { - public RecoverableError(const std::string& what_); - public virtual const char* what() const noexcept override; - template - public static void runRethrowingAsRecoverable(std::function act); -} - struct facebook::react::Rect { public Float getMaxX() const noexcept; public Float getMaxY() const noexcept; @@ -6023,82 +2054,6 @@ struct facebook::react::Rect { public void unionInPlace(const facebook::react::Rect& rect) noexcept; } -struct facebook::react::RequestInfo { - public std::optional headers; - public std::optional httpBody; - public std::string httpMethod; - public std::string url; -} - -struct facebook::react::ResizeObservationResult { - public bool detached; - public facebook::react::Size observedSize; - public size_t targetDepth; - public std::optional entry; -} - -struct facebook::react::ResizeObserverEntry { - public facebook::react::Rect contentRect; - public facebook::react::ResizeObserverObserverId resizeObserverId; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; - public facebook::react::Size borderBoxSize; - public facebook::react::Size contentBoxSize; - public facebook::react::Size devicePixelContentBoxSize; -} - -struct facebook::react::ResourceTimingData { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseStart; - public std::string contentType; - public std::string url; -} - -struct facebook::react::ResponseInfo { - public std::optional headers; - public std::string url; - public uint16_t statusCode; -} - -struct facebook::react::SchedulerToolbox { - public facebook::react::ComponentRegistryFactory componentRegistryFactory; - public facebook::react::EventBeat::Factory eventBeatFactory; - public facebook::react::RuntimeExecutor runtimeExecutor; - public std::optional bridgelessBindingsExecutor; - public std::shared_ptr contextContainer; - public std::shared_ptr animationChoreographer; - public std::vector> commitHooks; -} - -struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { - public ScrollEndDragEvent() = default; - public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); - public facebook::react::Point targetContentOffset; - public facebook::react::Point velocity; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; -} - -struct facebook::react::ScrollEvent : public facebook::react::EventPayload { - public Float timestamp; - public Float zoomScale; - public ScrollEvent() = default; - public bool responderIgnoreScroll; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; - public virtual facebook::react::EventPayloadType getType() const override; - public virtual std::optional extractValue(const std::vector&) const override; -} - struct facebook::react::ShadowNodeFamilyFragment { public const facebook::react::SurfaceId surfaceId; public const facebook::react::Tag tag; @@ -6115,82 +2070,12 @@ struct facebook::react::ShadowNodeFragment { public static const std::shared_ptr>>& childrenPlaceholder(); } -struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { - public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); - public std::shared_ptr>> shadowNodeList; - public ~ShadowNodeListWrapper() override; -} - struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { public ShadowNodeWrapper(std::shared_ptr shadowNode); public std::shared_ptr shadowNode; public ~ShadowNodeWrapper() override; } -struct facebook::react::ShadowTreeCommitOptions { - public bool enableStateReconciliation; - public bool mountSynchronously; - public facebook::react::ShadowTreeCommitSource source; -} - -struct facebook::react::ShadowView { - public ShadowView() = default; - public ShadowView(const facebook::react::ShadowNode& shadowNode); - public ShadowView(const facebook::react::ShadowView& shadowView) = default; - public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; - public bool operator==(const facebook::react::ShadowView& rhs) const; - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::EventEmitter::Shared eventEmitter; - public facebook::react::LayoutMetrics layoutMetrics; - public facebook::react::Props::Shared props; - public facebook::react::ShadowNodeTraits traits; - public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; - public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; - public facebook::react::State::Shared state; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; -} - -struct facebook::react::ShadowViewMutation { - public ShadowViewMutation() = delete; - public bool mutatedViewIsVirtual() const; - public facebook::react::ShadowView newChildShadowView; - public facebook::react::ShadowView oldChildShadowView; - public facebook::react::ShadowViewMutation::Type type; - public facebook::react::Tag parentTag; - public int index; - public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); - public using List = std::vector; -} - -enum facebook::react::ShadowViewMutation::Type : std::uint8_t { - Create, - Delete, - Insert, - Remove, - Update, -} - -struct facebook::react::ShadowViewNodePair { - public bool flattened; - public bool inOtherTree() const; - public bool isConcreteView; - public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; - public const facebook::react::ShadowNode* shadowNode; - public facebook::react::Point contextOrigin; - public facebook::react::ShadowView shadowView; - public mutable const facebook::react::ShadowViewNodePair* otherTreePair; - public size_t mountIndex; -} - struct facebook::react::Size { public Float height; public Float width; @@ -6202,44 +2087,6 @@ struct facebook::react::StateData { public using Shared = std::shared_ptr; } -struct facebook::react::SurfaceContext { - public std::unordered_map> map; - public std::unordered_map> pendingMap; - public std::unordered_set> families; - public std::unordered_set> pendingFamilies; -} - -struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { - template - public SystraceSection(const char* name, ConvertsToStringPiece &&... args); -} - -struct facebook::react::Task : public facebook::jsi::NativeState { - public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); - public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); -} - -struct facebook::react::TextEffectInfo { - public bool operator==(const facebook::react::TextEffectInfo&) const = default; - public folly::dynamic props; - public std::string name; -} - -struct facebook::react::TextLayoutContext { - public Float pointScaleFactor; - public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; - public facebook::react::SurfaceId surfaceId; -} - -struct facebook::react::TimerCallback { - public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); - public bool repeat; - public const std::vector args_; - public facebook::jsi::Function callback_; - public facebook::react::TimerSource source; - public void invoke(facebook::jsi::Runtime& runtime); -} - struct facebook::react::TouchEvent { public facebook::react::Touches changedTouches; public facebook::react::Touches targetTouches; @@ -6273,12 +2120,6 @@ struct facebook::react::Transform { public std::vector operations; } -struct facebook::react::TransformConfig { - public double value; - public facebook::react::Tag nodeTag; - public std::string property; -} - struct facebook::react::TransformOperation { public bool operator==(const facebook::react::TransformOperation& other) const = default; public facebook::react::TransformOperationType type; @@ -6355,64 +2196,6 @@ enum facebook::react::ViewEvents::Offset : std::size_t { TouchStart, } -template -struct facebook::react::CSSList : public std::vector { -} - -template -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSList { -} - -template ... VisitorsT> -struct facebook::react::CSSComponentValueVisitorDispatcher { - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); - public constexpr std::optional visitFunction(); - public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitPreservedToken(); - public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public facebook::react::CSSSyntaxParser& parser; -} - -template -struct facebook::react::CSSList : public std::vector { -} - -template -class facebook::react::CircularBuffer { - public CircularBuffer(size_t maxSize); - public T& operator[](size_t idx); - public bool add(const T& el); - public size_t size() const; - public std::vector getEntries() const; - public std::vector getEntries(std::function predicate) const; - public void clear(); - public void clear(std::function predicate); - public void getEntries(std::vector& res) const; - public void getEntries(std::vector& res, std::function predicate) const; -} - -template -class facebook::react::MoveWrapper { - public MoveWrapper() = default; - public MoveWrapper(T&& t); - public MoveWrapper(const facebook::react::MoveWrapper& other); - public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; - public T& operator*(); - public T&& move(); - public T* operator->(); - public const T& operator*() const; - public const T* operator->() const; - public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; - public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; -} - template class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); @@ -6425,20 +2208,6 @@ class facebook::react::ConcreteViewShadowNode : public facebook::react::Concrete public virtual facebook::react::Transform getTransform() const override; } -template -class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; - protected std::shared_ptr textLayoutManager_; - protected virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - protected virtual void layout(facebook::react::LayoutContext layoutContext) override; - public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - template class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { protected facebook::react::Props::Shared props_; @@ -6469,17 +2238,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging { } -template -struct facebook::react::TemplateStringLiteral { - public constexpr TemplateStringLiteral(const char(&str)[N]); - public constexpr operator std::string_view() const; - public std::array value; -} - -template -struct facebook::react::CSSDataTypeParser { -} - template class facebook::react::ConcreteState : public facebook::react::State { public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); @@ -6497,25 +2255,6 @@ template class facebook::react::SyncCallback { } -template -class facebook::react::SimpleThreadSafeCache { - public SimpleThreadSafeCache(); - public SimpleThreadSafeCache(unsigned long size); - public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; - public std::optional get(const KeyT& key) const; - public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; -} - -template -class facebook::react::OnScopeExit { - public OnScopeExit(const Lambda&& lambda) noexcept; - public OnScopeExit(const facebook::react::OnScopeExit&) = delete; - public OnScopeExit(facebook::react::OnScopeExit&&) = delete; - public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; - public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; - public ~OnScopeExit() noexcept; -} - template class facebook::react::SyncCallback { public R call(Args... args) const; @@ -6537,14 +2276,7 @@ struct facebook::react::Bridging : public facebook::react::Bridging< } template -class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::ComponentName getComponentName() const override; -} - -template -class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; @@ -6566,2188 +2298,283 @@ class facebook::react::ConcreteComponentDescriptor : public facebook::react::Com public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; } -template -class facebook::react::Element { - public Element(); - public facebook::react::Element& children(std::vector children); - public facebook::react::Element& finalize(std::function finalizeCallback); - public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); - public facebook::react::Element& props(std::function callback); - public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); - public facebook::react::Element& reference(std::function callback); - public facebook::react::Element& stateData(std::function callback); - public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); - public facebook::react::Element& tag(facebook::react::Tag tag); - public operator facebook::react::ElementFragment(); - public using ConcreteProps = typename ShadowNodeT::ConcreteProps; - public using ConcreteReferenceCallback = std::function& shadowNode)>; - public using ConcreteShadowNode = ShadowNodeT; - public using ConcreteState = typename ShadowNodeT::ConcreteState; - public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; - public using ConcreteUnsharedShadowNode = std::shared_ptr; - public using SharedConcreteProps = std::shared_ptr; - public using SharedConcreteState = std::shared_ptr; -} - template struct facebook::react::Bridging { } -template -struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { - public AnimatedProp() = default; - public AnimatedProp(facebook::react::PropName propName, const T& value); - public T value; -} - -template -struct facebook::react::CascadedRectangleCorners { - public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; - public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; - public facebook::react::CascadedRectangleCorners::OptionalT all; - public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; - public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; - public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; - public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; - public facebook::react::CascadedRectangleCorners::OptionalT endEnd; - public facebook::react::CascadedRectangleCorners::OptionalT endStart; - public facebook::react::CascadedRectangleCorners::OptionalT startEnd; - public facebook::react::CascadedRectangleCorners::OptionalT startStart; - public facebook::react::CascadedRectangleCorners::OptionalT topEnd; - public facebook::react::CascadedRectangleCorners::OptionalT topLeft; - public facebook::react::CascadedRectangleCorners::OptionalT topRight; - public facebook::react::CascadedRectangleCorners::OptionalT topStart; - public using Counterpart = facebook::react::RectangleCorners; - public using OptionalT = std::optional; -} - -template -struct facebook::react::CascadedRectangleEdges { - public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; - public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; - public facebook::react::CascadedRectangleEdges::OptionalT all; - public facebook::react::CascadedRectangleEdges::OptionalT block; - public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; - public facebook::react::CascadedRectangleEdges::OptionalT blockStart; - public facebook::react::CascadedRectangleEdges::OptionalT bottom; - public facebook::react::CascadedRectangleEdges::OptionalT end; - public facebook::react::CascadedRectangleEdges::OptionalT horizontal; - public facebook::react::CascadedRectangleEdges::OptionalT left; - public facebook::react::CascadedRectangleEdges::OptionalT right; - public facebook::react::CascadedRectangleEdges::OptionalT start; - public facebook::react::CascadedRectangleEdges::OptionalT top; - public facebook::react::CascadedRectangleEdges::OptionalT vertical; - public using Counterpart = facebook::react::RectangleEdges; - public using OptionalT = std::optional; -} - -template -struct facebook::react::RectangleCorners { - public T bottomLeft; - public T bottomRight; - public T topLeft; - public T topRight; - public bool isUniform() const noexcept; - public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; -} - -template -struct facebook::react::RectangleEdges { - public T bottom; - public T left; - public T right; - public T top; - public bool isUniform() const noexcept; - public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; - public static const facebook::react::RectangleEdges ZERO; -} - -template -class facebook::react::AsyncCallback { - public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); - public void call(Args... args) const noexcept; - public void call(std::function&& callImpl) const noexcept; - public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; - public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; - public void operator()(Args... args) const noexcept; -} - -template -class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { - public AsyncEventEmitter(); - public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; - public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; - public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; - public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; - public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; - public void emit(Args... value); - public void emit(std::function&& converter); - public ~AsyncEventEmitter() override = default; -} - -template -class facebook::react::SharedFunction { - public SharedFunction(const facebook::react::SharedFunction& other) = default; - public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; - public SharedFunction(std::function&& function = nullptr); - public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; - public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; - public void assign(std::function function) const; - public void operator()(ArgumentT... args) const; -} - -template -class facebook::react::AsyncPromise { - public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); - public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; - public void reject(facebook::react::Error error); - public void resolve(T... value); -} - -template -class facebook::react::EventListenerContainerT { - public bool willDispatchEvent(TArgs... args); - public void addListener(std::shared_ptr> listener); - public void removeListener(const std::shared_ptr>& listener); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); - public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); -} - -struct facebook::react::Bridging { - public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); -} - -struct facebook::react::Bridging { - public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); - public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); -} - -template -struct facebook::react::Bridging> { - public static constexpr size_t kArgumentCount; - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); - public using Func = std::function; - public using IndexSequence = std::index_sequence_for; -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { - public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { - public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); - public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); - template - public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { - public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { - public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { -} - -struct facebook::react::Bridging { - public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); -} - -struct facebook::react::Bridging { - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); - public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); -} - -struct facebook::react::Bridging : public NativeAnimatedTurboModuleEndResultBridging { -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); - public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); - public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); - public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging : public NativeIntersectionObserverNativeIntersectionObserverEntryBridging { -} - -struct facebook::react::Bridging : public NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public NativeMutationObserverNativeMutationObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public NativeMutationObserverNativeMutationRecordBridging { -} - -struct facebook::react::Bridging : public NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public NativePerformanceRawPerformanceEntryBridging { -} - -struct facebook::react::Bridging : public NativePerformancePerformanceObserverInitBridging { -} - -struct facebook::react::Bridging : public NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public NativeIdleCallbacksRequestIdleCallbackOptionsBridging { -} - -struct facebook::react::Bridging { - public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); - public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSDataTypeParser> { - public static std::optional> consume(facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); - public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); - public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); -} - -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); -} - -template -struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - - -bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); -bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); -bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); - - -constexpr bool facebook::react::detail::isHexDigit(char c); -constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); -constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); -constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); -constexpr uint8_t facebook::react::detail::clamp255Component(float f); -constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); -constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); -float facebook::react::detail::normalizeHue(float hue); -std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); -std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); -std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); -template -constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); -template -C facebook::react::detail::memberFunctionClass(T C::*); -template -constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); - -class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { - public OwnedBytesBuffer(std::vector bytes) noexcept; - public virtual size_t size() const override; - public virtual uint8_t* data() override; -} - -enum facebook::react::detail::HexColorType { - Long, - Short, -} - -template -struct facebook::react::detail::merge_data_types { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types { -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = typename T::PreparedTextLayout; -} - -template -struct facebook::react::detail::CSSVariantComponentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSAngleTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSFilterSimpleAmountParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSNumberPercentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = std::nullptr_t; -} - -template -struct facebook::react::detail::is_variant_of_data_types : public std::false_type { -} - -template -class facebook::react::detail::TextLayoutManagerExtended { - public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); - public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public static constexpr bool supportsLineMeasurement(); - public static constexpr bool supportsPreparedTextLayout(); - public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; -} - -template -struct facebook::react::detail::merge_variant { -} - -template -struct facebook::react::detail::merge_data_types, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_variant, RestT...> { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types> { - public using type = std::variant; -} - -template -struct facebook::react::detail::is_variant_of_data_types> : public std::true_type { -} - -template -struct facebook::react::detail::merge_data_types, std::variant, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - - -constexpr std::string_view facebook::react::detail::css::keywords::Absolute; -constexpr std::string_view facebook::react::detail::css::keywords::At; -constexpr std::string_view facebook::react::detail::css::keywords::Auto; -constexpr std::string_view facebook::react::detail::css::keywords::Baseline; -constexpr std::string_view facebook::react::detail::css::keywords::Block; -constexpr std::string_view facebook::react::detail::css::keywords::Bottom; -constexpr std::string_view facebook::react::detail::css::keywords::Center; -constexpr std::string_view facebook::react::detail::css::keywords::Clip; -constexpr std::string_view facebook::react::detail::css::keywords::Column; -constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; -constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Content; -constexpr std::string_view facebook::react::detail::css::keywords::Contents; -constexpr std::string_view facebook::react::detail::css::keywords::Contextual; -constexpr std::string_view facebook::react::detail::css::keywords::Dashed; -constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Dotted; -constexpr std::string_view facebook::react::detail::css::keywords::Double; -constexpr std::string_view facebook::react::detail::css::keywords::End; -constexpr std::string_view facebook::react::detail::css::keywords::Fixed; -constexpr std::string_view facebook::react::detail::css::keywords::Flex; -constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; -constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; -constexpr std::string_view facebook::react::detail::css::keywords::Grid; -constexpr std::string_view facebook::react::detail::css::keywords::Groove; -constexpr std::string_view facebook::react::detail::css::keywords::Hidden; -constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Inherit; -constexpr std::string_view facebook::react::detail::css::keywords::Initial; -constexpr std::string_view facebook::react::detail::css::keywords::Inline; -constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; -constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; -constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; -constexpr std::string_view facebook::react::detail::css::keywords::Inset; -constexpr std::string_view facebook::react::detail::css::keywords::Left; -constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; -constexpr std::string_view facebook::react::detail::css::keywords::Ltr; -constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; -constexpr std::string_view facebook::react::detail::css::keywords::Medium; -constexpr std::string_view facebook::react::detail::css::keywords::MinContent; -constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; -constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; -constexpr std::string_view facebook::react::detail::css::keywords::None; -constexpr std::string_view facebook::react::detail::css::keywords::Normal; -constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; -constexpr std::string_view facebook::react::detail::css::keywords::Outset; -constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; -constexpr std::string_view facebook::react::detail::css::keywords::Relative; -constexpr std::string_view facebook::react::detail::css::keywords::Ridge; -constexpr std::string_view facebook::react::detail::css::keywords::Right; -constexpr std::string_view facebook::react::detail::css::keywords::Row; -constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; -constexpr std::string_view facebook::react::detail::css::keywords::Rtl; -constexpr std::string_view facebook::react::detail::css::keywords::Scroll; -constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; -constexpr std::string_view facebook::react::detail::css::keywords::Solid; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; -constexpr std::string_view facebook::react::detail::css::keywords::Start; -constexpr std::string_view facebook::react::detail::css::keywords::Static; -constexpr std::string_view facebook::react::detail::css::keywords::Sticky; -constexpr std::string_view facebook::react::detail::css::keywords::Stretch; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; -constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; -constexpr std::string_view facebook::react::detail::css::keywords::Thick; -constexpr std::string_view facebook::react::detail::css::keywords::Thin; -constexpr std::string_view facebook::react::detail::css::keywords::To; -constexpr std::string_view facebook::react::detail::css::keywords::Top; -constexpr std::string_view facebook::react::detail::css::keywords::Unset; -constexpr std::string_view facebook::react::detail::css::keywords::Visible; -constexpr std::string_view facebook::react::detail::css::keywords::Wrap; -constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; -template -concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); -template -concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); -template -concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); -template -concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); -template -concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); -template -concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); -template -concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); -template -concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); -template -concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); -template -concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); -template -concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); -template -concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); -template -concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); -template -concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); -template -concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); -template -concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); -template -concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); -template -concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); -template -concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); -template -concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); -template -concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); -template -concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); -template -concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); -template -concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); -template -concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); -template -concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); -template -concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); -template -concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); -template -concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); -template -concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); -template -concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); -template -concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); -template -concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); -template -concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); -template -concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); -template -concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); -template -concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); -template -concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); -template -concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); -template -concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); -template -concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); -template -concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); -template -concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); -template -concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); -template -concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); -template -concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); -template -concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); -template -concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); -template -concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); -template -concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); -template -concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); -template -concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); -template -concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); -template -concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); -template -concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); -template -concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); -template -concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); -template -concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); -template -concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); -template -concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); -template -concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); -template -concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); -template -concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); -template -concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); -template -concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); -template -concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); -template -concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); -template -concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); -template -concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); - - -constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; -template -using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; -typedef std::function facebook::react::jsinspector_modern::FrontendChannel; -typedef std::map facebook::react::jsinspector_modern::Headers; -using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; -using facebook::react::jsinspector_modern::IOReadError = const std::string; -using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; -using facebook::react::jsinspector_modern::StreamID = const std::string; -using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; -bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); -facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); -folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); -folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); -std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); -std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); -std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); -template -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); -template -facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); -void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); -void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); -void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); -void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); - -class facebook::react::jsinspector_modern::BoundedRequestBuffer { - public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; - public std::shared_ptr get(const std::string& requestId) const; - public void clear(); -} - -struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { - public bool base64Encoded; - public std::string data; -} - -class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { - public CallbackLocalConnection(std::function handler); - public virtual void disconnect() override; - public virtual void sendMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public CallbackRemoteConnection(std::function handler); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::ConsoleTask { - public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; - public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; - public ConsoleTask(std::shared_ptr taskContext); - public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; - public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; - public ~ConsoleTask(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { - public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); - public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskId id() const; - public std::optional getSerializedStackTrace() const; - public void schedule(); - public ~ConsoleTaskContext(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskId { - public ConsoleTaskId() = default; - public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public operator bool() const; - public operator void *() const; - public ~ConsoleTaskId() = default; -} - -class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { - public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); - public std::shared_ptr top() const; - public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); - public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public ~ConsoleTaskOrchestrator() = default; -} - -class facebook::react::jsinspector_modern::EmulationAgent { - public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); -} - -class facebook::react::jsinspector_modern::ExecutionContextManager { - public int32_t allocateExecutionContextId(); -} - -class facebook::react::jsinspector_modern::ExecutionContextSelector { - public ExecutionContextSelector() = delete; - public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; - public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); - public ~ExecutionContextSelector() = default; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public FallbackRuntimeTargetDelegate(std::string engineDescription); - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; -} - -class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); - public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; - public ~HermesRuntimeTargetDelegate() override; -} - -class facebook::react::jsinspector_modern::HostAgent { - public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); - public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public bool isEligibleForBackgroundTrace() const; - public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public void emitSystemStateChanged(bool isSingleHost); - public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void setCurrentInstanceAgent(std::shared_ptr agent); - public ~HostAgent(); -} - -class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public bool stopAndMaybeEmitBackgroundTrace(); - public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public std::unique_ptr connect(std::unique_ptr connectionToFrontend); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); - public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); - public ~HostTarget(); -} - -class facebook::react::jsinspector_modern::HostTargetController { - public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); - public bool decrementPauseOverlayCounter(); - public bool hasInstance() const; - public bool maybeEmitStashedBackgroundTrace(); - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public void incrementPauseOverlayCounter(); -} - -class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public HostTargetDelegate() = default; - public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&); - public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; - public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); - public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&); - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; - public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; - public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; - public virtual ~HostTargetDelegate() override; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; - public std::optional message; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest { - public std::optional quality; - public std::optional format; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; - public std::optional ignoreCache; - public std::optional scriptToEvaluateOnLoad; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest& rhs) const; - public std::string colorScheme; -} - -class facebook::react::jsinspector_modern::HostTargetTraceRecording { - public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public bool isBackgroundInitiated() const; - public bool isUserInitiated() const; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); - public void start(); -} - -class facebook::react::jsinspector_modern::HostTargetTracingDelegate { - public HostTargetTracingDelegate() = default; - public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); - public virtual void onTracingStopped(); - public virtual ~HostTargetTracingDelegate() = default; -} - -class facebook::react::jsinspector_modern::HostTracingAgent { - public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); -} - -class facebook::react::jsinspector_modern::IDestructible { - public virtual ~IDestructible() = 0; -} - -class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { - public using ConnectFunc = std::function(std::unique_ptr)>; - public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; - public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; - public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; - public virtual std::vector getPages() const = 0; - public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; - public virtual void removePage(int pageId) = 0; - public virtual ~IInspector() = 0; -} - -class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void disconnect() = 0; - public virtual void sendMessage(std::string message) = 0; - public virtual ~ILocalConnection() = 0; -} - -class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onPageRemoved(int); - public virtual ~IPageStatusListener() = 0; -} - -class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onDisconnect() = 0; - public virtual void onMessage(std::string message) = 0; - public virtual ~IRemoteConnection() = 0; -} - -class facebook::react::jsinspector_modern::IWebSocket { - public virtual void send(std::string_view message) = 0; - public virtual ~IWebSocket() = default; -} - -class facebook::react::jsinspector_modern::IWebSocketDelegate { - public virtual void didClose() = 0; - public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; - public virtual void didOpen() = 0; - public virtual void didReceiveMessage(std::string_view message) = 0; - public virtual ~IWebSocketDelegate() = default; -} - -class facebook::react::jsinspector_modern::InspectorFlags { - public InspectorFlags(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public bool getAssertSingleHostState() const; - public bool getFrameRecordingEnabled() const; - public bool getFuseboxEnabled() const; - public bool getIsProfilingBuild() const; - public bool getPerfIssuesEnabled() const; - public bool getScreenshotCaptureEnabled() const; - public facebook::react::jsinspector_modern::InspectorFlags& operator=(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); - public void dangerouslyDisableFuseboxForTest(); - public void dangerouslyResetFlags(); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection { - public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public bool isConnected() const; - public void closeQuietly(); - public void connect(); - public void sendEventToAllConnections(std::string event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { - public bool isConnected() const; - public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public using SessionId = uint32_t; - public void closeQuietly(); - public void connect(); - public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); - public void sendEventToAllConnections(const std::string& event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { - public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; - public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; - public virtual ~InspectorPackagerConnectionDelegate() = default; -} - -class facebook::react::jsinspector_modern::InstanceAgent { - public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); -} - -class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); - public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); - public ~InstanceTarget(); -} - -class facebook::react::jsinspector_modern::InstanceTargetDelegate { - public InstanceTargetDelegate() = default; - public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public virtual ~InstanceTargetDelegate(); -} - -class facebook::react::jsinspector_modern::InstanceTracingAgent { - public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); - public ~InstanceTracingAgent(); -} - -class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public LoadNetworkResourceDelegate() = default; - public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; - public virtual ~LoadNetworkResourceDelegate() = default; -} - -class facebook::react::jsinspector_modern::NetworkHandler { - public bool isEnabled() const; - public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); - public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); - public std::optional> getResponseBody(const std::string& requestId); - public void disableAgent(size_t agentId); - public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); - public void onLoadingFailed(const std::string& requestId, bool cancelled); - public void onLoadingFinished(const std::string& requestId, int encodedDataLength); - public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); - public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); - public void onWebSocketClosed(const std::string& requestId); - public void onWebSocketCreated(const std::string& requestId, const std::string& url); - public void onWebSocketFrameReceived(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketFrameSent(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t status, const facebook::react::jsinspector_modern::Headers& headers); - public void onWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::jsinspector_modern::NetworkIOAgent { - public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); - public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public ~NetworkIOAgent(); -} - -class facebook::react::jsinspector_modern::NetworkRequestListener { - public NetworkRequestListener() = default; - public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public virtual void onCompletion() = 0; - public virtual void onData(std::string_view data) = 0; - public virtual void onError(const std::string& message) = 0; - public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; - public virtual void setCancelFunction(std::function cancelFunction) = 0; - public virtual ~NetworkRequestListener() = default; -} - -class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { - public NotImplementedException(std::string message); - public const char* what() const noexcept override; -} - -class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { -} - -class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { - public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); - public void handlePerfIssueAdded(const std::string& message); -} - -class facebook::react::jsinspector_modern::RAIIRemoteConnection { - public RAIIRemoteConnection(std::unique_ptr remote); - public void onMessage(std::string message); - public ~RAIIRemoteConnection(); -} - -class facebook::react::jsinspector_modern::RuntimeAgent { - public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); - public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); - public void notifyFastRefreshComplete(); - public ~RuntimeAgent(); -} - -struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { - public std::unique_ptr delegateState; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; - public virtual std::unique_ptr getExportedState(); - public virtual ~RuntimeAgentDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { - public virtual ~ExportedState() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public ~RuntimeTarget(); -} - -class facebook::react::jsinspector_modern::RuntimeTargetController { - public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); - public void disableSamplingProfiler(); - public void emitTracingStateChange(bool isTracing); - public void enableSamplingProfiler(); - public void installBindingHandler(const std::string& bindingName); - public void installScriptToEvaluateOnNewDocument(const std::string& source); - public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); -} - -enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { - Log, - Network, - Runtime, - kMaxValue, -} - -class facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public virtual bool supportsConsole() const = 0; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; - public virtual void disableSamplingProfiler() = 0; - public virtual void enableSamplingProfiler() = 0; - public virtual ~RuntimeTargetDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); - public ~RuntimeTracingAgent(); -} - -class facebook::react::jsinspector_modern::StackTrace { - public StackTrace() = default; - public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public static std::unique_ptr empty(); - public virtual ~StackTrace() = default; -} - -class facebook::react::jsinspector_modern::TracingAgent { - public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public ~TracingAgent(); -} - -enum facebook::react::jsinspector_modern::ConsoleAPIType { - kAssert, - kClear, - kCount, - kDebug, - kDir, - kDirXML, - kEndGroup, - kError, - kInfo, - kLog, - kStartGroup, - kStartGroupCollapsed, - kTable, - kTimeEnd, - kTrace, - kWarning, -} - -enum facebook::react::jsinspector_modern::HostCommand { - DebuggerResume, - DebuggerStepOver, -} - -struct facebook::react::jsinspector_modern::ConsoleMessage { - public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); - public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public std::unique_ptr stackTrace; - public std::vector args; - public ~ConsoleMessage() = default; -} - -struct facebook::react::jsinspector_modern::ExecutionContextDescription { - public int32_t id; - public std::optional uniqueId; - public std::string name; - public std::string origin; -} - -struct facebook::react::jsinspector_modern::GetResponseBodyResult { - public bool base64Encoded; - public folly::dynamic toDynamic() const; - public std::string body; -} - -struct facebook::react::jsinspector_modern::HostTargetMetadata { - public std::optional appDisplayName; - public std::optional appIdentifier; - public std::optional deviceName; - public std::optional integrationName; - public std::optional platform; - public std::optional reactNativeVersion; +template +struct facebook::react::CascadedRectangleCorners { + public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; + public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleCorners::OptionalT all; + public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; + public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; + public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; + public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; + public facebook::react::CascadedRectangleCorners::OptionalT endEnd; + public facebook::react::CascadedRectangleCorners::OptionalT endStart; + public facebook::react::CascadedRectangleCorners::OptionalT startEnd; + public facebook::react::CascadedRectangleCorners::OptionalT startStart; + public facebook::react::CascadedRectangleCorners::OptionalT topEnd; + public facebook::react::CascadedRectangleCorners::OptionalT topLeft; + public facebook::react::CascadedRectangleCorners::OptionalT topRight; + public facebook::react::CascadedRectangleCorners::OptionalT topStart; + public using Counterpart = facebook::react::RectangleCorners; + public using OptionalT = std::optional; } -struct facebook::react::jsinspector_modern::IOReadResult { - public bool base64Encoded; - public bool eof; - public folly::dynamic toDynamic() const; - public std::string data; +template +struct facebook::react::CascadedRectangleEdges { + public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; + public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleEdges::OptionalT all; + public facebook::react::CascadedRectangleEdges::OptionalT block; + public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; + public facebook::react::CascadedRectangleEdges::OptionalT blockStart; + public facebook::react::CascadedRectangleEdges::OptionalT bottom; + public facebook::react::CascadedRectangleEdges::OptionalT end; + public facebook::react::CascadedRectangleEdges::OptionalT horizontal; + public facebook::react::CascadedRectangleEdges::OptionalT left; + public facebook::react::CascadedRectangleEdges::OptionalT right; + public facebook::react::CascadedRectangleEdges::OptionalT start; + public facebook::react::CascadedRectangleEdges::OptionalT top; + public facebook::react::CascadedRectangleEdges::OptionalT vertical; + public using Counterpart = facebook::react::RectangleEdges; + public using OptionalT = std::optional; } -struct facebook::react::jsinspector_modern::InspectorPageDescription { - public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; - public const int id; - public const std::string description; - public const std::string vm; +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; } -struct facebook::react::jsinspector_modern::InspectorSystemState { - public int registeredHostsCount; +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; } -struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { - public bool nativePageReloads; - public bool nativeSourceCodeFetching; +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; } -struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { - public std::string url; +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; } -struct facebook::react::jsinspector_modern::NetworkResource { - public bool success; - public folly::dynamic toDynamic() const; - public std::optional headers; - public std::optional netErrorName; - public std::optional stream; - public std::optional httpStatusCode; +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; } -struct facebook::react::jsinspector_modern::PerfIssuePayload { - public std::optional description; - public std::optional learnMoreUrl; - public std::optional severity; - public std::string name; +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); } -struct facebook::react::jsinspector_modern::ReadStreamParams { - public facebook::react::jsinspector_modern::StreamID handle; - public std::optional offset; - public std::optional size; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); } -struct facebook::react::jsinspector_modern::SessionState { - public bool hasPendingTraceRecording; - public bool isDebuggerDomainEnabled; - public bool isLogDomainEnabled; - public bool isNetworkDomainEnabled; - public bool isReactNativeApplicationDomainEnabled; - public bool isRuntimeDomainEnabled; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; - public std::unordered_map subscribedBindings; - public std::vector scriptsToEvaluateOnNewDocument; - public std::vector pendingSimpleConsoleMessages; - public unsigned int nextScriptToEvaluateOnNewDocumentId; +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); } -struct facebook::react::jsinspector_modern::SessionState::ScriptToEvaluateOnNewDocument { - public std::string identifier; - public std::string source; +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); } -struct facebook::react::jsinspector_modern::SimpleConsoleMessage { - public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public std::vector args; - public ~SimpleConsoleMessage() = default; +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); } -template -class facebook::react::jsinspector_modern::EnumArray { - public constexpr ValueType& operator[](IndexType i); - public constexpr const ValueType& operator[](IndexType i) const; - public constexpr int size() const; +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; } -template -struct facebook::react::jsinspector_modern::UniqueMonostate { - public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -template -class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { - public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); - public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); - template - public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } template -class facebook::react::jsinspector_modern::WeakList { - public bool empty() const; - public size_t size() const; - public void insert(std::weak_ptr ptr); - template - public bool anyOf(Fn&& fn) const; - template - public bool anyOf(Fn&& fn); - template - public void forEach(Fn&& fn) const; - template - public void forEach(Fn&& fn); -} - - -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; -using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; -using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; -using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; -using facebook::react::jsinspector_modern::tracing::Headers = std::map; -using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; -using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; -using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; -int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); -std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); -std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); -std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); -std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); - -class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { - public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { - public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); - public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); - public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); -} - -class facebook::react::jsinspector_modern::tracing::PerformanceTracer { - public bool isTracing() const; - public bool startTracing(); - public bool startTracing(facebook::react::HighResDuration maxDuration); - public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); - public std::optional> stopTracing(); - public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); - public using TracingStateCallback = std::function; - public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); - public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); - public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); - public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); - public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); - public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); - public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); - public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); -} - -class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { - public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); - public bool hasParent() const; - public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; - public static constexpr uint32_t NO_PARENT; - public uint32_t getId() const; - public uint32_t getParentId() const; -} - -enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { - JavaScript, - Other, -} - -class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public virtual ~RawRuntimeProfile() = default; -} - -class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { - public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); - public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); -} - -class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; - public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public bool isRunningInBackgroundMode(); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { - public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); - public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { - public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); - public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); - public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); - public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); - public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); - public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); - public static size_t estimateJsonSize(const folly::dynamic& value); -} - -enum facebook::react::jsinspector_modern::tracing::Category { - Frame, - HiddenTimeline, - JavaScriptSampling, - RuntimeExecution, - Screenshot, - Timeline, - UserTiming, -} - -enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { - Error, - Primary, - PrimaryDark, - PrimaryLight, - Secondary, - SecondaryDark, - SecondaryLight, - Tertiary, - TertiaryDark, - TertiaryLight, - Warning, -} - -enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { - Microtasks, - Task, -} - -enum facebook::react::jsinspector_modern::tracing::Mode { - Background, - CDP, -} - -struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { - public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public ~EventLoopReporter(); -} - -struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { - public FrameTimingSequence() = delete; - public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); - public facebook::react::HighResDuration vsyncInterval; - public facebook::react::HighResTimeStamp beginTimestamp; - public facebook::react::HighResTimeStamp endTimestamp; - public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::optional> screenshot; -} - -struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { - public HostTracingProfile() = default; - public HostTracingProfile(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public HostTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public std::vector frameTimings; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~HostTracingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::IdGenerator { - public uint32_t getNext(); -} - -struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { - public std::vector performanceTraceEvents; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { - public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public std::string runtimeName; - public std::unique_ptr rawRuntimeProfile; - public std::vector samples; - public ~RuntimeSamplingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { - public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::vector callStack; - public uint64_t timestamp; - public ~Sample() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { - public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; - public std::optional scriptURL; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string_view functionName; - public uint32_t scriptId; -} - -enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { - GarbageCollector, - HostFunction, - JSFunction, - NativeFunction, -} - -struct facebook::react::jsinspector_modern::tracing::TraceEvent { - public char ph; - public facebook::react::HighResTimeStamp ts; - public facebook::react::jsinspector_modern::tracing::Categories cat; - public facebook::react::jsinspector_modern::tracing::ProcessId pid; - public facebook::react::jsinspector_modern::tracing::ThreadId tid; - public folly::dynamic args; - public std::optional s; - public std::optional dur; - public std::optional id; - public std::string name; +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; - public using TimeDeltas = std::vector; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { - public std::vector nodes; - public std::vector samples; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; - public std::optional parentId; - public uint32_t id; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { - public std::optional url; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string codeType; - public std::string functionName; - public uint32_t scriptId; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { - public TraceRecordingState(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public facebook::react::jsinspector_modern::tracing::Mode mode; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public std::optional windowSize; - public std::set enabledCategories; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~TraceRecordingState() = default; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); } template -class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { - public TimeWindowedBuffer(); - public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); - public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); - public using TimestampAccessor = std::function; - public void clear(); - public void push(T&& element); - public void push(const T& element); +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -template -class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { - public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; - public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public ~PerformanceTracerSection() noexcept; -} - - -using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; -using facebook::react::jsinspector_modern::cdp::RequestId = long long; -using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; -facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); -std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); - -enum facebook::react::jsinspector_modern::cdp::ErrorCode { - InternalError, - InvalidParams, - InvalidRequest, - MethodNotFound, - ParseError, -} - -struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { - public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; - public facebook::react::jsinspector_modern::cdp::RequestId id; - public folly::dynamic params; - public std::string method; - public std::string toJson() const; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); } - -using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; -std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); - -struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { - public double requestTime; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { } -struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int dataLength; - public int encodedDataLength; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); } -struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { - public bool canceled; - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string errorText; - public std::string requestId; - public std::string type; +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); } -struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -struct facebook::react::jsinspector_modern::cdp::network::Request { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::optional postData; - public std::string method; - public std::string url; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { - public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { - public bool redirectHasExtraInfo; - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Request request; - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::optional redirectResponse; - public std::string documentURL; - public std::string loaderId; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::Response { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); - public std::string mimeType; - public std::string statusText; - public std::string url; - public uint16_t status; -} - -struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { - public bool hasExtraInfo; - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::Response response; - public folly::dynamic toDynamic() const; - public std::string loaderId; - public std::string requestId; - public std::string type; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketClosedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketCreatedParams { - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::string requestId; - public std::string url; +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrame { - public bool mask; - public folly::dynamic toDynamic() const; - public int opcode; - public std::string payloadData; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrameParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketFrame response; - public folly::dynamic toDynamic() const; - public std::string requestId; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketHandshakeResponseReceivedParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketResponse response; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketResponse { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public static facebook::react::jsinspector_modern::cdp::network::WebSocketResponse fromInputParams(uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers); - public std::string statusText; - public uint16_t status; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketWillSendHandshakeRequestParams { - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); } - -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; -bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); -facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); -std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); -std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); - -struct facebook::react::dom::DOMBorderWidthRounded { - public int bottom; - public int left; - public int right; - public int top; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -struct facebook::react::dom::DOMOffset { - public double left; - public double top; - public std::shared_ptr offsetParent; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -struct facebook::react::dom::DOMPoint { - public double x; - public double y; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); } -struct facebook::react::dom::DOMRect { - public double height; - public double width; - public double x; - public double y; +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { } -struct facebook::react::dom::DOMSizeRounded { - public int height; - public int width; +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); } -struct facebook::react::dom::RNMeasureRect { - public double height; - public double pageX; - public double pageY; - public double width; - public double x; - public double y; +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); template @@ -8883,6 +2710,16 @@ struct facebook::react::array_detail::BridgingDynamic { } +template +C facebook::react::detail::memberFunctionClass(T C::*); + +class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { + public OwnedBytesBuffer(std::vector bytes) noexcept; + public virtual size_t size() const override; + public virtual uint8_t* data() override; +} + + template struct facebook::react::map_detail::Bridging { public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); @@ -8890,109 +2727,6 @@ struct facebook::react::map_detail::Bridging { } -uint64_t facebook::react::oscompat::getCurrentProcessId(); -uint64_t facebook::react::oscompat::getCurrentThreadId(); - - -using facebook::react::ReactMarker::LogTaggedMarker = std::function; -using facebook::react::ReactMarker::LogTaggedMarkerBridgeless = facebook::react::ReactMarker::LogTaggedMarker; -void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); -void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -facebook::react::ReactMarker::AtomicLogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; - -class facebook::react::ReactMarker::StartupLogger { - public double getAppStartupEndTime(); - public double getAppStartupStartTime(); - public double getInitReactRuntimeStartTime(); - public double getRunJSBundleStartTime(); - public static facebook::react::ReactMarker::StartupLogger& getInstance(); - public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); - public void reset(); -} - -enum facebook::react::ReactMarker::ReactMarkerId { - APP_STARTUP_START, - APP_STARTUP_STOP, - CREATE_REACT_CONTEXT_STOP, - INIT_REACT_RUNTIME_START, - INIT_REACT_RUNTIME_STOP, - JS_BUNDLE_STRING_CONVERT_START, - JS_BUNDLE_STRING_CONVERT_STOP, - NATIVE_MODULE_SETUP_START, - NATIVE_MODULE_SETUP_STOP, - NATIVE_REQUIRE_START, - NATIVE_REQUIRE_STOP, - REACT_INSTANCE_INIT_START, - REACT_INSTANCE_INIT_STOP, - REGISTER_JS_SEGMENT_START, - REGISTER_JS_SEGMENT_STOP, - RUN_JS_BUNDLE_START, - RUN_JS_BUNDLE_STOP, -} - -struct facebook::react::ReactMarker::AtomicLogTaggedMarker { - public facebook::react::ReactMarker::AtomicLogTaggedMarker& operator=(facebook::react::ReactMarker::LogTaggedMarker marker); - public operator bool() const noexcept; - public void operator()(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag) const; -} - -struct facebook::react::ReactMarker::ReactMarkerEvent { - public const char* tag; - public const facebook::react::ReactMarker::ReactMarkerId markerId; - public double time; -} - - -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); -void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); - - -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); - - void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); @@ -9036,9 +2770,6 @@ void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); -std::unique_ptr facebook::jsc::makeJSCRuntime(); - - using facebook::jsi::HostFunctionType = std::function; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); @@ -10812,18 +4543,6 @@ struct facebook::yoga::LayoutableChildren::Iterator { } -struct std::hash { - public size_t operator()(const facebook::react::AttributedString& attributedString) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; } @@ -10832,30 +4551,14 @@ struct std::hash { public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; } -struct std::hash { - public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; -} - struct std::hash { public size_t operator()(const facebook::react::Point& point) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Rect& rect) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::ShadowView& shadowView) const; -} - struct std::hash { public size_t operator()(const facebook::react::SharedColor& color) const; } @@ -10864,18 +4567,6 @@ struct std::hash { public size_t operator()(const facebook::react::Size& size) const; } -struct std::hash { - public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextEffectInfo& info) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Transform& transform) const; } @@ -10888,21 +4579,4 @@ struct std::hash> { template struct std::hash> { public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; -} - -struct std::hash { - public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; -} - -template -struct std::hash> { - public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; } \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api new file mode 100644 index 000000000000..80717079976d --- /dev/null +++ b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api @@ -0,0 +1,9359 @@ +// @generated by scripts/cxx-api + +struct YGConfig { +} + +struct YGNode { +} + +struct YGSize { + public float height; + public float width; +} + +struct YGValue { + public YGUnit unit; + public float value; +} + + +class facebook::hermes::IHermes : public facebook::jsi::ICast { + protected ~IHermes() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual ICast* getHermesRootAPI() = 0; + public virtual SHRuntime* getSHRuntime() noexcept = 0; + public virtual const hermes::vm::GCExecTrace& getGCExecTrace() const = 0; + public virtual debugger::Debugger& getDebugger() = 0; + public virtual facebook::jsi::Value evaluateJavaScriptWithSourceMap(const std::shared_ptr& buffer, const std::shared_ptr& sourceMapBuf, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluateSHUnit(SHUnitCreator shUnitCreator) = 0; + public virtual facebook::jsi::Value getObjectForID(uint64_t id) = 0; + public virtual sampling_profiler::Profile dumpSampledTraceToProfile() = 0; + public virtual std::string getIOTrackingInfoJSON() = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::BigInt& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Object& o) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::PropNameID& pni) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::String& s) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Symbol& sym) const = 0; + public virtual uint64_t getUniqueID(const facebook::jsi::Value& val) const = 0; + public virtual void asyncTriggerTimeout() = 0; + public virtual void debugJavaScript(const std::string& src, const std::string& sourceURL, const facebook::hermes::IHermes::DebugFlags& debugFlags) = 0; + public virtual void loadSegment(std::unique_ptr buffer, const facebook::jsi::Value& context) = 0; + public virtual void registerForProfiling() = 0; + public virtual void resetTimezoneCache() = 0; + public virtual void sampledTraceToStreamInDevToolsFormat(std::ostream& stream) = 0; + public virtual void unregisterForProfiling() = 0; + public virtual void unwatchTimeLimit() = 0; + public virtual void watchTimeLimit(uint32_t timeoutInMs) = 0; + public virtual void* getVMRuntimeUnsafe() const = 0; +} + +struct facebook::hermes::IHermes::DebugFlags { +} + +class facebook::hermes::IHermesSHUnit : public facebook::jsi::ICast { + protected ~IHermesSHUnit() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual SHUnitCreator getSHUnitCreator() const = 0; +} + +struct facebook::hermes::IEventLoopControl { + protected ~IEventLoopControl() = default; + public virtual uint64_t registerTaskQueueSource() = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) = 0; +} + +struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { + protected ~ISetEventLoopControl() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual facebook::hermes::IEventLoopControl* getEventLoopControl() = 0; + public virtual void setEventLoopControl(facebook::hermes::IEventLoopControl* eventLoopControl) = 0; +} + + +const char facebook::react::ImageComponentName[]; +const char facebook::react::ImageManagerKey[]; +const char facebook::react::ModalHostViewComponentName[]; +const char facebook::react::ParagraphComponentName[]; +const char facebook::react::RawTextComponentName[]; +const char facebook::react::RootComponentName[]; +const char facebook::react::RuntimeSchedulerKey[]; +const char facebook::react::ScrollViewComponentName[]; +const char facebook::react::TextComponentName[]; +const char facebook::react::TextEffectComponentName[]; +const char facebook::react::ViewComponentName[]; +const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; +constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; +constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; +constexpr char* const facebook::react::TextLayoutManagerKey; +constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; +constexpr facebook::react::Tag facebook::react::kNoTag; +constexpr float facebook::react::kDefaultEpsilon; +constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; +static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; +static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; +static constexpr auto facebook::react::kPropNameLengthHardCap; +static constexpr double facebook::react::SingleFrameIntervalMs; +static constexpr double facebook::react::TicksPerMs; +static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; +static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; +static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; +static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; +template +using facebook::react::CSSCompoundDataType = std::variant; +template +using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; +template +using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; +template +using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; +template +using facebook::react::EventListenerT = std::function; +typedef std::function facebook::react::ValueListenerCallback; +using facebook::react::ActivePointerRegistry = std::unordered_map; +using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; +using facebook::react::AnimationTimestamp = std::chrono::duration; +using facebook::react::BackgroundExecutor = std::function&& callback)>; +using facebook::react::BackgroundImage = std::variant; +using facebook::react::BackgroundSize = std::variant; +using facebook::react::BorderColors = facebook::react::RectangleEdges; +using facebook::react::BorderCurves = facebook::react::RectangleCorners; +using facebook::react::BorderRadii = facebook::react::RectangleCorners; +using facebook::react::BorderStyles = facebook::react::RectangleEdges; +using facebook::react::BorderWidths = facebook::react::RectangleEdges; +using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; +using facebook::react::CSSPreservedToken = facebook::react::CSSToken; +using facebook::react::CSSRadialGradientSize = std::variant; +using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; +using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; +using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; +using facebook::react::CallFunc = std::function; +using facebook::react::Callback = std::function; +using facebook::react::CallbackId = uint64_t; +using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; +using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; +using facebook::react::CascadedBorderStyles = facebook::react::CascadedRectangleEdges; +using facebook::react::CascadedBorderWidths = facebook::react::CascadedRectangleEdges; +using facebook::react::ComponentDescriptorConstructor = facebook::react::ComponentDescriptor::Unique(const facebook::react::ComponentDescriptorParameters& parameters); +using facebook::react::ComponentDescriptorProviderRequest = std::function; +using facebook::react::ComponentHandle = int64_t; +using facebook::react::ComponentName = const char*; +using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; +using facebook::react::CornerInsets = facebook::react::RectangleCorners; +using facebook::react::DispatchEvent = std::function; +using facebook::react::EdgeInsets = facebook::react::RectangleEdges; +using facebook::react::EndResult = NativeAnimatedTurboModuleEndResult, std::optional>; +using facebook::react::EventEmitterListener = facebook::react::EventListenerT; +using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; +using facebook::react::EventListener = std::function; +using facebook::react::EventPipe = std::function; +using facebook::react::EventPipeConclusion = std::function; +using facebook::react::EventTag = unsigned int; +using facebook::react::GradientDirection = std::variant; +using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; +using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; +using facebook::react::ImageSources = std::vector; +using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::LinesMeasurements = std::vector; +using facebook::react::Logger = std::function; +using facebook::react::MountingTransactionCallback = std::function; +using facebook::react::NativeMethodCallFunc = std::function; +using facebook::react::ParagraphProps = HostPlatformParagraphProps; +using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; +using facebook::react::PointerIdentifier = int32_t; +using facebook::react::PromiseSetupFunctionType = std::function)>; +using facebook::react::RawCallback = std::function; +using facebook::react::RawPropsPropNameHash = uint32_t; +using facebook::react::RawPropsPropNameLength = uint16_t; +using facebook::react::RawPropsValueIndex = uint16_t; +using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::RuntimeExecutor = std::function&& callback)>; +using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; +using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; +using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::ScrollViewProps = HostPlatformScrollViewProps; +using facebook::react::ShadowTreeCommitTransaction = std::function; +using facebook::react::ShadowViewMutationList = std::vector; +using facebook::react::SharedComponentDescriptor = std::shared_ptr; +using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; +using facebook::react::SharedEventEmitter = std::shared_ptr; +using facebook::react::SharedEventPayload = std::shared_ptr; +using facebook::react::SharedEventTarget = std::shared_ptr; +using facebook::react::SharedParagraphAttributes = std::shared_ptr; +using facebook::react::SharedRawTextProps = std::shared_ptr; +using facebook::react::SharedScrollViewProps = std::shared_ptr; +using facebook::react::SharedShadowNodeFamily = std::shared_ptr; +using facebook::react::SharedTextAttributes = std::shared_ptr; +using facebook::react::SharedTouchEventEmitter = std::shared_ptr; +using facebook::react::SharedViewEventEmitter = std::shared_ptr; +using facebook::react::SharedViewProps = std::shared_ptr; +using facebook::react::StatePipe = std::function; +using facebook::react::SurfaceId = int32_t; +using facebook::react::Tag = int32_t; +using facebook::react::TelemetryClock = std::chrono::steady_clock; +using facebook::react::TelemetryDuration = std::chrono::nanoseconds; +using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; +using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::TextEffectComponentDescriptor = facebook::react::ConcreteComponentDescriptor; +using facebook::react::TextEffectEventEmitter = facebook::react::TouchEventEmitter; +using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; +using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; +using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; +using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); +using facebook::react::TimerHandle = int; +using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; +using facebook::react::Touch = facebook::react::HostPlatformTouch; +using facebook::react::Touches = std::unordered_set; +using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; +using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; +using facebook::react::UiTask = std::function; +using facebook::react::ValueFactory = std::function; +using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; +using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; +using facebook::react::ViewShadowNodeProps = facebook::react::ViewProps; +using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); +template +concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; +template +concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && + ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& + ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; +template +concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { + { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { + { T::consume(parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { + { T::consumePreservedToken(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { + { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && + !CSSParserSink) || +CSSParserSink; +template +concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& + (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); +template +concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(func, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { + { visitor(token) } -> std::convertible_to; +}; +template +concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { + { visitor(block, blockParser) } -> std::convertible_to; +}; +template +concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; +template +concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; +template +concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; +template +concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; +template +concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; +template +concept facebook::react::DeclaresOwnSetProp = std::is_same_v; +template +concept facebook::react::HasIteratorSetterCtor = std::copy_constructible && std::derived_from && HasSetProp; +template +concept facebook::react::HasSetProp = DeclaresOwnSetProp && +requires(T& t, const facebook::react::PropsParserContext& ctx, facebook::react::RawPropsPropNameHash hash, const char* name, const facebook::react::RawValue& value) { + { t.setProp(ctx, hash, name, value) } -> std::same_as; +}; +template +concept facebook::react::Hashable = !std::is_same_v&& (requires(T a) { + { std::hash{}(a) } -> std::convertible_to; +}); +template +concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { + { T::filterRawProps(rawProps) } -> std::same_as; +}; +template +concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( + TextLayoutManagerT textLayoutManager, + facebook::react::AttributedString attributedString, + facebook::react::ParagraphAttributes paragraphAttributes, + facebook::react::TextLayoutContext layoutContext, + facebook::react::LayoutConstraints layoutConstraints, + typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { + sizeof(typename TextLayoutManagerT::PreparedTextLayout); + { + textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) + } -> std::same_as; + { + textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) + } -> std::same_as; +}; +Float facebook::react::floatFromYogaFloat(float value); +Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); +YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); +bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); +bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); +bool facebook::react::areBorderRadiiCircular(const facebook::react::BorderRadii& borderRadii); +bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); +bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; +bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); +bool facebook::react::isZero(Float n); +const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); +const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); +constexpr auto facebook::react::to_underlying(auto e) noexcept; +constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); +constexpr char facebook::react::toLower(char c); +constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); +constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); +constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); +constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); +double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); +facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); +facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); +facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); +facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); +facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); +facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); +facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); +facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; +facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; +facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); +facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); +facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); +facebook::react::SharedColor facebook::react::blackColor(); +facebook::react::SharedColor facebook::react::clearColor(); +facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); +facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); +facebook::react::SharedColor facebook::react::whiteColor(); +facebook::react::Size facebook::react::ModalHostViewScreenSize(void); +facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); +facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; +facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); +facebook::react::ValueUnit facebook::react::toValueUnit(const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value); +facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(Float value); +float facebook::react::yogaFloatFromFloat(Float value); +folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); +folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); +folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); +int facebook::react::toInt(const facebook::react::DisplayType& displayType); +int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); +size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); +size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); +size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); +std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); +std::optional facebook::react::blendModeFromString(std::string_view blendModeName); +std::optional facebook::react::filterTypeFromString(std::string_view filterName); +std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); +std::optional facebook::react::isolationFromString(std::string_view isolationSetting); +std::string facebook::react::componentNameByReactViewName(std::string viewName); +std::string facebook::react::toString(const double& value); +std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); +std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); +std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); +std::string facebook::react::toString(const facebook::react::DisplayType& displayType); +std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); +std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); +std::string facebook::react::toString(const facebook::react::FilterType& filterType); +std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); +std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); +std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); +std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); +std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); +std::string facebook::react::toString(const facebook::react::ImageSource& value); +std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); +std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); +std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); +std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); +std::string facebook::react::toString(const facebook::react::Role& role); +std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); +std::string facebook::react::toString(const facebook::react::SharedColor& value); +std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); +std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); +std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); +std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); +std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); +std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); +std::string facebook::react::toString(const facebook::react::TextWidthMode& textWidthMode); +std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); +std::string facebook::react::toString(double doubleValue, char suffix); +std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); +std::string facebook::react::toString(facebook::react::PointerEventsMode value); +std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); +template +constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); +template +constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); +template +std::size_t facebook::react::hash_combine(const T& v, const Args &... args); +template +void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); +template +void facebook::react::hash_combine_optionals(std::size_t& seed, const std::optional &... optionals); +template +constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); +template +constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); +template +constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; +template +facebook::react::ComponentDescriptor::Unique facebook::react::concreteComponentDescriptorConstructor(const facebook::react::ComponentDescriptorParameters& parameters); +template +facebook::react::ComponentDescriptorProvider facebook::react::concreteComponentDescriptorProvider(); +template +DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); +template +T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue); +template +T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); +template +T facebook::react::get(const std::unique_ptr& animatedProp); +template +bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::optional& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::vector>& result); +template +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& rawValue, T& result); +template +std::shared_ptr facebook::react::getManagerByName(std::shared_ptr& contextContainer, const char name[]); +uint8_t facebook::react::alphaFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; +uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; +void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); +void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); +void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityAction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLabelledBy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLiveRegion& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FlexDirection& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::FloatOptional& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Justify& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Overflow& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::EdgeInsets& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageResizeMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageSource& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); +void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); +void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); +void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); +void facebook::react::handleJSError(facebook::jsi::Runtime& runtime, const facebook::jsi::JSError& error, bool isFatal); +void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); +void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); +void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); +void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); +void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); +void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); +void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); +void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); +bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); +bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); +bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); +bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); +bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; +bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); +constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator&(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr enum facebook::react::AccessibilityTraits facebook::react::operator|(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); +constexpr facebook::react::HighResDuration facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResTimeStamp& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator+(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +constexpr facebook::react::HighResTimeStamp facebook::react::operator-(const facebook::react::HighResTimeStamp& lhs, const facebook::react::HighResDuration& rhs); +facebook::react::EdgeInsets facebook::react::operator*(const facebook::react::EdgeInsets& edgeInsets, const facebook::react::Transform& transform); +facebook::react::Point facebook::react::operator*(const facebook::react::Point& point, const facebook::react::Transform& transform); +facebook::react::Rect facebook::react::operator*(const facebook::react::Rect& rect, const facebook::react::Transform& transform); +facebook::react::Size facebook::react::operator*(const facebook::react::Size& size, const facebook::react::Transform& transform); +facebook::react::Vector facebook::react::operator*(const facebook::react::Transform& transform, const facebook::react::Vector& vector); +template +facebook::react::RectangleEdges facebook::react::operator+(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; +template +facebook::react::RectangleEdges facebook::react::operator-(const facebook::react::RectangleEdges& lhs, const facebook::react::RectangleEdges& rhs) noexcept; + +class facebook::react::AccessibilityProps { + public AccessibilityProps() = default; + public AccessibilityProps(const facebook::react::PropsParserContext& context, const facebook::react::AccessibilityProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool accessibilityElementsHidden; + public bool accessibilityIgnoresInvertColors; + public bool accessibilityRespondsToUserInteraction; + public bool accessibilityShowsLargeContentViewer; + public bool accessibilityViewIsModal; + public bool accessible; + public bool onAccessibilityAction; + public bool onAccessibilityEscape; + public bool onAccessibilityMagicTap; + public bool onAccessibilityTap; + public facebook::react::AccessibilityLabelledBy accessibilityLabelledBy; + public facebook::react::AccessibilityLiveRegion accessibilityLiveRegion; + public facebook::react::AccessibilityTraits accessibilityTraits; + public facebook::react::AccessibilityValue accessibilityValue; + public facebook::react::ImportantForAccessibility importantForAccessibility; + public facebook::react::Role role; + public std::optional accessibilityState; + public std::string accessibilityHint; + public std::string accessibilityLabel; + public std::string accessibilityLanguage; + public std::string accessibilityLargeContentTitle; + public std::string accessibilityRole; + public std::string testId; + public std::vector accessibilityActions; + public std::vector accessibilityOrder; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::AnimatedModule : public NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { + public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); + public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); + public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); + public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); + public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); + public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); + public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); + public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void finishOperationBatch(facebook::jsi::Runtime& rt); + public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); + public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); + public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); + public void removeListeners(facebook::jsi::Runtime& rt, int count); + public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); + public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); + public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); + public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); + public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void startOperationBatch(facebook::jsi::Runtime& rt); + public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); + public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); + public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); +} + +class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { + public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; +} + +class facebook::react::AnimatedNode { + protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); + protected facebook::react::AnimatedNodeType type_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag tag_; + protected std::unordered_set children_; + public AnimatedNode(const facebook::react::AnimatedNode&) = default; + public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; + public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); + public const folly::dynamic& getConfig() const noexcept; + public const std::unordered_set& getChildren() const noexcept; + public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; + public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; + public facebook::react::AnimatedNodeType type() const noexcept; + public facebook::react::Tag tag() const noexcept; + public int activeIncomingNodes; + public int bfsColor; + public static constexpr int INITIAL_BFS_COLOR; + public static std::optional getNodeTypeByName(const std::string& nodeTypeName); + public virtual void onAttachToNode(facebook::react::Tag); + public virtual void onDetachedFromNode(facebook::react::Tag); + public virtual void update(); + public virtual ~AnimatedNode() = default; + public void addChild(facebook::react::Tag tag); + public void removeChild(facebook::react::Tag tag); +} + +class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { + public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); + public using PauseCallback = std::function; + public using ResumeCallback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; + public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) override; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; + public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; + public virtual void stop(facebook::react::CallbackId callbackId) override; + public virtual void trigger() override; + public void requestAsyncFlushForSurfaces(const std::set& surfaces); + public void synchronouslyUpdateProps(const std::unordered_map& updates); + public ~AnimationBackend() override; +} + +class facebook::react::AnimationChoreographer { + public virtual facebook::react::AnimationTimestamp now() const; + public virtual void pause() = 0; + public virtual void resume() = 0; + public virtual ~AnimationChoreographer() = default; + public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; + public void setAnimationBackend(std::weak_ptr animationBackend); +} + +class facebook::react::AnimationDriver { + protected bool ignoreCompletedHandlers_; + protected bool isComplete_; + protected bool isStarted_; + protected double startFrameTimeMs_; + protected facebook::react::NativeAnimatedNodesManager* manager_; + protected facebook::react::Tag animatedValueTag_; + protected folly::dynamic config_; + protected int currentIteration_; + protected int id_; + protected int iterations_; + protected std::optional endCallback_; + protected virtual bool update(double, bool); + protected void markNodeUpdated(facebook::react::Tag tag); + public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); + public bool getIsComplete() const noexcept; + public facebook::react::Tag getAnimatedValueTag() const noexcept; + public int getId() const noexcept; + public static std::optional getDriverTypeByName(const std::string& driverTypeName); + public virtual void updateConfig(folly::dynamic config); + public virtual ~AnimationDriver() = default; + public void runAnimationStep(double renderingTime); + public void startAnimation(); + public void stopAnimation(bool ignoreCompletedHandlers = false); +} + +class facebook::react::AppRegistryBinding { + public AppRegistryBinding() = delete; + public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); + public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); +} + +class facebook::react::AsyncArrayBuffer { + public AsyncArrayBuffer(const facebook::react::AsyncArrayBuffer&) = delete; + public AsyncArrayBuffer(facebook::react::AsyncArrayBuffer&&) noexcept = default; + public const uint8_t* data() const noexcept; + public facebook::react::AsyncArrayBuffer& operator=(const facebook::react::AsyncArrayBuffer&) = delete; + public facebook::react::AsyncArrayBuffer& operator=(facebook::react::AsyncArrayBuffer&&) noexcept = default; + public size_t size() const noexcept; + public static facebook::react::AsyncArrayBuffer acquire(facebook::jsi::Runtime& rt, const facebook::jsi::ArrayBuffer& buffer); + public static facebook::react::AsyncArrayBuffer borrow(facebook::jsi::Runtime& rt, const facebook::jsi::ArrayBuffer& buffer); + public static facebook::react::AsyncArrayBuffer copy(facebook::jsi::Runtime& rt, const facebook::jsi::ArrayBuffer& buffer); + public static facebook::react::AsyncArrayBuffer wrap(std::shared_ptr buffer) noexcept; + public static facebook::react::AsyncArrayBuffer wrap(std::vector bytes); + public static void throwIfDetached(facebook::jsi::Runtime& rt, const facebook::jsi::ArrayBuffer& buffer, const char* callerName); + public std::shared_ptr getMutableBuffer() const noexcept; + public uint8_t* data() noexcept; + public ~AsyncArrayBuffer() = default; +} + +class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { + public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; + public bool isContentEqual(const facebook::react::AttributedString& rhs) const; + public bool isEmpty() const; + public bool operator==(const facebook::react::AttributedString& rhs) const; + public const facebook::react::AttributedString::Fragments& getFragments() const; + public const facebook::react::TextAttributes& getBaseTextAttributes() const; + public facebook::react::AttributedString::Fragments& getFragments(); + public std::string getString() const; + public using Fragments = std::vector; + public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); + public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); + public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); +} + +class facebook::react::AttributedString::Fragment { + public bool isAttachment() const; + public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; + public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; + public facebook::react::ShadowView parentShadowView; + public facebook::react::TextAttributes textAttributes; + public static std::string AttachmentCharacter(); + public std::string string; +} + +class facebook::react::AttributedString::Range { + public int length; + public int location; +} + +class facebook::react::AttributedStringBox { + public AttributedStringBox(); + public AttributedStringBox(const facebook::react::AttributedString& value); + public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; + public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; + public AttributedStringBox(std::shared_ptr opaquePointer); + public const facebook::react::AttributedString& getValue() const; + public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; + public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; + public facebook::react::AttributedStringBox::Mode getMode() const; + public std::shared_ptr getOpaquePointer() const; +} + +enum facebook::react::AttributedStringBox::Mode { + OpaquePointer, + Value, +} + +class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseParagraphProps() = default; + public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool isSelectable; + public bool onTextLayout; + public facebook::react::ParagraphAttributes paragraphAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { + public BaseScrollViewProps() = default; + public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public Float decelerationRate; + public Float endDraggingSensitivityMultiplier; + public Float maximumZoomScale; + public Float minimumZoomScale; + public Float scrollEventThrottle; + public Float snapToInterval; + public Float zoomScale; + public bool alwaysBounceHorizontal; + public bool alwaysBounceVertical; + public bool automaticallyAdjustContentInsets; + public bool automaticallyAdjustKeyboardInsets; + public bool automaticallyAdjustsScrollIndicatorInsets; + public bool bounces; + public bool bouncesZoom; + public bool canCancelContentTouches; + public bool centerContent; + public bool directionalLockEnabled; + public bool disableIntervalMomentum; + public bool horizontal; + public bool isInvertedVirtualizedList; + public bool pagingEnabled; + public bool persistentScrollbar; + public bool pinchGestureEnabled; + public bool scrollEnabled; + public bool scrollToOverflowEnabled; + public bool scrollsToTop; + public bool showsHorizontalScrollIndicator; + public bool showsVerticalScrollIndicator; + public bool snapToEnd; + public bool snapToStart; + public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; + public facebook::react::EdgeInsets contentInset; + public facebook::react::EdgeInsets scrollIndicatorInsets; + public facebook::react::Point contentOffset; + public facebook::react::ScrollViewIndicatorStyle indicatorStyle; + public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; + public facebook::react::ScrollViewSnapToAlignment snapToAlignment; + public std::optional maintainVisibleContentPosition; + public std::vector snapToOffsets; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { + public BaseTextInputProps() = default; + public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool autoFocus; + public bool disableKeyboardShortcuts; + public bool editable; + public bool multiline; + public bool readOnly; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::SharedColor cursorColor; + public facebook::react::SharedColor placeholderTextColor; + public facebook::react::SharedColor selectionColor; + public facebook::react::SharedColor selectionHandleColor; + public facebook::react::SharedColor underlineColorAndroid; + public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; + public facebook::react::SubmitBehavior submitBehavior; + public facebook::react::TextAttributes getEffectiveTextAttributes(Float fontSizeMultiplier) const; + public int maxLength; + public int mostRecentEventCount; + public std::optional> acceptDragAndDropTypes; + public std::string autoCapitalize; + public std::string defaultValue; + public std::string placeholder; + public std::string text; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextProps { + public BaseTextProps() = default; + public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::TextAttributes textAttributes; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BaseTextShadowNode { + public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); + public using Attachments = std::vector; +} + +class facebook::react::BaseTextShadowNode::Attachment { + public const facebook::react::ShadowNode* shadowNode; + public size_t fragmentIndex; +} + +class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { + public void onAccessibilityAction(const std::string& name) const; + public void onAccessibilityEscape() const; + public void onAccessibilityMagicTap() const; + public void onAccessibilityTap() const; + public void onBlur() const; + public void onFocus() const; + public void onLayout(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps, public facebook::react::AccessibilityProps { + public BaseViewProps() = default; + public BaseViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseViewProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public Float opacity; + public Float outlineOffset; + public Float outlineWidth; + public Float shadowOpacity; + public Float shadowRadius; + public bool collapsable; + public bool collapsableChildren; + public bool getClipsContentToBounds() const; + public bool onLayout; + public bool removeClippedSubviews; + public bool shouldRasterize; + public facebook::react::BackfaceVisibility backfaceVisibility; + public facebook::react::BlendMode mixBlendMode; + public facebook::react::BorderMetrics resolveBorderMetrics(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::CascadedBorderColors borderColors; + public facebook::react::CascadedBorderCurves borderCurves; + public facebook::react::CascadedBorderRadii borderRadii; + public facebook::react::CascadedBorderStyles borderStyles; + public facebook::react::CascadedBorderWidths getBorderWidths() const; + public facebook::react::Cursor cursor; + public facebook::react::EdgeInsets hitSlop; + public facebook::react::Isolation isolation; + public facebook::react::OutlineStyle outlineStyle; + public facebook::react::PointerEventsMode pointerEvents; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor outlineColor; + public facebook::react::SharedColor shadowColor; + public facebook::react::Size shadowOffset; + public facebook::react::Transform resolveTransform(const facebook::react::LayoutMetrics& layoutMetrics) const; + public facebook::react::Transform transform; + public facebook::react::TransformOrigin transformOrigin; + public facebook::react::ViewEvents events; + public static facebook::react::Transform resolveTransform(const facebook::react::Size& frameSize, const facebook::react::Transform& transform, const facebook::react::TransformOrigin& transformOrigin); + public std::optional zIndex; + public std::vector backgroundImage; + public std::vector backgroundPosition; + public std::vector backgroundRepeat; + public std::vector backgroundSize; + public std::vector boxShadow; + public std::vector filter; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::BindingsInstaller { + public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); +} + +class facebook::react::BufferedRuntimeExecutor : public std::enable_shared_from_this { + public BufferedRuntimeExecutor(facebook::react::BufferedRuntimeExecutor::Executor executor); + public facebook::react::RuntimeExecutor asRuntimeExecutor(); + public facebook::react::RuntimeExecutor asWeakRuntimeExecutor(); + public using Executor = std::function; + public using Work = std::function; + public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); + public void execute(facebook::react::SchedulerPriority priority, facebook::react::BufferedRuntimeExecutor::Work&& callback); + public void flush(); +} + +class facebook::react::CSSSyntaxParser { + public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; + public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; + public constexpr CSSSyntaxParser(std::string_view css); + public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); + public constexpr bool isFinished() const; + public constexpr const facebook::react::CSSToken& peek() const; + public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; + public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; + public constexpr void consumeWhitespace(); + template + public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); + template + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); +} + +class facebook::react::CSSToken { + public constexpr CSSToken(const facebook::react::CSSToken& other) = default; + public constexpr CSSToken(facebook::react::CSSToken&& other) = default; + public constexpr CSSToken(facebook::react::CSSTokenType type); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value); + public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); + public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); + public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; + public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; + public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; + public constexpr facebook::react::CSSTokenType type() const; + public constexpr float numericValue() const; + public constexpr std::string_view stringValue() const; + public constexpr std::string_view unit() const; +} + +class facebook::react::CSSTokenizer { + public constexpr CSSTokenizer(std::string_view characters); + public constexpr facebook::react::CSSToken next(); +} + +class facebook::react::CSSValueParser { + public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; + public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); + public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; + public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); + public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); + template + public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); +} + +class facebook::react::CallInvoker { + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; + public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; + public virtual void invokeAsync(std::function&& func) noexcept; + public virtual void invokeSync(facebook::react::CallFunc&& func) = 0; + public virtual void invokeSync(std::function&& func); + public virtual ~CallInvoker() = default; +} + +class facebook::react::CallInvokerImpl : public facebook::react::CallInvoker { + public CallInvokerImpl(std::shared_ptr bufferedRuntimeExecutor, std::weak_ptr runtimeScheduler); + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeSync(facebook::react::CallFunc&& func) override; +} + +class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { + public facebook::jsi::Function& callback() noexcept; + public facebook::jsi::Runtime& runtime() noexcept; + public facebook::react::CallInvoker& jsInvoker() noexcept; + public static std::weak_ptr createWeak(facebook::jsi::Function&& callback, facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public std::shared_ptr jsInvokerPtr() noexcept; + public void destroy(); +} + +class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { + public Color getColor(); + public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::ComponentDescriptor { + protected facebook::react::ComponentDescriptor::Flavor flavor_; + protected facebook::react::EventDispatcher::Weak eventDispatcher_; + protected facebook::react::RawPropsParser rawPropsParser_; + protected friend ShadowNode; + protected std::shared_ptr contextContainer_; + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const = 0; + public ComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public const std::shared_ptr& getContextContainer() const; + public using Flavor = std::shared_ptr; + public using Shared = std::shared_ptr; + public using Unique = std::unique_ptr; + public virtual facebook::react::ComponentHandle getComponentHandle() const = 0; + public virtual facebook::react::ComponentName getComponentName() const = 0; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const = 0; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const = 0; + public virtual facebook::react::ShadowNodeTraits getTraits() const = 0; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const = 0; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const = 0; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const = 0; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const = 0; + public virtual ~ComponentDescriptor() = default; +} + +class facebook::react::ComponentDescriptorParameters { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::EventDispatcher::Weak eventDispatcher; + public std::shared_ptr contextContainer; +} + +class facebook::react::ComponentDescriptorProvider { + public facebook::react::ComponentDescriptor::Flavor flavor; + public facebook::react::ComponentDescriptorConstructor* constructor; + public facebook::react::ComponentHandle handle; + public facebook::react::ComponentName name; +} + +class facebook::react::ComponentDescriptorProviderRegistry { + public facebook::react::ComponentDescriptorRegistry::Shared createComponentDescriptorRegistry(const facebook::react::ComponentDescriptorParameters& parameters) const; + public void add(const facebook::react::ComponentDescriptorProvider& provider) const; + public void setComponentDescriptorProviderRequest(facebook::react::ComponentDescriptorProviderRequest request) const; +} + +class facebook::react::ComponentDescriptorRegistry { + public ComponentDescriptorRegistry(facebook::react::ComponentDescriptorParameters parameters, const facebook::react::ComponentDescriptorProviderRegistry& providerRegistry, std::shared_ptr contextContainer); + public bool hasComponentDescriptorAt(facebook::react::ComponentHandle componentHandle) const; + public const facebook::react::ComponentDescriptor& at(const std::string& componentName) const; + public const facebook::react::ComponentDescriptor& at(facebook::react::ComponentHandle componentHandle) const; + public facebook::react::ComponentDescriptor::Shared getFallbackComponentDescriptor() const; + public using Shared = std::shared_ptr; + public void setFallbackComponentDescriptor(const facebook::react::SharedComponentDescriptor& descriptor); +} + +class facebook::react::ContextContainer { + public void erase(const std::string& key) const; + public void update(const facebook::react::ContextContainer& contextContainer) const; + template + public T at(const std::string& key) const; + template + public std::optional find(const std::string& key) const; + template + public void insert(const std::string& key, const T& instance) const; +} + +class facebook::react::DebugStringConvertible { +} + +class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { + public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::Error { + public Error(const char* message); + public Error(std::string message); + public const std::string& message() const; +} + +class facebook::react::EventAnimationDriver { + protected const facebook::react::Tag animatedValueTag_; + protected std::vector eventPath_; + public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); + public facebook::react::Tag getAnimatedNodeTag() const; + public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); + public ~EventAnimationDriver() = default; +} + +class facebook::react::EventBeat { + protected facebook::react::EventBeat::BeatCallback beatCallback_; + protected mutable std::atomic isEventBeatRequested_; + protected std::function induceCallback_; + protected std::shared_ptr ownerBox_; + protected void induce() const; + public EventBeat(const facebook::react::EventBeat& other) = delete; + public EventBeat(std::shared_ptr ownerBox, facebook::react::RuntimeScheduler& runtimeScheduler); + public facebook::react::EventBeat& operator=(const facebook::react::EventBeat& other) = delete; + public using BeatCallback = std::function; + public using Factory = std::function(std::shared_ptr ownerBox)>; + public virtual void request() const; + public virtual void requestSynchronous(facebook::react::Tag tag) const; + public virtual ~EventBeat() = default; + public void requestSynchronous() const; + public void setBeatCallback(facebook::react::EventBeat::BeatCallback beatCallback); +} + +struct facebook::react::EventBeat::OwnerBox { + public std::weak_ptr owner; +} + +class facebook::react::EventDispatcher { + public EventDispatcher(const facebook::react::EventQueueProcessor& eventProcessor, std::unique_ptr eventBeat, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void addListener(std::shared_ptr listener) const; + public void dispatchEvent(facebook::react::RawEvent&& rawEvent) const; + public void dispatchStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode) const; + public void dispatchUniqueEvent(facebook::react::RawEvent&& rawEvent) const; + public void removeListener(const std::shared_ptr& listener) const; +} + +class facebook::react::EventEmitter { + public EventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public const facebook::react::SharedEventTarget& getEventTarget() const; + public static facebook::react::ValueFactory defaultPayloadFactory(); + public static std::mutex& DispatchMutex(); + public static std::string normalizeEventType(std::string type); + public using Shared = std::shared_ptr; + public virtual ~EventEmitter() = default; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory(), facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified) const; + public void dispatchEvent(std::string type, folly::dynamic&& payload, facebook::react::RawEvent::Category category, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory = facebook::react::EventEmitter::defaultPayloadFactory()) const; + public void dispatchUniqueEvent(std::string type, const facebook::react::ValueFactory& payloadFactory, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload) const; + public void dispatchUniqueEvent(std::string type, facebook::react::SharedEventPayload payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload) const; + public void dispatchUniqueEvent(std::string type, folly::dynamic&& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void setEnabled(bool enabled); + public void setShadowNodeFamily(std::weak_ptr shadowNodeFamily); +} + +class facebook::react::EventListenerContainer { + public bool willDispatchEvent(const facebook::react::RawEvent& event); + public void addListener(std::shared_ptr listener); + public void removeListener(const std::shared_ptr& listener); +} + +class facebook::react::EventLogger { + public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) = 0; + public virtual void onEventProcessingEnd(facebook::react::EventTag tag) = 0; + public virtual void onEventProcessingStart(facebook::react::EventTag tag) = 0; + public virtual ~EventLogger() = default; +} + +class facebook::react::EventQueue { + protected const std::unique_ptr eventBeat_; + protected facebook::react::EventQueueProcessor eventProcessor_; + protected mutable std::mutex queueMutex_; + protected mutable std::vector eventQueue_; + protected mutable std::vector stateUpdateQueue_; + protected void flushEvents(facebook::jsi::Runtime& runtime) const; + protected void flushStateUpdates() const; + protected void onBeat(facebook::jsi::Runtime& runtime) const; + protected void onEnqueue() const; + public EventQueue(facebook::react::EventQueueProcessor eventProcessor, std::unique_ptr eventBeat); + public void enqueueEvent(facebook::react::RawEvent&& rawEvent) const; + public void enqueueStateUpdate(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void enqueueUniqueEvent(facebook::react::RawEvent&& rawEvent) const; +} + +enum facebook::react::EventQueue::UpdateMode { + Asynchronous, + unstable_Immediate, +} + +class facebook::react::EventQueueProcessor { + public EventQueueProcessor(facebook::react::EventPipe eventPipe, facebook::react::EventPipeConclusion eventPipeConclusion, facebook::react::StatePipe statePipe, std::weak_ptr eventLogger); + public void flushEvents(facebook::jsi::Runtime& runtime, std::vector&& events) const; + public void flushStateUpdates(std::vector&& states) const; +} + +class facebook::react::EventSubscription { + public EventSubscription(const facebook::react::EventSubscription&) = delete; + public EventSubscription(facebook::react::EventSubscription&&) noexcept = default; + public EventSubscription(std::function remove); + public facebook::react::EventSubscription& operator=(const facebook::react::EventSubscription&) = delete; + public facebook::react::EventSubscription& operator=(facebook::react::EventSubscription&&) noexcept = default; + public void remove(); + public ~EventSubscription() = default; +} + +class facebook::react::EventTarget { + public EventTarget(facebook::react::InstanceHandle::Shared instanceHandle, facebook::react::SurfaceId surfaceId); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::EventTarget::Tag getTag() const; + public facebook::react::SurfaceId getSurfaceId() const; + public using Tag = int32_t; + public void release(facebook::jsi::Runtime& runtime); + public void retain(facebook::jsi::Runtime& runtime); + public void setEnabled(bool enabled); +} + +class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + protected virtual void updateConfig(folly::dynamic config) override; + public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::FuseboxTracer { + public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; + public bool isTracing(); + public bool startTracing(); + public bool stopTracing(const std::function& resultCallback); + public bool stopTracingAndWriteToFile(const std::string& path); + public static facebook::react::FuseboxTracer& getFuseboxTracer(); + public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); +} + +class facebook::react::HermesInstance { + public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; +} + +class facebook::react::HighResDuration { + public constexpr HighResDuration(); + public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator!=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator<=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator==(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator==(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>(const std::chrono::steady_clock::duration& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResDuration& rhs) const; + public constexpr bool operator>=(const std::chrono::steady_clock::duration& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResDuration operator+(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator+(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const facebook::react::HighResDuration& rhs) const; + public constexpr facebook::react::HighResDuration operator-(const std::chrono::steady_clock::duration& rhs) const; + public constexpr facebook::react::HighResDuration& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator+=(const std::chrono::steady_clock::duration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResDuration& operator-=(const std::chrono::steady_clock::duration& rhs); + public constexpr int64_t toNanoseconds() const; + public constexpr operator std::chrono::steady_clock::duration() const; + public static constexpr facebook::react::HighResDuration fromChrono(std::chrono::steady_clock::duration chronoDuration); + public static constexpr facebook::react::HighResDuration fromMilliseconds(int64_t units); + public static constexpr facebook::react::HighResDuration fromNanoseconds(int64_t units); + public static constexpr facebook::react::HighResDuration zero(); + public static facebook::react::HighResDuration fromDOMHighResTimeStamp(double units); +} + +class facebook::react::HighResTimeStamp { + public HighResTimeStamp() noexcept; + public constexpr bool operator!=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator<=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator==(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr bool operator>=(const facebook::react::HighResTimeStamp& rhs) const; + public constexpr double toDOMHighResTimeStamp() const; + public constexpr facebook::react::HighResTimeStamp& operator+=(const facebook::react::HighResDuration& rhs); + public constexpr facebook::react::HighResTimeStamp& operator-=(const facebook::react::HighResDuration& rhs); + public constexpr std::chrono::steady_clock::time_point toChronoSteadyClockTimePoint() const; + public static constexpr facebook::react::HighResTimeStamp fromChronoSteadyClockTimePoint(std::chrono::steady_clock::time_point chronoTimePoint); + public static constexpr facebook::react::HighResTimeStamp max() noexcept; + public static constexpr facebook::react::HighResTimeStamp min() noexcept; + public static facebook::react::HighResDuration unsafeOriginFromUnixTimeStamp() noexcept; + public static facebook::react::HighResTimeStamp fromDOMHighResTimeStamp(double units); + public static facebook::react::HighResTimeStamp now() noexcept; +} + +class facebook::react::HostPlatformViewProps : public facebook::react::BaseViewProps { + public HostPlatformViewProps() = default; + public HostPlatformViewProps(const facebook::react::PropsParserContext& context, const facebook::react::HostPlatformViewProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool focusable; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::IAsyncEventEmitter { + public IAsyncEventEmitter() noexcept = default; + public IAsyncEventEmitter(const facebook::react::IAsyncEventEmitter&) = delete; + public IAsyncEventEmitter(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public facebook::react::IAsyncEventEmitter& operator=(const facebook::react::IAsyncEventEmitter&) = delete; + public facebook::react::IAsyncEventEmitter& operator=(facebook::react::IAsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const = 0; + public virtual ~IAsyncEventEmitter() noexcept = default; +} + +class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ImageErrorInfo { + public int responseCode; + public std::string error; + public std::vector> httpResponseHeaders; +} + +class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onError(const facebook::react::ImageErrorInfo& error) const; + public void onLoad(const facebook::react::ImageSource& source) const; + public void onLoadEnd() const; + public void onLoadStart() const; + public void onPartialLoad() const; + public void onProgress(double progress, int64_t loaded, int64_t total) const; +} + +class facebook::react::ImageLoadError { + public ImageLoadError(std::shared_ptr error); + public std::shared_ptr getError() const; +} + +class facebook::react::ImageManager { + public ImageManager(const std::shared_ptr& contextContainer); + public virtual facebook::react::ImageRequest requestImage(const facebook::react::ImageSource& imageSource, facebook::react::SurfaceId surfaceId, const ImageRequestParams& imageRequestParams = {}, facebook::react::Tag tag = {}) const; + public virtual ~ImageManager(); +} + +class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { + public Float blurRadius; + public Float resizeMultiplier; + public ImageProps() = default; + public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); + public bool shouldNotifyLoadEvents; + public facebook::react::EdgeInsets capInsets; + public facebook::react::ImageResizeMode resizeMode; + public facebook::react::ImageSource defaultSource; + public facebook::react::ImageSource loadingIndicatorSource; + public facebook::react::ImageSources sources; + public facebook::react::SharedColor overlayColor; + public std::optional fadeDuration; + public std::optional progressiveRenderingEnabled; + public std::optional tintColor; + public std::string resizeMethod; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::ImageRequest { + public ImageRequest(const facebook::react::ImageRequest& other) = delete; + public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; + public ImageRequest(facebook::react::ImageSource imageSource, std::shared_ptr telemetry, facebook::react::SharedFunction<> resumeFunction = {}, facebook::react::SharedFunction<> cancelationFunction = {}); + public const facebook::react::ImageResponseObserverCoordinator& getObserverCoordinator() const; + public const facebook::react::ImageSource& getImageSource() const; + public const std::shared_ptr& getSharedObserverCoordinator() const; + public const std::shared_ptr& getSharedTelemetry() const; + public facebook::react::ImageRequest& operator=(const facebook::react::ImageRequest& other) = delete; + public facebook::react::ImageRequest& operator=(facebook::react::ImageRequest&& other) noexcept = default; + public ~ImageRequest() = default; +} + +class facebook::react::ImageResponse { + public ImageResponse(std::shared_ptr image, std::shared_ptr metadata); + public std::shared_ptr getImage() const; + public std::shared_ptr getMetadata() const; +} + +enum facebook::react::ImageResponse::Status { + Cancelled, + Completed, + Consumed, + Failed, + Loading, +} + +class facebook::react::ImageResponseObserver { + public virtual void didReceiveFailure(const facebook::react::ImageLoadError& error) const = 0; + public virtual void didReceiveImage(const facebook::react::ImageResponse& imageResponse) const = 0; + public virtual void didReceiveProgress(float progress, int64_t loaded, int64_t total) const = 0; + public virtual ~ImageResponseObserver() noexcept = default; +} + +class facebook::react::ImageResponseObserverCoordinator { + public ImageResponseObserverCoordinator(facebook::react::SharedFunction<> resumeFunction, facebook::react::SharedFunction<> cancelationFunction); + public void addObserver(std::shared_ptr observer) const; + public void nativeImageResponseComplete(const facebook::react::ImageResponse& imageResponse) const; + public void nativeImageResponseFailed(const facebook::react::ImageLoadError& loadError) const; + public void nativeImageResponseProgress(float progress, int64_t loaded, int64_t total) const; + public void removeObserver(const std::shared_ptr& observer) const; +} + +class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { + public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setImageManager(const std::shared_ptr& imageManager); +} + +class facebook::react::ImageSource { + public Float scale; + public bool operator==(const facebook::react::ImageSource& rhs) const; + public facebook::react::ImageSource::CacheStategy cache; + public facebook::react::ImageSource::Type type; + public facebook::react::Size size; + public std::string body; + public std::string bundle; + public std::string method; + public std::string uri; + public std::vector> headers; +} + +enum facebook::react::ImageSource::CacheStategy { + Default, + ForceCache, + OnlyIfCached, + Reload, +} + +enum facebook::react::ImageSource::Type { + Invalid, + Local, + Remote, +} + +class facebook::react::ImageState { + public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const ImageRequestParams& imageRequestParams); + public const ImageRequestParams& getImageRequestParams() const; + public const facebook::react::ImageRequest& getImageRequest() const; + public facebook::react::ImageSource getImageSource() const; +} + +class facebook::react::ImageTelemetry { + public ImageTelemetry(const facebook::react::SurfaceId surfaceId); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; +} + +class facebook::react::InstanceHandle { + public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::Tag getTag() const; + public using Shared = std::shared_ptr; +} + +class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { + public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; + public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; + public virtual void update() override; +} + +class facebook::react::JSBigBufferString : public facebook::react::JSBigString { + public JSBigBufferString(size_t size); + public char* mutableData(); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigBufferString() override; +} + +class facebook::react::JSBigFileString : public facebook::react::JSBigString { + public JSBigFileString(int fd, size_t size, off_t offset = 0); + public int fd() const; + public static std::unique_ptr fromPath(const std::string& sourceURL); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; + public ~JSBigFileString() override; +} + +class facebook::react::JSBigStdString : public facebook::react::JSBigString { + public JSBigStdString(std::string str, bool isAscii = false); + public virtual bool isAscii() const override; + public virtual const char* c_str() const override; + public virtual size_t size() const override; +} + +class facebook::react::JSBigString : public facebook::jsi::Buffer { + public JSBigString() = default; + public JSBigString(const facebook::react::JSBigString&) = delete; + public JSBigString(facebook::react::JSBigString&&) = delete; + public facebook::react::JSBigString& operator=(const facebook::react::JSBigString&) = delete; + public facebook::react::JSBigString& operator=(facebook::react::JSBigString&&) = delete; + public virtual bool isAscii() const = 0; + public virtual const char* c_str() const = 0; + public virtual const uint8_t* data() const final; + public virtual size_t size() const override = 0; + public ~JSBigString() override = default; +} + +class facebook::react::JsErrorHandler { + public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); + public bool hasHandledFatalError(); + public bool inErrorHandler(); + public bool isRuntimeReady(); + public using OnJsError = std::function; + public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); + public void notifyOfFatalError(); + public void registerErrorListener(const std::function& listener); + public void setRuntimeReady(); + public ~JsErrorHandler(); +} + +struct facebook::react::JsErrorHandler::ProcessedError { + public bool isFatal; + public facebook::jsi::Object extraData; + public int id; + public std::optional componentStack; + public std::optional name; + public std::optional originalMessage; + public std::string message; + public std::vector stack; +} + +struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { + public std::optional column; + public std::optional lineNumber; + public std::optional file; + public std::string methodName; +} + +class facebook::react::LayoutAnimationCallbackWrapper { + public LayoutAnimationCallbackWrapper(); + public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); + public void call(facebook::jsi::Runtime& runtime) const; +} + +class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; + public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); +} + +class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { + protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; + protected facebook::react::ShadowView createInterpolatedShadowView(Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; + protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; + protected mutable std::mutex currentAnimationMutex_; + protected mutable std::optional currentAnimation_; + protected mutable std::vector inflightAnimations_; + protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; + protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; + protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; + public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); + public virtual bool shouldAnimateFrame() const override; + public virtual bool shouldOverridePullTransaction() const override; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; + public void setClockNow(std::function now); + public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; + public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; +} + +class facebook::react::LayoutAnimationStatusDelegate { + public virtual void onAllAnimationsComplete() = 0; + public virtual void onAnimationStarted() = 0; + public virtual ~LayoutAnimationStatusDelegate() = default; +} + +class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { + public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; + public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; +} + +class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { + public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::LayoutMetrics getLayoutMetrics() const; + public facebook::react::LayoutMetrics layoutMetrics_; + public facebook::react::LayoutableShadowNode::UnsharedList getLayoutableChildNodes() const; + public static facebook::react::LayoutMetrics computeLayoutMetricsFromRoot(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& rootNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNode::AncestorList& ancestors, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static facebook::react::LayoutMetrics computeRelativeLayoutMetrics(const facebook::react::ShadowNodeFamily& descendantNodeFamily, const facebook::react::LayoutableShadowNode& ancestorNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy); + public static std::shared_ptr findNodeAtPoint(const std::shared_ptr& node, facebook::react::Point point); + public using UnsharedList = std::vector; + public virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const; + public virtual bool canBeTouchTarget() const; + public virtual bool canChildrenBeTouchTarget() const; + public virtual bool getIsLayoutClean() const = 0; + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const; + public virtual facebook::react::Size measure(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public virtual facebook::react::Transform getTransform() const; + public virtual void dirtyLayout() = 0; + public virtual void layout(facebook::react::LayoutContext layoutContext) = 0; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) = 0; + public void setLayoutMetrics(facebook::react::LayoutMetrics layoutMetrics); +} + +struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { + public bool clipSpecifiedAncestor; + public bool enableOverflowClipping; + public bool includeTransform; + public bool includeViewportOffset; +} + +class facebook::react::LineMeasureCacheKey { + public facebook::react::AttributedString attributedString; + public facebook::react::ParagraphAttributes paragraphAttributes; + public facebook::react::Size size; +} + +class facebook::react::LongLivedObject { + protected LongLivedObject(facebook::jsi::Runtime& runtime); + protected facebook::jsi::Runtime& runtime_; + protected virtual ~LongLivedObject() = default; + public virtual void allowRelease(); +} + +class facebook::react::LongLivedObjectCollection { + public LongLivedObjectCollection() = default; + public LongLivedObjectCollection(const facebook::react::LongLivedObjectCollection&) = delete; + public size_t size() const; + public static facebook::react::LongLivedObjectCollection& get(facebook::jsi::Runtime& runtime); + public void add(std::shared_ptr o); + public void clear(); + public void operator=(const facebook::react::LongLivedObjectCollection&) = delete; + public void remove(const facebook::react::LongLivedObject* o); +} + +class facebook::react::MapBuffer { + public MapBuffer(const facebook::react::MapBuffer& buffer) = delete; + public MapBuffer(facebook::react::MapBuffer&& buffer) = default; + public MapBuffer(std::vector data); + public bool getBool(facebook::react::MapBuffer::Key key) const; + public const uint8_t* data() const; + public double getDouble(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer getMapBuffer(facebook::react::MapBuffer::Key key) const; + public facebook::react::MapBuffer& operator=(const facebook::react::MapBuffer& other) = delete; + public facebook::react::MapBuffer& operator=(facebook::react::MapBuffer&& other) = default; + public int32_t getInt(facebook::react::MapBuffer::Key key) const; + public int64_t getLong(facebook::react::MapBuffer::Key key) const; + public size_t size() const; + public std::string getString(facebook::react::MapBuffer::Key key) const; + public std::vector getDoubleBuffer(facebook::react::MapBuffer::Key key) const; + public std::vector getMapBufferList(facebook::react::MapBuffer::Key key) const; + public std::vector getIntBuffer(facebook::react::MapBuffer::Key key) const; + public uint16_t count() const; + public using Key = uint16_t; +} + +enum facebook::react::MapBuffer::DataType : uint16_t { + Boolean, + Double, + DoubleBuffer, + Int, + IntBuffer, + Long, + Map, + MapBufferList, + String, +} + +struct facebook::react::MapBuffer::Bucket { + public Bucket(facebook::react::MapBuffer::Key key, uint16_t type, uint64_t data); + public facebook::react::MapBuffer::Key key; + public uint16_t type; + public uint64_t data; +} + +struct facebook::react::MapBuffer::Header { + public uint16_t count; +} + +class facebook::react::MapBufferBuilder { + public MapBufferBuilder(uint32_t initialSize = facebook::react::INITIAL_BUCKETS_SIZE); + public facebook::react::MapBuffer build(); + public static facebook::react::MapBuffer EMPTY(); + public void putBool(facebook::react::MapBuffer::Key key, bool value); + public void putDouble(facebook::react::MapBuffer::Key key, double value); + public void putDoubleBuffer(facebook::react::MapBuffer::Key key, const std::vector& value); + public void putInt(facebook::react::MapBuffer::Key key, int32_t value); + public void putIntBuffer(facebook::react::MapBuffer::Key key, const std::vector& value); + public void putLong(facebook::react::MapBuffer::Key key, int64_t value); + public void putMapBuffer(facebook::react::MapBuffer::Key key, const facebook::react::MapBuffer& map); + public void putMapBufferList(facebook::react::MapBuffer::Key key, const std::vector& mapBufferList); + public void putString(facebook::react::MapBuffer::Key key, const std::string& value); +} + +class facebook::react::MergedValueDispatcher { + public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); + public using DispatchFunction = std::function&&)>; + public using MergedValueFunction = std::function&& tagToProps)>; + public void dispatch(const std::unordered_map& value); +} + +class facebook::react::MessageQueueThread { + public virtual void quitSynchronous() = 0; + public virtual void runOnQueue(std::function&&) = 0; + public virtual void runOnQueueSync(std::function&&) = 0; + public virtual ~MessageQueueThread() = default; +} + +class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; +} + +class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::ModalHostViewState { + public ModalHostViewState(); + public ModalHostViewState(facebook::react::Size screenSize_); + public const facebook::react::Size screenSize; + public using Shared = std::shared_ptr; +} + +class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { + public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::MountingCoordinator { + public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); + public bool hasPendingTransactions() const; + public bool waitForTransaction(std::chrono::duration timeout) const; + public const facebook::react::TelemetryController& getTelemetryController() const; + public facebook::react::ShadowTreeRevision getBaseRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional pullTransaction(bool willPerformAsynchronously = false) const; + public void didPerformAsyncTransactions() const; + public void setMountingOverrideDelegate(std::weak_ptr delegate) const; +} + +class facebook::react::MountingOverrideDelegate { + public virtual bool shouldOverridePullTransaction() const = 0; + public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; + public virtual ~MountingOverrideDelegate() = default; +} + +class facebook::react::MountingTransaction { + public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; + public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; + public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); + public const facebook::react::ShadowViewMutationList& getMutations() const; + public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; + public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; + public facebook::react::MountingTransaction::Number getNumber() const; + public facebook::react::ShadowViewMutationList getMutations(); + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::TransactionTelemetry& getTelemetry() const; + public using Number = int64_t; + public void mergeWith(facebook::react::MountingTransaction&& transaction); +} + +class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { + public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { + public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; + public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; + public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; + public bool commitProps(); + public bool hasManagedProps() const noexcept; + public bool isOnRenderThread() const noexcept; + public bool useSharedAnimatedBackend() const noexcept; + public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); + public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); + public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; + public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; + public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; + public std::optional getValue(facebook::react::Tag tag) noexcept; + public std::shared_ptr getEventEmitterListener() noexcept; + public using DirectManipulationCallback = std::function; + public using FabricCommitCallback = std::function&)>; + public using FrameRateListenerCallback = std::function; + public using ResolvePlatformColor = std::function; + public using StartOnRenderCallback = std::function&&, bool isAsync)>; + public using StopOnRenderCallback = std::function; + public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; + public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; + public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; + public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; + public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; + public void dropAnimatedNode(facebook::react::Tag tag) noexcept; + public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); + public void flattenAnimatedNodeOffset(facebook::react::Tag tag); + public void flushAnimatedNodesCreatedAsync() noexcept; + public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); + public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; + public void onRender(); + public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; + public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; + public void restoreDefaultValues(facebook::react::Tag tag) noexcept; + public void scheduleOnUI(facebook::react::UiTask&& task); + public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; + public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); + public void setAnimatedNodeValue(facebook::react::Tag tag, double value); + public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; + public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; + public void startRenderCallbackIfNeeded(bool isAsync); + public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; + public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; + public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; + public ~NativeAnimatedNodesManager() noexcept; + template >> + public T* getAnimatedNode(facebook::react::Tag tag) const; +} + +class facebook::react::NativeAnimatedNodesManagerProvider { + public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); + public std::shared_ptr getEventEmitterListener(); + public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); + public void addEventEmitterListener(const std::shared_ptr& listener); +} + +class facebook::react::NativeMethodCallInvoker { + public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept = 0; + public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) = 0; + public virtual ~NativeMethodCallInvoker() = default; +} + +class facebook::react::NativeModulePerfLogger { + public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; + public virtual void asyncMethodCallBatchPreprocessStart() = 0; + public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; + public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; + public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; + public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; + public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; + public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; + public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; + public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; + public virtual ~NativeModulePerfLogger() = default; +} + +class facebook::react::NativeViewTransition : public NativeViewTransitionCxxSpec { + public NativeViewTransition(std::shared_ptr jsInvoker); + public facebook::jsi::Value findPseudoElementShadowNodeByTag(facebook::jsi::Runtime& rt, double reactTag); + public std::optional getViewTransitionInstance(facebook::jsi::Runtime& rt, const std::string& name, const std::string& pseudo); + public void transitionAnimationFinished(facebook::jsi::Runtime& rt, double animationId); + public void waitForTransitionAnimation(facebook::jsi::Runtime& rt, double animationId); +} + +class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { + public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(std::string propKey, folly::dynamic& props); +} + +class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { + protected std::vector inputNodes_; + public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); +} + +class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { + public Float minimumFontScale; + public Float minimumFontSize; + public bool adjustsFontSizeToFit; + public bool includeFontPadding; + public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; + public facebook::react::EllipsizeMode ellipsizeMode; + public facebook::react::HyphenationFrequency android_hyphenationFrequency; + public facebook::react::TextBreakStrategy textBreakStrategy; + public facebook::react::TextWidthMode textWidthMode; + public int maximumNumberOfLines; + public std::optional textAlignVertical; +} + +class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; +} + +class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +class facebook::react::ParagraphShadowNode::Content { + public facebook::react::AttributedString attributedString; + public facebook::react::BaseTextShadowNode::Attachments attachments; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::PlatformTimerRegistry { + public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; + public virtual void createTimer(uint32_t timerID, double delayMS) = 0; + public virtual void deleteTimer(uint32_t timerID) = 0; + public virtual void quit(); + public virtual void setTimerManager(std::weak_ptr); + public virtual ~PlatformTimerRegistry() noexcept = default; +} + +class facebook::react::PointerEventsProcessor { + public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); + public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); + public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); + public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); +} + +class facebook::react::PointerHoverTracker { + public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); + public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; + public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; + public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; + public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; + public using EventPath = std::vector>; + public using Unique = std::unique_ptr; + public void markAsOld(); +} + +class facebook::react::PreparedTextCacheKey { + public Float pointScaleFactor; + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { + public Props() = default; + public Props(const facebook::react::Props& other) = default; + public Props(const facebook::react::PropsParserContext& context, const facebook::react::Props& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::react::Props& operator=(const facebook::react::Props& other) = delete; + public std::string nativeId; + public using Shared = std::shared_ptr; + public virtual ~Props() = default; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { + public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public facebook::react::SurfaceId connectedRootTag() const; + public facebook::react::Tag connectedViewTag() const; + public folly::dynamic props(); + public virtual void update() override; + public void collectProps(); + public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); + public void connectToView(facebook::react::Tag viewTag); + public void disconnectFromShadowNodeFamily(); + public void disconnectFromView(facebook::react::Tag viewTag); + public void restoreDefaultValues(); + public void update(bool forceFabricCommit); +} + +class facebook::react::RawProps { + public RawProps(); + public RawProps(const facebook::react::RawProps& other) noexcept; + public RawProps(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawProps(facebook::react::RawProps&& other) noexcept = default; + public RawProps(folly::dynamic dynamic) noexcept; + public bool isEmpty() const noexcept; + public const facebook::react::RawValue* at(const char* name) const noexcept; + public const facebook::react::RawValue* at(const char* name, const char* prefix, const char* suffix) const noexcept; + public const folly::dynamic* getDynamic() const noexcept; + public facebook::react::RawProps& operator=(const facebook::react::RawProps& other) noexcept = delete; + public facebook::react::RawProps& operator=(facebook::react::RawProps&& other) noexcept = delete; + public folly::dynamic toDynamic(const std::function& filterObjectKeys = nullptr) const; + public operator folly::dynamic() const; + public void parse(const facebook::react::RawPropsParser& parser) noexcept; + template + public void forEachItem(Fn fn) const; +} + +enum facebook::react::RawProps::Mode { + Dynamic, + Empty, + JSI, +} + +class facebook::react::RawPropsKeyMap { + public facebook::react::RawPropsValueIndex at(std::string_view name) noexcept; + public void insert(std::string_view key, facebook::react::RawPropsValueIndex value) noexcept; + public void reindex() noexcept; +} + +class facebook::react::RawPropsParser { + public RawPropsParser() = default; + public RawPropsParser(bool); + template + public void prepare() noexcept; +} + +class facebook::react::RawTextProps : public facebook::react::Props { + public RawTextProps() = default; + public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); + public std::string text; +} + +class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::RawValue { + public RawValue() noexcept; + public RawValue(const folly::dynamic& dynamic) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value) noexcept; + public RawValue(facebook::jsi::Runtime& runtime, facebook::jsi::Value&& value) noexcept; + public RawValue(facebook::react::RawValue&& other) noexcept; + public RawValue(folly::dynamic&& dynamic) noexcept; + public bool hasValue() const; + public facebook::react::RawValue& operator=(facebook::react::RawValue&& other) noexcept; + public operator folly::dynamic() const; + template + public bool hasType() const; + template + public operator T() const; +} + +class facebook::react::ReactInstance { + public ReactInstance(const facebook::react::ReactInstance&) = delete; + public ReactInstance(facebook::react::ReactInstance&&) = delete; + public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); + public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; + public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; + public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; + public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; + public std::shared_ptr createJSCallInvoker() noexcept; + public std::shared_ptr getRuntimeScheduler() noexcept; + public using BindingsInstallFunc = std::function; + public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); + public void handleMemoryPressureJs(int pressureLevel); + public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; + public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); + public void registerSegment(uint32_t segmentId, const std::string& segmentPath); + public void unregisterFromInspector(); + public void* getJavaScriptContext(); + public ~ReactInstance() noexcept override; +} + +struct facebook::react::ReactInstance::JSRuntimeFlags { + public bool isProfiling; + public const std::string runtimeDiagnosticFlags; +} + +class facebook::react::ReactPerfettoLogger { + public static bool isTracing(); + public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); + public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); +} + +class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { + public RootProps() = default; + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); + public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; +} + +class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { + public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public bool layoutIfNeeded(std::vector* affectedNodes = {}); + public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using Shared = std::shared_ptr; + public using Unshared = std::shared_ptr; + public virtual facebook::react::Transform getTransform() const override; + public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; +} + +class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { + public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::RunLoopObserver { + protected const facebook::react::RunLoopObserver::Activity activities_; + protected const facebook::react::RunLoopObserver::WeakOwner owner_; + protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; + protected mutable std::atomic enabled_; + protected virtual void startObserving() const noexcept = 0; + protected virtual void stopObserving() const noexcept = 0; + protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; + public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; + public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; + public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; + public using Owner = std::shared_ptr; + public using WeakOwner = std::weak_ptr; + public virtual bool isOnRunLoopThread() const noexcept = 0; + public virtual ~RunLoopObserver() noexcept = default; + public void disable() const noexcept; + public void enable() const noexcept; + public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; +} + +class facebook::react::RunLoopObserver::Delegate { + public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; + public virtual ~Delegate() noexcept = default; +} + +enum facebook::react::RunLoopObserver::Activity : int32_t { + AfterWaiting, + BeforeWaiting, + None, +} + +class facebook::react::RuntimeScheduler : public facebook::react::RuntimeSchedulerBase { + public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; + public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); + public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; + public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; + public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; + public virtual bool getShouldYield() noexcept override; + public virtual facebook::react::HighResTimeStamp now() const noexcept override; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; + public virtual uint64_t registerTaskQueueSource() override; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; + public virtual void cancelTask(facebook::react::Task& task) noexcept override; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; + public virtual void scheduleTask(const std::function& task) override; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; + public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; + public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; +} + +class facebook::react::RuntimeSchedulerBase : public facebook::hermes::IEventLoopControl { + public virtual bool getShouldYield() noexcept = 0; + public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; + public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; + public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; + public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; + public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; + public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; + public virtual void scheduleTask(const std::function& task) = 0; + public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; + public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; + public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; + public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; + public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) = 0; + public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; + public virtual ~RuntimeSchedulerBase() = default; +} + +class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { + public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); + public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public std::shared_ptr getRuntimeScheduler() noexcept; + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; +} + +class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { + public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); + public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; + public virtual void invokeSync(facebook::react::CallFunc&& func) override; +} + +class facebook::react::RuntimeSchedulerEventTimingDelegate { + public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerEventTimingDelegate() = default; +} + +class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { + public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; + public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; +} + +class facebook::react::RuntimeSchedulerResizeObserverDelegate { + public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) = 0; + public virtual ~RuntimeSchedulerResizeObserverDelegate() = default; +} + +class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { + public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); + public facebook::react::SchedulerDelegate* getDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr getUIManager() const; + public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidClearPendingSnapshots() override; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; + public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) override; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; + public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; + public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) override; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; + public void addEventListener(std::shared_ptr listener); + public void animationTick() const; + public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void setDelegate(facebook::react::SchedulerDelegate* delegate); + public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; + public ~Scheduler() override; +} + +class facebook::react::SchedulerDelegate { + public virtual void schedulerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerDidClearPendingSnapshots() = 0; + public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; + public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void schedulerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; + public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; + public virtual void schedulerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates); + public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~SchedulerDelegate() noexcept = default; +} + +class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { + public using EndDragMetrics = facebook::react::ScrollEndDragEvent; + public using Metrics = facebook::react::ScrollEvent; + public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; + public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; + public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; + public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; +} + +class facebook::react::ScrollViewMaintainVisibleContentPosition { + public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; + public int minIndexForVisible; + public std::optional autoscrollToTopThreshold; +} + +class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); + public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; +} + +class facebook::react::ScrollViewState { + public ScrollViewState() = default; + public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); + public bool disableViewCulling; + public facebook::react::Point contentOffset; + public facebook::react::Rect contentBoundingRect; + public facebook::react::Size getContentSize() const; + public int scrollAwayPaddingTop; +} + +class facebook::react::Sealable { + public bool getSealed() const; + public void ensureUnsealed() const; + public void seal() const; +} + +class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { + public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { + public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static constexpr facebook::react::ComponentName Name(); + public static facebook::react::ComponentHandle Handle(); +} + +class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { + protected facebook::react::Props::Shared props_; + protected facebook::react::ShadowNodeTraits traits_; + protected facebook::react::State::Shared state_; + protected int orderIndex_; + protected mutable std::weak_ptr runtimeShadowNodeReference_; + protected std::shared_ptr>> children_; + public ShadowNode(const facebook::react::ShadowNode& shadowNode) noexcept = delete; + public ShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ShadowNode(const facebook::react::ShadowNodeFragment& fragment, facebook::react::ShadowNodeFamily::Shared family, facebook::react::ShadowNodeTraits traits); + public bool getHasBeenPromoted() const; + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public const facebook::react::Props::Shared& getProps() const; + public const facebook::react::ShadowNodeFamily& getFamily() const; + public const facebook::react::SharedEventEmitter& getEventEmitter() const; + public const facebook::react::State::Shared& getState() const; + public const std::vector>& getChildren() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::ShadowNode& operator=(const facebook::react::ShadowNode& other) noexcept = delete; + public facebook::react::ShadowNodeFamily::Shared getFamilyShared() const; + public facebook::react::ShadowNodeTraits getTraits() const; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public int getOrderIndex() const; + public static bool getUseRuntimeShadowNodeReferenceUpdateOnThread(); + public static bool sameFamily(const facebook::react::ShadowNode& first, const facebook::react::ShadowNode& second); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public static std::shared_ptr>> emptySharedShadowNodeSharedList(); + public static void setUseRuntimeShadowNodeReferenceUpdateOnThread(bool isEnabled); + public std::shared_ptr getContextContainer() const; + public std::shared_ptr clone(const facebook::react::ShadowNodeFragment& fragment) const; + public std::shared_ptr cloneMultiple(const std::unordered_set>& familiesToUpdate, const std::function(const facebook::react::ShadowNode& oldShadowNode, const facebook::react::ShadowNodeFragment& fragment)>& callback) const; + public std::shared_ptr cloneTree(const facebook::react::ShadowNodeFamily& shadowNodeFamily, const std::function(const facebook::react::ShadowNode& oldShadowNode)>& callback) const; + public using AncestorList = std::vector, int>>; + public virtual void appendChild(const std::shared_ptr& child); + public virtual void completeClone(const facebook::react::ShadowNode&, const facebook::react::ShadowNodeFragment&); + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = std::numeric_limits::max()); + public void sealRecursive() const; + public void setMounted(bool mounted) const; + public void setRuntimeShadowNodeReference(const std::shared_ptr& runtimeShadowNodeReference) const; + public void transferRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public void updateRuntimeShadowNodeReference(const std::shared_ptr& destinationShadowNode) const; + public ~ShadowNode() override = default; +} + +class facebook::react::ShadowNodeFamily : public facebook::jsi::NativeState { + public ShadowNodeFamily(const facebook::react::ShadowNodeFamilyFragment& fragment, facebook::react::SharedEventEmitter eventEmitter, facebook::react::EventDispatcher::Weak eventDispatcher, const facebook::react::ComponentDescriptor& componentDescriptor); + public const facebook::react::ComponentDescriptor& getComponentDescriptor() const; + public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; + public facebook::react::ComponentHandle getComponentHandle() const; + public facebook::react::ComponentName getComponentName() const; + public facebook::react::InstanceHandle::Shared getInstanceHandle() const; + public facebook::react::ShadowNodeFamily::AncestorList getAncestors(const facebook::react::ShadowNode& ancestorShadowNode) const; + public facebook::react::SharedEventEmitter getEventEmitter() const; + public facebook::react::SurfaceId getSurfaceId() const; + public facebook::react::Tag getTag() const; + public mutable std::mutex nativePropsMutex; + public std::shared_ptr getMostRecentState() const; + public using AncestorList = std::vector, int>>; + public using Shared = std::shared_ptr; + public using Weak = std::weak_ptr; + public void dispatchRawState(facebook::react::StateUpdate&& stateUpdate, facebook::react::EventQueue::UpdateMode updateMode); + public void onUnmountedFamilyDestroyed(std::function callback); + public void setInstanceHandle(facebook::react::InstanceHandle::Shared& instanceHandle); + public void setMostRecentState(const std::shared_ptr& state); + public void setMounted(); + public void setParent(const facebook::react::ShadowNodeFamily::Shared& parent); + public ~ShadowNodeFamily(); +} + +class facebook::react::ShadowNodeTraits { + public bool check(facebook::react::ShadowNodeTraits::Trait traits) const; + public facebook::react::ShadowNodeTraits::Trait get() const; + public void set(facebook::react::ShadowNodeTraits::Trait trait); + public void unset(facebook::react::ShadowNodeTraits::Trait trait); +} + +enum facebook::react::ShadowNodeTraits::Trait : int32_t { + BaselineYogaNode, + ChildrenAreShared, + ChildrenFormStackingContext, + DirtyYogaNode, + ForceFlattenView, + FormsStackingContext, + FormsView, + Hidden, + KeyboardFocusable, + LeafYogaNode, + MeasurableYogaNode, + None, + RootNodeKind, + Unstable_uncullableTrace, + Unstable_uncullableView, + ViewKind, +} + +class facebook::react::ShadowTree { + public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); + public bool promoteReactRevision() const; + public facebook::react::CommitMode getCommitMode() const; + public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; + public facebook::react::ShadowTreeRevision getCurrentRevision() const; + public facebook::react::SurfaceId getSurfaceId() const; + public std::optional getCurrentReactRevision() const; + public std::shared_ptr getMountingCoordinator() const; + public using CommitMode = facebook::react::ShadowTreeCommitMode; + public using CommitOptions = facebook::react::ShadowTreeCommitOptions; + public using CommitSource = facebook::react::ShadowTreeCommitSource; + public using CommitStatus = facebook::react::ShadowTreeCommitStatus; + public using Unique = std::unique_ptr; + public void commitEmptyTree() const; + public void mergeReactRevision() const; + public void notifyDelegatesOfUpdates() const; + public void setCommitMode(facebook::react::CommitMode commitMode) const; + public ~ShadowTree(); +} + +class facebook::react::ShadowTreeDelegate { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; + public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) const; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; + public virtual ~ShadowTreeDelegate() noexcept = default; +} + +class facebook::react::ShadowTreeRegistry { + public ShadowTreeRegistry() = default; + public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; + public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; + public void add(std::unique_ptr&& shadowTree) const; + public void enumerate(const std::function& callback) const; + public ~ShadowTreeRegistry(); +} + +class facebook::react::ShadowTreeRevision { + public facebook::react::RootShadowNode::Shared rootShadowNode; + public facebook::react::ShadowTreeRevision::Number number; + public facebook::react::TransactionTelemetry telemetry; + public using Number = int64_t; +} + +class facebook::react::SharedColor { + public Color& operator*(); + public SharedColor(); + public SharedColor(Color color); + public bool operator!=(const facebook::react::SharedColor& otherColor) const; + public bool operator==(const facebook::react::SharedColor& otherColor) const; + public const Color& operator*() const; + public operator bool() const; + public std::string toString() const noexcept; +} + +class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { + protected virtual bool update(double timeDeltaMs, bool restarting) override; + public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); +} + +class facebook::react::StackTraceParser { + public static std::vector parse(bool isHermes, const std::string& stackString); +} + +class facebook::react::State { + protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); + protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); + protected const facebook::react::StateData::Shared& getDataPointer() const; + protected facebook::react::ShadowNodeFamily::Weak family_; + protected facebook::react::StateData::Shared data_; + protected mutable bool isObsolete_; + protected size_t revision_; + public facebook::react::State::Shared getMostRecentState() const; + public facebook::react::State::Shared getMostRecentStateIfObsolete() const; + public size_t getRevision() const; + public static constexpr size_t initialRevisionValue; + public using Shared = std::shared_ptr; + public virtual ~State() = default; +} + +class facebook::react::StateUpdate { + public facebook::react::SharedShadowNodeFamily family; + public facebook::react::StateUpdate::Callback callback; + public using Callback = std::function; + public using FailureCallback = std::function; +} + +class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { + public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool isLayoutStyleUpdated() const noexcept; + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { + public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::SurfaceHandler { + public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; + public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; + public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::DisplayMode getDisplayMode() const noexcept; + public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; + public facebook::react::LayoutContext getLayoutContext() const noexcept; + public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; + public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; + public facebook::react::SurfaceHandler::Status getStatus() const noexcept; + public facebook::react::SurfaceId getSurfaceId() const noexcept; + public folly::dynamic getProps() const noexcept; + public std::shared_ptr getMountingCoordinator() const noexcept; + public std::string getModuleName() const noexcept; + public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; + public virtual ~SurfaceHandler() noexcept; + public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; + public void setContextContainer(std::shared_ptr contextContainer) const noexcept; + public void setProps(const folly::dynamic& props) const noexcept; + public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; + public void start() const noexcept; + public void stop() const noexcept; +} + +enum facebook::react::SurfaceHandler::Status { + Registered, + Running, + Unregistered, +} + +class facebook::react::SurfaceManager { + public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; + public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; + public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; + public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; + public std::unordered_set getRunningSurfaces() const noexcept; + public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; + public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; + public void stopAllSurfaces() noexcept; + public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; + public ~SurfaceManager() noexcept; +} + +struct facebook::react::SurfaceManager::SurfaceProps { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::LayoutContext layoutContext; + public facebook::react::SurfaceId surfaceId; + public folly::dynamic props; + public std::string moduleName; +} + +class facebook::react::SurfaceTelemetry { + public facebook::react::TelemetryDuration getCommitTime() const; + public facebook::react::TelemetryDuration getDiffTime() const; + public facebook::react::TelemetryDuration getLayoutTime() const; + public facebook::react::TelemetryDuration getMountTime() const; + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public int getLastRevisionNumber() const; + public int getNumberOfMutations() const; + public int getNumberOfTextMeasurements() const; + public int getNumberOfTransactions() const; + public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; + public std::vector getRecentTransactionTelemetries() const; + public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); +} + +class facebook::react::TaskPriorityComparer { + public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); +} + +class facebook::react::TelemetryController { + public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; +} + +class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { + public Float fontSize; + public Float fontSizeMultiplier; + public Float letterSpacing; + public Float lineHeight; + public Float maxFontSizeMultiplier; + public Float opacity; + public Float textShadowRadius; + public bool operator==(const facebook::react::TextAttributes& rhs) const; + public facebook::react::SharedColor backgroundColor; + public facebook::react::SharedColor foregroundColor; + public facebook::react::SharedColor textDecorationColor; + public facebook::react::SharedColor textShadowColor; + public static facebook::react::TextAttributes defaultTextAttributes(); + public std::optional allowFontScaling; + public std::optional isHighlighted; + public std::optional isPressable; + public std::optional accessibilityRole; + public std::optional dynamicTypeRamp; + public std::optional fontStyle; + public std::optional fontVariant; + public std::optional fontWeight; + public std::optional layoutDirection; + public std::optional lineBreakMode; + public std::optional lineBreakStrategy; + public std::optional role; + public std::optional textShadowOffset; + public std::optional alignment; + public std::optional textDecorationLineType; + public std::optional textDecorationStyle; + public std::optional textTransform; + public std::optional baseWritingDirection; + public std::optional fontVariationSettings; + public std::string fontFamily; + public std::vector textEffects; + public void apply(facebook::react::TextAttributes textAttributes); +} + +class facebook::react::TextEffectProps : public facebook::react::Props { + public TextEffectProps() = default; + public TextEffectProps(const facebook::react::PropsParserContext& context, const facebook::react::TextEffectProps& sourceProps, const facebook::react::RawProps& rawProps); + public folly::dynamic effectProps; + public std::string effectName; +} + +class facebook::react::TextEffectShadowNode : public facebook::react::ConcreteShadowNode { +} + +class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { + public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; + public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; + public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; +} + +struct facebook::react::TextInputEventEmitter::KeyPressMetrics { + public int eventCount; + public std::string text; +} + +struct facebook::react::TextInputEventEmitter::Metrics { + public Float zoomScale; + public bool responderIgnoreScroll; + public facebook::react::AttributedString::Range selectionRange; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public facebook::react::Size layoutMeasurement; + public facebook::react::Tag target; + public int eventCount; + public std::string text; +} + +class facebook::react::TextInputState { + public TextInputState() = default; + public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); + public facebook::react::AttributedString reactTreeAttributedString; + public facebook::react::AttributedStringBox attributedStringBox; + public facebook::react::ParagraphAttributes paragraphAttributes; + public int64_t mostRecentEventCount; +} + +class facebook::react::TextMeasureCacheKey { + public Float pointScaleFactor; + public facebook::react::AttributedString attributedString; + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::ParagraphAttributes paragraphAttributes; +} + +class facebook::react::TextMeasurement { + public facebook::react::Size size; + public facebook::react::TextMeasurement::Attachments attachments; + public using Attachments = std::vector; +} + +class facebook::react::TextMeasurement::Attachment { + public bool isClipped; + public facebook::react::Rect frame; +} + +class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { + public TextProps() = default; + public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { + public static facebook::react::ShadowNodeTraits BaseTraits(); +} + +class facebook::react::TimerManager { + public TimerManager(const facebook::react::TimerManager&) = delete; + public TimerManager(facebook::react::TimerManager&&) = delete; + public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; + public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; + public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; + public void attachGlobals(facebook::jsi::Runtime& runtime); + public void callTimer(facebook::react::TimerHandle handle); + public void quit(); + public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; + public ~TimerManager() noexcept; +} + +class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { + public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); + public void onClick(facebook::react::PointerEvent event) const; + public void onGotPointerCapture(facebook::react::PointerEvent event) const; + public void onLostPointerCapture(facebook::react::PointerEvent event) const; + public void onPointerCancel(facebook::react::PointerEvent event) const; + public void onPointerDown(facebook::react::PointerEvent event) const; + public void onPointerEnter(facebook::react::PointerEvent event) const; + public void onPointerLeave(facebook::react::PointerEvent event) const; + public void onPointerMove(facebook::react::PointerEvent event) const; + public void onPointerOut(facebook::react::PointerEvent event) const; + public void onPointerOver(facebook::react::PointerEvent event) const; + public void onPointerUp(facebook::react::PointerEvent event) const; + public void onTouchCancel(facebook::react::TouchEvent event) const; + public void onTouchEnd(facebook::react::TouchEvent event) const; + public void onTouchMove(facebook::react::TouchEvent event) const; + public void onTouchStart(facebook::react::TouchEvent event) const; +} + +class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { + public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public virtual void update() override; +} + +class facebook::react::TransactionTelemetry { + public TransactionTelemetry(); + public TransactionTelemetry(std::function now); + public facebook::react::TelemetryDuration getTextMeasureTime() const; + public facebook::react::TelemetryTimePoint getCommitEndTime() const; + public facebook::react::TelemetryTimePoint getCommitStartTime() const; + public facebook::react::TelemetryTimePoint getDiffEndTime() const; + public facebook::react::TelemetryTimePoint getDiffStartTime() const; + public facebook::react::TelemetryTimePoint getLayoutEndTime() const; + public facebook::react::TelemetryTimePoint getLayoutStartTime() const; + public facebook::react::TelemetryTimePoint getMountEndTime() const; + public facebook::react::TelemetryTimePoint getMountStartTime() const; + public int getAffectedLayoutNodesCount() const; + public int getNumberOfTextMeasurements() const; + public int getRevisionNumber() const; + public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); + public void didCommit(); + public void didDiff(); + public void didLayout(); + public void didLayout(int affectedLayoutNodesCount); + public void didMeasureText(); + public void didMount(); + public void setAsThreadLocal(); + public void setRevisionNumber(int revisionNumber); + public void unsetAsThreadLocal(); + public void willCommit(); + public void willDiff(); + public void willLayout(); + public void willMeasureText(); + public void willMount(); +} + +class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { + public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public void collectViewUpdates(folly::dynamic& props); +} + +class facebook::react::TurboModule : public facebook::jsi::HostObject { + protected const std::string name_; + protected std::shared_ptr jsInvoker_; + protected std::unordered_map methodMap_; + protected std::unordered_map> eventEmitterMap_; + protected using ArgFactory = std::function& args)>; + protected virtual facebook::jsi::Value create(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName); + protected void emitDeviceEvent(const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + protected void emitDeviceEvent(facebook::jsi::Runtime&, const std::string& eventName, facebook::react::TurboModule::ArgFactory&& argFactory = nullptr); + public TurboModule(std::string name, std::shared_ptr jsInvoker); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& propName) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& runtime) override; +} + +struct facebook::react::TurboModule::MethodMetadata { + public facebook::jsi::Value(*invoker)(facebook::jsi::Runtime &rt, facebook::react::TurboModule &turboModule, const facebook::jsi::Value *args, size_t count); + public size_t argCount; +} + +class facebook::react::TurboModuleBinding { + public static void install(facebook::jsi::Runtime& runtime, TurboModuleProviderFunctionType&& moduleProvider, TurboModuleProviderFunctionType&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public static void install(facebook::jsi::Runtime& runtime, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& moduleProvider, facebook::react::TurboModuleProviderFunctionTypeWithRuntime&& legacyModuleProvider = nullptr, std::shared_ptr longLivedObjectCollection = nullptr); + public ~TurboModuleBinding(); +} + +class facebook::react::TurboModuleWithJSIBindings { + public static void installJSIBindings(const std::shared_ptr& cxxModule, facebook::jsi::Runtime& runtime); + public virtual ~TurboModuleWithJSIBindings() = default; +} + +class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { + public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); + public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; + public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; + public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; + public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); + public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); + public facebook::react::UIManagerDelegate* getDelegate(); + public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; + public std::shared_ptr getContextContainer() const; + public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; + public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; + public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; + public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; + public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) const noexcept override; + public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; + public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; + public void addEventListener(std::shared_ptr listener); + public void addOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); + public void animationTick() const; + public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; + public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); + public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; + public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); + public void removeEventListener(const std::shared_ptr& listener); + public void reportMount(facebook::react::SurfaceId surfaceId) const; + public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); + public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); + public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); + public void setDelegate(facebook::react::UIManagerDelegate* delegate); + public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; + public void setNativeAnimatedDelegate(std::weak_ptr delegate); + public void setSurfaceProps(facebook::react::SurfaceId surfaceId, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; + public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); + public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; + public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; + public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; + public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); + public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); + public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); + public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); + public void updateShadowTree(std::unordered_map&& tagToProps); + public void updateState(const facebook::react::StateUpdate& stateUpdate) const; + public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; + public ~UIManager() override; +} + +class facebook::react::UIManagerAnimationBackend { + public using Callback = std::function; + public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; + public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; + public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) = 0; + public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; + public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; + public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; + public virtual void stop(facebook::react::CallbackId callbackId) = 0; + public virtual void trigger() = 0; + public virtual ~UIManagerAnimationBackend() = default; +} + +class facebook::react::UIManagerAnimationDelegate { + public virtual bool shouldAnimateFrame() const = 0; + public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; + public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; + public virtual ~UIManagerAnimationDelegate() = default; +} + +class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { + public UIManagerBinding(std::shared_ptr uiManager); + public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); + public facebook::react::UIManager& getUIManager(); + public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); + public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; + public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; + public void invalidate() const; + public ~UIManagerBinding() override; +} + +class facebook::react::UIManagerCommitHook { + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; + public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; + public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; + public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) noexcept; + public virtual ~UIManagerCommitHook() noexcept = default; +} + +class facebook::react::UIManagerDelegate { + public using OnSurfaceStartCallback = std::function; + public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidClearPendingSnapshots() = 0; + public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; + public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; + public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; + public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; + public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; + public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; + public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; + public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; + public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; + public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; + public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; + public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) = 0; + public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; + public virtual ~UIManagerDelegate() noexcept = default; +} + +class facebook::react::UIManagerMountHook { + public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; + public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; + public virtual ~UIManagerMountHook() noexcept = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegate { + public virtual void runAnimationFrame() = 0; + public virtual ~UIManagerNativeAnimatedDelegate() = default; +} + +class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { + public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); + public virtual void runAnimationFrame() override; +} + +class facebook::react::UIManagerViewTransitionDelegate { + public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); + public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag) const; + public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); + public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); + public virtual void createViewTransitionInstance(const std::string&, facebook::react::Tag); + public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); + public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); + public virtual void startViewTransitionEnd(); + public virtual void startViewTransitionReadyFinished(); + public virtual void suspendOnActiveViewTransition(); + public virtual void transitionAnimationFinished(int animationId); + public virtual void waitForTransitionAnimation(int animationId); + public virtual ~UIManagerViewTransitionDelegate() = default; +} + +struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { + public Float height; + public Float width; + public Float x; + public Float y; + public facebook::react::Tag nativeTag; +} + +class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { + protected bool isColorValue_; + public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); + public bool getIsColorValue() const noexcept; + public bool setOffset(double offset) noexcept; + public bool setRawValue(double value) noexcept; + public double getOffset() const noexcept; + public double getRawValue() const noexcept; + public double getValue() const noexcept; + public void extractOffset() noexcept; + public void flattenOffset() noexcept; + public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; +} + +class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { + public ValueFactoryEventPayload(facebook::react::ValueFactory factory); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +class facebook::react::ViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + public ViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); +} + +class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShadowNode { + public ViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); +} + +class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { + protected facebook::yoga::Config yogaConfig_; + protected mutable facebook::yoga::Node yogaNode_; + protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const; + public YogaLayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public YogaLayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public facebook::react::Rect getContentBounds() const; + public using ListOfShared = std::vector; + public using Shared = std::shared_ptr; + public virtual bool getIsLayoutClean() const override; + public virtual void appendChild(const std::shared_ptr& child) override; + public virtual void completeClone(const facebook::react::ShadowNode&, const facebook::react::ShadowNodeFragment&) override; + public virtual void dirtyLayout() override; + public virtual void layout(facebook::react::LayoutContext layoutContext) override; + public virtual void layoutTree(facebook::react::LayoutContext layoutContext, facebook::react::LayoutConstraints layoutConstraints) override; + public virtual void replaceChild(const facebook::react::ShadowNode& oldChild, const std::shared_ptr& newChild, size_t suggestedIndex = SIZE_MAX) override; + public void enableMeasurement(); + public void setPadding(facebook::react::RectangleEdges padding) const; + public void setPositionType(YGPositionType positionType) const; + public void setSize(facebook::react::Size size) const; + public void updateYogaChildren(); + public void updateYogaProps(); +} + +class facebook::react::YogaStylableProps : public facebook::react::Props { + public YogaStylableProps() = default; + public YogaStylableProps(const facebook::react::PropsParserContext& context, const facebook::react::YogaStylableProps& sourceProps, const facebook::react::RawProps& rawProps, const std::function& filterObjectKeys = nullptr); + public facebook::yoga::Style yogaStyle; + public facebook::yoga::Style::Length insetBlockEnd; + public facebook::yoga::Style::Length insetBlockStart; + public facebook::yoga::Style::Length insetInlineEnd; + public facebook::yoga::Style::Length insetInlineStart; + public facebook::yoga::Style::Length marginBlock; + public facebook::yoga::Style::Length marginBlockEnd; + public facebook::yoga::Style::Length marginBlockStart; + public facebook::yoga::Style::Length marginInline; + public facebook::yoga::Style::Length marginInlineEnd; + public facebook::yoga::Style::Length marginInlineStart; + public facebook::yoga::Style::Length paddingBlock; + public facebook::yoga::Style::Length paddingBlockEnd; + public facebook::yoga::Style::Length paddingBlockStart; + public facebook::yoga::Style::Length paddingInline; + public facebook::yoga::Style::Length paddingInlineEnd; + public facebook::yoga::Style::Length paddingInlineStart; + public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); +} + +enum facebook::react::AccessibilityLiveRegion : uint8_t { + Assertive, + None, + Polite, +} + +enum facebook::react::AccessibilityRole : uint8_t { + Adjustable, + Alert, + Button, + Checkbox, + Combobox, + Drawerlayout, + Dropdownlist, + Grid, + Header, + Horizontalscrollview, + Iconmenu, + Image, + Imagebutton, + Keyboardkey, + Link, + List, + Menu, + Menubar, + Menuitem, + None, + Pager, + Progressbar, + Radio, + Radiogroup, + Scrollbar, + Scrollview, + Search, + Slidingdrawer, + Spinbutton, + Summary, + Switch, + Tab, + Tabbar, + Tablist, + Text, + Timer, + Togglebutton, + Toolbar, + Viewgroup, + Webview, +} + +enum facebook::react::AccessibilityTraits : uint32_t { + Adjustable, + AllowsDirectInteraction, + Button, + CausesPageTurn, + Header, + Image, + KeyboardKey, + Link, + None, + NotEnabled, + PlaysSound, + SearchField, + Selected, + StartsMediaSession, + StaticText, + SummaryElement, + Switch, + TabBar, + UpdatesFrequently, +} + +enum facebook::react::AnimatedNodeType { + Addition, + Color, + Diffclamp, + Division, + Interpolation, + Modulus, + Multiplication, + Object, + Props, + Round, + Style, + Subtraction, + Tracking, + Transform, + Value, +} + +enum facebook::react::AnimationConfigurationType { + Create, + Delete, + Update, +} + +enum facebook::react::AnimationDriverType { + Decay, + Frames, + Spring, +} + +enum facebook::react::AnimationProperty { + NotApplicable, + Opacity, + ScaleX, + ScaleXY, + ScaleY, +} + +enum facebook::react::AnimationType { + EaseIn, + EaseInEaseOut, + EaseOut, + Keyboard, + Linear, + None, + Spring, +} + +enum facebook::react::BackfaceVisibility : uint8_t { + Auto, + Hidden, + Visible, +} + +enum facebook::react::BackgroundRepeatStyle { + NoRepeat, + Repeat, + Round, + Space, +} + +enum facebook::react::BackgroundSizeKeyword { + Contain, + Cover, +} + +enum facebook::react::BlendMode { + Color, + ColorBurn, + ColorDodge, + Darken, + Difference, + Exclusion, + HardLight, + Hue, + Lighten, + Luminosity, + Multiply, + Normal, + Overlay, + PlusLighter, + Saturation, + Screen, + SoftLight, +} + +enum facebook::react::BorderCurve : uint8_t { + Circular, + Continuous, +} + +enum facebook::react::BorderStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::CSSAngleUnit : uint8_t { + Deg, + Grad, + Rad, + Turn, +} + +enum facebook::react::CSSDelimiter { + Comma, + CommaOrWhitespace, + None, + OptionalWhitespace, + Solidus, + SolidusOrWhitespace, + Whitespace, +} + +enum facebook::react::CSSFontVariant : std::underlying_type_t { + CommonLigatures, + Contextual, + DiscretionaryLigatures, + HistoricalLigatures, + LiningNums, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { + At, +} + +enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { + To, +} + +enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { + Inset, +} + +enum facebook::react::CSSKeyword : uint8_t { + Absolute, + At, + Auto, + Baseline, + Block, + Bottom, + Center, + Clip, + Column, + ColumnReverse, + CommonLigatures, + Content, + Contents, + Contextual, + Dashed, + DiscretionaryLigatures, + Dotted, + Double, + End, + Fixed, + Flex, + FlexEnd, + FlexStart, + Grid, + Groove, + Hidden, + HistoricalLigatures, + Inherit, + Initial, + Inline, + InlineBlock, + InlineFlex, + InlineGrid, + Inset, + Left, + LiningNums, + Ltr, + MaxContent, + Medium, + MinContent, + NoCommonLigatures, + NoContextual, + NoDiscretionaryLigatures, + NoHistoricalLigatures, + NoWrap, + None, + Normal, + OldstyleNums, + Outset, + ProportionalNums, + Relative, + Ridge, + Right, + Row, + RowReverse, + Rtl, + Scroll, + SmallCaps, + Solid, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Static, + Sticky, + Stretch, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, + Thick, + Thin, + To, + Top, + Unset, + Visible, + Wrap, + WrapReverse, +} + +enum facebook::react::CSSLengthUnit : uint8_t { + Cap, + Ch, + Cm, + Dvb, + Dvh, + Dvi, + Dvmax, + Dvmin, + Dvw, + Em, + Ex, + Ic, + In, + Lh, + Lvb, + Lvh, + Lvi, + Lvmax, + Lvmin, + Lvw, + Mm, + Pc, + Pt, + Px, + Q, + Rcap, + Rch, + Rem, + Rex, + Ric, + Rlh, + Svb, + Svh, + Svi, + Svmax, + Svmin, + Svw, + Vb, + Vh, + Vi, + Vmax, + Vmin, + Vw, +} + +enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::CSSRadialGradientShape : uint8_t { + Circle, + Ellipse, +} + +enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +enum facebook::react::CSSTokenType { + CloseCurly, + CloseParen, + CloseSquare, + Comma, + Delim, + Dimension, + EndOfFile, + Function, + Hash, + Ident, + Number, + OpenCurly, + OpenParen, + OpenSquare, + Percentage, + WhiteSpace, +} + +enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { + Bottom, + Center, + Left, + Right, + Top, +} + +enum facebook::react::CSSWideKeyword : std::underlying_type_t { + Inherit, + Initial, + Unset, +} + +enum facebook::react::ColorSpace { + DisplayP3, + sRGB, +} + +enum facebook::react::ContentInsetAdjustmentBehavior { + Always, + Automatic, + Never, + ScrollableAxes, +} + +enum facebook::react::Cursor : uint8_t { + Alias, + AllScroll, + Auto, + Cell, + ColResize, + ContextMenu, + Copy, + Crosshair, + Default, + EResize, + EWResize, + Grab, + Grabbing, + Help, + Move, + NEResize, + NESWResize, + NResize, + NSResize, + NWResize, + NWSEResize, + NoDrop, + None, + NotAllowed, + Pointer, + Progress, + RowResize, + SEResize, + SResize, + SWResize, + Text, + Url, + WResize, + Wait, + ZoomIn, + ZoomOut, +} + +enum facebook::react::DisplayMode { + Hidden, + Suspended, + Visible, +} + +enum facebook::react::DisplayType { + Contents, + Flex, + Grid, + None, +} + +enum facebook::react::DynamicTypeRamp : uint8_t { + Body, + Callout, + Caption1, + Caption2, + Footnote, + Headline, + LargeTitle, + Subheadline, + Title1, + Title2, + Title3, +} + +enum facebook::react::EllipsizeMode { + Clip, + Head, + Middle, + Tail, +} + +enum facebook::react::EventPayloadType { + PointerEvent, + ScrollEvent, + ValueFactory, +} + +enum facebook::react::FilterType { + Blur, + Brightness, + Contrast, + DropShadow, + Grayscale, + HueRotate, + Invert, + Opacity, + Saturate, + Sepia, +} + +enum facebook::react::FontStyle : uint8_t { + Italic, + Normal, + Oblique, +} + +enum facebook::react::FontVariant : int { + Default, + LiningNums, + OldstyleNums, + ProportionalNums, + SmallCaps, + StylisticEight, + StylisticEighteen, + StylisticEleven, + StylisticFifteen, + StylisticFive, + StylisticFour, + StylisticFourteen, + StylisticNine, + StylisticNineteen, + StylisticOne, + StylisticSeven, + StylisticSeventeen, + StylisticSix, + StylisticSixteen, + StylisticTen, + StylisticThirteen, + StylisticThree, + StylisticTwelve, + StylisticTwenty, + StylisticTwo, + TabularNums, +} + +enum facebook::react::FontWeight : uint16_t { + Black, + Bold, + Demibold, + Heavy, + Light, + Medium, + Regular, + Semibold, + Thin, + UltraLight, + Weight100, + Weight200, + Weight300, + Weight400, + Weight500, + Weight600, + Weight700, + Weight800, + Weight900, +} + +enum facebook::react::GradientDirectionType { + Angle, + Keyword, +} + +enum facebook::react::GradientKeyword : uint8_t { + ToBottomLeft, + ToBottomRight, + ToTopLeft, + ToTopRight, +} + +enum facebook::react::HyphenationFrequency { + Full, + None, + Normal, +} + +enum facebook::react::ImageResizeMode : int8_t { + Center, + Contain, + Cover, + None, + Repeat, + Stretch, +} + +enum facebook::react::ImportantForAccessibility : uint8_t { + Auto, + No, + NoHideDescendants, + Yes, +} + +enum facebook::react::Isolation { + Auto, + Isolate, +} + +enum facebook::react::LayoutConformance : uint8_t { + Compatibility, + Strict, +} + +enum facebook::react::LayoutDirection { + LeftToRight, + RightToLeft, + Undefined, +} + +enum facebook::react::LineBreakMode : uint8_t { + Char, + Clip, + Head, + Middle, + Tail, + Word, +} + +enum facebook::react::LineBreakStrategy : uint8_t { + HangulWordPriority, + None, + PushOut, + Standard, +} + +enum facebook::react::NullValueStrategy { + Ignore, + Override, +} + +enum facebook::react::OutlineStyle : uint8_t { + Dashed, + Dotted, + Solid, +} + +enum facebook::react::PointerEventsMode : uint8_t { + Auto, + BoxNone, + BoxOnly, + None, +} + +enum facebook::react::PositionType { + Absolute, + Relative, + Static, +} + +enum facebook::react::PropName { + ALIGN_CONTENT, + ALIGN_ITEMS, + ALIGN_SELF, + ASPECT_RATIO, + BACKFACE_VISIBILITY, + BACKGROUND_COLOR, + BORDER_COLOR, + BORDER_CURVES, + BORDER_RADII, + BORDER_STYLES, + BORDER_WIDTH, + BOX_SHADOW, + BOX_SIZING, + COLUMN_GAP, + CURSOR, + DIRECTION, + DISPLAY, + FILTER, + FLEX, + FLEX_BASIS, + FLEX_DIRECTION, + FLEX_GROW, + FLEX_SHRINK, + FLEX_WRAP, + HEIGHT, + ISOLATION, + JUSTIFY_CONTENT, + MARGIN, + MAX_HEIGHT, + MAX_WIDTH, + MIN_HEIGHT, + MIN_WIDTH, + MIX_BLEND_MODE, + OPACITY, + OUTLINE_COLOR, + OUTLINE_OFFSET, + OUTLINE_STYLE, + OUTLINE_WIDTH, + PADDING, + POINTER_EVENTS, + POSITION, + POSITION_TYPE, + ROW_GAP, + SHADOW_COLOR, + SHADOW_OFFSET, + SHADOW_OPACITY, + SHADOW_RADIUS, + STYLE_OVERFLOW, + TRANSFORM, + TRANSFORM_ORIGIN, + WIDTH, + Z_INDEX, +} + +enum facebook::react::RadialGradientShape { + Circle, + Ellipse, +} + +enum facebook::react::ReactEventPriority { + Continuous, + Default, + Discrete, + Idle, +} + +enum facebook::react::Role : uint8_t { + Alert, + Alertdialog, + Application, + Article, + Banner, + Button, + Cell, + Checkbox, + Columnheader, + Combobox, + Complementary, + Contentinfo, + Definition, + Dialog, + Directory, + Document, + Feed, + Figure, + Form, + Grid, + Group, + Heading, + Img, + Link, + List, + Listitem, + Log, + Main, + Marquee, + Math, + Menu, + Menubar, + Menuitem, + Meter, + Navigation, + None, + Note, + Option, + Presentation, + Progressbar, + Radio, + Radiogroup, + Region, + Row, + Rowgroup, + Rowheader, + Scrollbar, + Searchbox, + Separator, + Slider, + Spinbutton, + Status, + Summary, + Switch, + Tab, + Table, + Tablist, + Tabpanel, + Term, + Timer, + Toolbar, + Tooltip, + Tree, + Treegrid, + Treeitem, +} + +enum facebook::react::SchedulerPriority : int { + IdlePriority, + ImmediatePriority, + LowPriority, + NormalPriority, + UserBlockingPriority, +} + +enum facebook::react::ScriptTag { + RAMBundle, + String, +} + +enum facebook::react::ScrollViewIndicatorStyle { + Black, + Default, + White, +} + +enum facebook::react::ScrollViewKeyboardDismissMode { + Interactive, + None, + OnDrag, +} + +enum facebook::react::ScrollViewSnapToAlignment { + Center, + End, + Start, +} + +enum facebook::react::ShadowTreeCommitMode { + Normal, + Suspended, +} + +enum facebook::react::ShadowTreeCommitSource { + AnimationEndSync, + React, + ReactRevisionMerge, + Unknown, +} + +enum facebook::react::ShadowTreeCommitStatus { + Cancelled, + Failed, + Succeeded, +} + +enum facebook::react::SubmitBehavior { + BlurAndSubmit, + Default, + Newline, + Submit, +} + +enum facebook::react::TextAlignment : uint8_t { + Center, + End, + Justified, + Left, + Natural, + Right, + Start, +} + +enum facebook::react::TextAlignmentVertical { + Auto, + Bottom, + Center, + Top, +} + +enum facebook::react::TextBreakStrategy { + Balanced, + HighQuality, + Simple, +} + +enum facebook::react::TextDecorationLineType : uint8_t { + None, + Strikethrough, + Underline, + UnderlineStrikethrough, +} + +enum facebook::react::TextDecorationStyle : uint8_t { + Dashed, + Dotted, + Double, + Solid, + Wavy, +} + +enum facebook::react::TextTransform : uint8_t { + Capitalize, + Lowercase, + None, + Unset, + Uppercase, +} + +enum facebook::react::TextWidthMode { + Auto, + LongestLine, +} + +enum facebook::react::TimerSource { + RequestAnimationFrame, + SetInterval, + SetTimeout, + Unknown, +} + +enum facebook::react::TransformOperationType : uint8_t { + Arbitrary, + Identity, + Perspective, + Rotate, + Scale, + Skew, + Translate, +} + +enum facebook::react::TurboModuleMethodValueKind { + ArrayBufferKind, + ArrayKind, + BooleanKind, + FunctionKind, + NumberKind, + ObjectKind, + PromiseKind, + StringKind, + VoidKind, +} + +enum facebook::react::UnitType { + Percent, + Point, + Undefined, +} + +enum facebook::react::WritingDirection : uint8_t { + LeftToRight, + Natural, + RightToLeft, +} + +struct facebook::react::AccessibilityAction { + public std::optional label; + public std::string name; +} + +struct facebook::react::AccessibilityLabelledBy { + public std::vector value; +} + +struct facebook::react::AccessibilityState { + public bool busy; + public bool disabled; + public facebook::react::AccessibilityState::CheckedState checked; + public std::optional expanded; + public std::optional selected; +} + +enum facebook::react::AccessibilityState::CheckedState { + Checked, + Mixed, + None, + Unchecked, +} + +struct facebook::react::AccessibilityValue { + public std::optional max; + public std::optional min; + public std::optional now; + public std::optional text; +} + +struct facebook::react::ActivePointer { + public bool shouldLeaveWhenReleased; + public facebook::react::PointerEvent event; +} + +struct facebook::react::AnimatedPropBase { + public AnimatedPropBase(facebook::react::PropName propName); + public facebook::react::PropName propName; + public virtual ~AnimatedPropBase() = default; +} + +struct facebook::react::AnimatedProps { + public std::unique_ptr rawProps; + public std::vector> props; +} + +struct facebook::react::AnimatedPropsBuilder { + public facebook::react::AnimatedProps get(); + public std::unique_ptr rawProps; + public std::vector> props; + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); + public void setBackgroundColor(facebook::react::SharedColor value); + public void setBorderColor(facebook::react::CascadedBorderColors& value); + public void setBorderCurves(facebook::react::CascadedBorderCurves& value); + public void setBorderRadii(facebook::react::CascadedBorderRadii& value); + public void setBorderStyles(facebook::react::CascadedBorderStyles& value); + public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); + public void setBoxShadow(const std::vector& value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setColumnGap(facebook::yoga::Style::Length value); + public void setCursor(facebook::react::Cursor value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFilter(const std::vector& value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setHeight(facebook::yoga::Style::SizeLength value); + public void setIsolation(facebook::react::Isolation value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setMargin(facebook::react::CascadedRectangleEdges& value); + public void setMaxHeight(facebook::yoga::Style::SizeLength value); + public void setMaxWidth(facebook::yoga::Style::SizeLength value); + public void setMinHeight(facebook::yoga::Style::SizeLength value); + public void setMinWidth(facebook::yoga::Style::SizeLength value); + public void setMixBlendMode(facebook::react::BlendMode value); + public void setOpacity(Float value); + public void setOutlineColor(facebook::react::SharedColor value); + public void setOutlineOffset(Float value); + public void setOutlineStyle(facebook::react::OutlineStyle value); + public void setOutlineWidth(Float value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::react::CascadedRectangleEdges& value); + public void setPointerEvents(facebook::react::PointerEventsMode value); + public void setPosition(facebook::react::CascadedRectangleEdges& value); + public void setPositionType(facebook::yoga::PositionType value); + public void setRowGap(facebook::yoga::Style::Length value); + public void setShadowColor(facebook::react::SharedColor value); + public void setShadowOffset(facebook::react::Size value); + public void setShadowOpacity(Float value); + public void setShadowRadius(Float value); + public void setTransform(const facebook::react::Transform& t); + public void setTransformOrigin(const facebook::react::TransformOrigin& value); + public void setWidth(facebook::yoga::Style::SizeLength value); + public void setZIndex(std::optional value); + public void storeDynamic(folly::dynamic& d); + public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); +} + +struct facebook::react::AnimationConfig { + public Float initialVelocity; + public Float springDamping; + public double delay; + public double duration; + public facebook::react::AnimationProperty animationProperty; + public facebook::react::AnimationType animationType; +} + +struct facebook::react::AnimationKeyFrame { + public bool generateFinalSyntheticMutations; + public bool invalidated; + public double initialProgress; + public facebook::react::AnimationConfigurationType type; + public facebook::react::ShadowView viewEnd; + public facebook::react::ShadowView viewPrev; + public facebook::react::ShadowView viewStart; + public facebook::react::Tag parentTag; + public facebook::react::Tag tag; + public std::vector finalMutationsForKeyFrame; +} + +struct facebook::react::AnimationMutation { + public bool hasLayoutUpdates; + public facebook::react::AnimatedProps props; + public facebook::react::Tag tag; + public std::shared_ptr family; +} + +struct facebook::react::AnimationMutations { + public std::set asyncFlushSurfaces; + public std::vector batch; +} + +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::BackgroundRepeat { + public BackgroundRepeat(); + public bool operator==(const facebook::react::BackgroundRepeat& other) const = default; + public facebook::react::BackgroundRepeatStyle x; + public facebook::react::BackgroundRepeatStyle y; +} + +struct facebook::react::BackgroundSizeLengthPercentage { + public BackgroundSizeLengthPercentage(); + public bool isXAuto() const; + public bool isYAuto() const; + public bool operator==(const facebook::react::BackgroundSizeLengthPercentage& other) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::BaseTouch { + public Float force; + public Float timestamp; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point offsetPoint; + public facebook::react::Point pagePoint; + public facebook::react::Point screenPoint; + public facebook::react::Tag target; + public int identifier; +} + +struct facebook::react::BaseTouch::Comparator { + public bool operator()(const facebook::react::BaseTouch& lhs, const facebook::react::BaseTouch& rhs) const; +} + +struct facebook::react::BaseTouch::Hasher { + public size_t operator()(const facebook::react::BaseTouch& touch) const; +} + +struct facebook::react::BorderMetrics { + public bool operator==(const facebook::react::BorderMetrics& rhs) const = default; + public facebook::react::BorderColors borderColors; + public facebook::react::BorderCurves borderCurves; + public facebook::react::BorderRadii borderRadii; + public facebook::react::BorderStyles borderStyles; + public facebook::react::BorderWidths borderWidths; +} + +struct facebook::react::BoxShadow { + public Float blurRadius; + public Float offsetX; + public Float offsetY; + public Float spreadDistance; + public bool inset; + public bool operator==(const facebook::react::BoxShadow& other) const = default; + public facebook::react::SharedColor color; +} + +struct facebook::react::Bridging { + public static bool fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static bool toJs(facebook::jsi::Runtime&, bool value); +} + +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +struct facebook::react::Bridging { + public static double fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static double toJs(facebook::jsi::Runtime&, double value); +} + +struct facebook::react::Bridging { + public static float fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static float toJs(facebook::jsi::Runtime&, float value); +} + +struct facebook::react::Bridging { + public static int32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); + public static int32_t toJs(facebook::jsi::Runtime&, int32_t value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime&, uint32_t value); + public static uint32_t fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); +} + +struct facebook::react::BufferEvent { + public std::string name; + public std::string track; + public uint64_t end; + public uint64_t start; +} + +struct facebook::react::BundleHeader { + public BundleHeader(); + public facebook::react::Magic32 magic32; + public uint32_t version; + public uint64_t magic64; +} + +struct facebook::react::CSSAngle { + public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSBlurFilter { + public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; + public facebook::react::CSSLength amount; +} + +struct facebook::react::CSSBrightnessFilter { + public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSColor { + public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; + public static constexpr facebook::react::CSSColor black(); + public uint8_t a; + public uint8_t b; + public uint8_t g; + public uint8_t r; +} + +struct facebook::react::CSSColorHint { + public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; + public std::variant position; +} + +struct facebook::react::CSSColorStop { + public bool operator==(const facebook::react::CSSColorStop& rhs) const; + public facebook::react::CSSColor color; + public std::optional> endPosition; + public std::optional> startPosition; +} + +struct facebook::react::CSSContrastFilter { + public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSDropShadowFilter { + public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength standardDeviation; +} + +struct facebook::react::CSSFunctionBlock { + public std::string_view name; +} + +struct facebook::react::CSSGrayscaleFilter { + public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSHueRotateFilter { + public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSInvertFilter { + public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSLength { + public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; + public facebook::react::CSSLengthUnit unit; + public float value; +} + +struct facebook::react::CSSLinearGradientDirection { + public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSLinearGradientFunction { + public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; + public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); + public std::optional direction; + public std::vector> items; +} + +struct facebook::react::CSSMatrix { + public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; + public std::array values; +} + +struct facebook::react::CSSNumber { + public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; + public float value; +} + +struct facebook::react::CSSOpacityFilter { + public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSPercentage { + public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; + public float value; +} + +struct facebook::react::CSSPerspective { + public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; + public facebook::react::CSSLength length; +} + +struct facebook::react::CSSRadialGradientExplicitSize { + public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; + public std::variant sizeX; + public std::variant sizeY; +} + +struct facebook::react::CSSRadialGradientFunction { + public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; + public std::optional position; + public std::optional shape; + public std::optional size; + public std::vector> items; +} + +struct facebook::react::CSSRadialGradientPosition { + public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; + public std::optional> bottom; + public std::optional> left; + public std::optional> right; + public std::optional> top; +} + +struct facebook::react::CSSRatio { + public constexpr bool isDegenerate() const; + public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; + public float denominator; + public float numerator; +} + +struct facebook::react::CSSRotate { + public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateX { + public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateY { + public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSRotateZ { + public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSaturateFilter { + public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSScale { + public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; + public float x; + public float y; +} + +struct facebook::react::CSSScaleX { + public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; + public float value; +} + +struct facebook::react::CSSScaleY { + public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; + public float value; +} + +struct facebook::react::CSSSepiaFilter { + public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; + public float amount; +} + +struct facebook::react::CSSShadow { + public bool inset; + public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; + public facebook::react::CSSColor color; + public facebook::react::CSSLength blurRadius; + public facebook::react::CSSLength offsetX; + public facebook::react::CSSLength offsetY; + public facebook::react::CSSLength spreadDistance; +} + +struct facebook::react::CSSSimpleBlock { + public facebook::react::CSSTokenType openBracketType; +} + +struct facebook::react::CSSSkewX { + public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSSkewY { + public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; + public float degrees; +} + +struct facebook::react::CSSTransformOrigin { + public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate3D { + public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; + public facebook::react::CSSLength z; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslate { + public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; + public std::variant x; + public std::variant y; +} + +struct facebook::react::CSSTranslateX { + public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSTranslateY { + public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; + public std::variant value; +} + +struct facebook::react::CSSZero { + public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; +} + +struct facebook::react::CallbackWithId { + public facebook::react::Callback callback; + public facebook::react::CallbackId callbackId; +} + +struct facebook::react::ColorComponents { + public facebook::react::ColorSpace colorSpace; + public float alpha; + public float blue; + public float green; + public float red; +} + +struct facebook::react::ColorStop { + public bool operator==(const facebook::react::ColorStop& other) const = default; + public facebook::react::SharedColor color; + public facebook::react::ValueUnit position; +} + +struct facebook::react::CornerRadii { + public bool operator==(const facebook::react::CornerRadii& other) const = default; + public float horizontal; + public float vertical; +} + +struct facebook::react::DebugStringConvertibleOptions { +} + +struct facebook::react::DefaultTurboModules { + public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::DropShadowParams { + public Float offsetX; + public Float offsetY; + public Float standardDeviation; + public bool operator==(const facebook::react::DropShadowParams& other) const = default; + public facebook::react::SharedColor color; +} + +struct facebook::react::DummyTraceSection { + template + public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { + protected folly::dynamic payload_; + public DynamicEventPayload(folly::dynamic&& payload); + public static facebook::react::SharedEventPayload create(folly::dynamic&& payload); + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector&) const override; +} + +struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEventPayload { + public DynamicPointerEvent(folly::dynamic&& payload); + public const std::optional>& getHitPathForEventListener() const; +} + +struct facebook::react::EventAnimationDriverKey { + public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; + public facebook::react::Tag viewTag; + public std::string eventName; +} + +struct facebook::react::EventPayload { + public EventPayload() = default; + public EventPayload(const facebook::react::EventPayload&) = default; + public EventPayload(facebook::react::EventPayload&&) = default; + public facebook::react::EventPayload& operator=(const facebook::react::EventPayload&) = default; + public facebook::react::EventPayload& operator=(facebook::react::EventPayload&&) = default; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const = 0; + public virtual facebook::react::EventPayloadType getType() const = 0; + public virtual std::optional extractValue(const std::vector&) const; + public virtual ~EventPayload() = default; +} + +struct facebook::react::FilterFunction { + public bool operator==(const facebook::react::FilterFunction& other) const = default; + public facebook::react::FilterType type; + public std::variant parameters; +} + +struct facebook::react::InspectorData { + public folly::dynamic props; + public int columnNumber; + public int lineNumber; + public int selectedIndex; + public std::string fileName; + public std::vector hierarchy; +} + +struct facebook::react::LayoutAnimation { + public bool completed; + public facebook::react::LayoutAnimationCallbackWrapper failureCallback; + public facebook::react::LayoutAnimationCallbackWrapper successCallback; + public facebook::react::LayoutAnimationConfig layoutAnimationConfig; + public facebook::react::SurfaceId surfaceId; + public std::vector keyFrames; + public uint64_t startTime; +} + +struct facebook::react::LayoutAnimationConfig { + public double duration; + public facebook::react::AnimationConfig createConfig; + public facebook::react::AnimationConfig deleteConfig; + public facebook::react::AnimationConfig updateConfig; +} + +struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { + public LayoutConformanceProps() = default; + public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); + public facebook::react::LayoutConformance mode; +} + +struct facebook::react::LayoutConstraints { + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::Size clamp(const facebook::react::Size& size) const; + public facebook::react::Size maximumSize; + public facebook::react::Size minimumSize; +} + +struct facebook::react::LayoutContext { + public Float fontSizeMultiplier; + public Float pointScaleFactor; + public bool swapLeftAndRightInRTL; + public facebook::react::Point viewportOffset; + public facebook::react::Size viewportSize; + public std::vector* affectedNodes; +} + +struct facebook::react::LayoutMetrics { + public Float fontSizeMultiplier; + public Float pointScaleFactor; + public bool operator==(const facebook::react::LayoutMetrics& rhs) const = default; + public bool wasLeftAndRightSwapped; + public facebook::react::DisplayType displayType; + public facebook::react::EdgeInsets borderWidth; + public facebook::react::EdgeInsets contentInsets; + public facebook::react::EdgeInsets overflowInset; + public facebook::react::LayoutDirection layoutDirection; + public facebook::react::PositionType positionType; + public facebook::react::Rect frame; + public facebook::react::Rect getContentFrame() const; + public facebook::react::Rect getOverflowInsetFrame() const; + public facebook::react::Rect getPaddingFrame() const; +} + +struct facebook::react::LineMeasurement { + public Float ascender; + public Float capHeight; + public Float descender; + public Float xHeight; + public LineMeasurement(const folly::dynamic& data); + public LineMeasurement(std::string text, facebook::react::Rect frame, Float descender, Float capHeight, Float ascender, Float xHeight); + public bool operator==(const facebook::react::LineMeasurement& rhs) const; + public facebook::react::Rect frame; + public static Float baseline(const std::vector& lines); + public std::string text; +} + +struct facebook::react::LinearGradient { + public bool operator==(const facebook::react::LinearGradient& other) const = default; + public facebook::react::GradientDirection direction; + public std::vector colorStops; +} + +struct facebook::react::Magic32 { + public uint32_t reserved_; + public uint32_t value; +} + +struct facebook::react::MeasuredPreparedTextLayout { + public facebook::react::LayoutConstraints layoutConstraints; + public facebook::react::TextMeasurement measurement; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; +} + +struct facebook::react::Point { + public Float x; + public Float y; + public bool operator==(const facebook::react::Point& rhs) const = default; + public facebook::react::Point operator+(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point operator-() const noexcept; + public facebook::react::Point operator-(const facebook::react::Point& rhs) const noexcept; + public facebook::react::Point& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator+=(const facebook::react::Point& point) noexcept; + public facebook::react::Point& operator-=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::PointerEvent : public facebook::react::EventPayload { + public Float height; + public Float pressure; + public Float tangentialPressure; + public Float width; + public bool altKey; + public bool ctrlKey; + public bool isPrimary; + public bool metaKey; + public bool shiftKey; + public facebook::react::HighResTimeStamp timeStamp; + public facebook::react::Point clientPoint; + public facebook::react::Point offsetPoint; + public facebook::react::Point screenPoint; + public int button; + public int buttons; + public int detail; + public int pointerId; + public int tiltX; + public int tiltY; + public int twist; + public std::string pointerType; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; +} + +struct facebook::react::PointerEventTarget { + public facebook::react::PointerEvent event; + public std::shared_ptr target; +} + +struct facebook::react::ProcessedColorStop { + public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; + public facebook::react::SharedColor color; + public std::optional position; +} + +struct facebook::react::Promise : public facebook::react::LongLivedObject { + public Promise(facebook::jsi::Runtime& rt, facebook::jsi::Function resolve, facebook::jsi::Function reject); + public facebook::jsi::Function reject_; + public facebook::jsi::Function resolve_; + public void reject(const std::string& message); + public void resolve(const facebook::jsi::Value& result); +} + +struct facebook::react::PropsParserContext { + public PropsParserContext(const facebook::react::PropsParserContext&) = delete; + public PropsParserContext(const facebook::react::SurfaceId surfaceId, const facebook::react::ContextContainer& contextContainer); + public const facebook::react::ContextContainer& contextContainer; + public const facebook::react::SurfaceId surfaceId; + public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; +} + +struct facebook::react::RadialGradient { + public bool operator==(const facebook::react::RadialGradient& other) const = default; + public facebook::react::RadialGradientPosition position; + public facebook::react::RadialGradientShape shape; + public facebook::react::RadialGradientSize size; + public std::vector colorStops; +} + +struct facebook::react::RadialGradientPosition { + public bool operator==(const facebook::react::RadialGradientPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; +} + +struct facebook::react::RadialGradientSize { + public bool operator==(const facebook::react::RadialGradientSize& other) const = default; + public std::variant value; +} + +enum facebook::react::RadialGradientSize::SizeKeyword { + ClosestCorner, + ClosestSide, + FarthestCorner, + FarthestSide, +} + +struct facebook::react::RadialGradientSize::Dimensions { + public bool operator==(const facebook::react::RadialGradientSize::Dimensions& other) const = default; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; +} + +struct facebook::react::RawEvent { + public RawEvent(std::string type, facebook::react::SharedEventPayload eventPayload, facebook::react::SharedEventTarget eventTarget, std::weak_ptr shadowNodeFamily, facebook::react::RawEvent::Category category = facebook::react::RawEvent::Category::Unspecified, bool isUnique = false, facebook::react::HighResTimeStamp eventStartTimeStamp = facebook::react::HighResTimeStamp::now()); + public bool isUnique; + public facebook::react::EventTag loggingTag; + public facebook::react::HighResTimeStamp eventStartTimeStamp; + public facebook::react::RawEvent::Category category; + public facebook::react::SharedEventPayload eventPayload; + public facebook::react::SharedEventTarget eventTarget; + public std::string type; + public std::weak_ptr shadowNodeFamily; +} + +enum facebook::react::RawEvent::Category { + Continuous, + ContinuousEnd, + ContinuousStart, + Discrete, + Idle, + Unspecified, +} + +struct facebook::react::ReactNativeVersionType { + public int32_t Major; + public int32_t Minor; + public int32_t Patch; + public std::string_view Prerelease; +} + +struct facebook::react::Rect { + public Float getMaxX() const noexcept; + public Float getMaxY() const noexcept; + public Float getMidX() const noexcept; + public Float getMidY() const noexcept; + public Float getMinX() const noexcept; + public Float getMinY() const noexcept; + public bool containsPoint(facebook::react::Point point) noexcept; + public bool operator==(const facebook::react::Rect& rhs) const noexcept = default; + public facebook::react::Point getCenter() const noexcept; + public facebook::react::Point origin; + public facebook::react::Size size; + public static facebook::react::Rect boundingRect(const facebook::react::Point& a, const facebook::react::Point& b, const facebook::react::Point& c, const facebook::react::Point& d) noexcept; + public static facebook::react::Rect intersect(const facebook::react::Rect& rect1, const facebook::react::Rect& rect2); + public void unionInPlace(const facebook::react::Rect& rect) noexcept; +} + +struct facebook::react::SchedulerToolbox { + public facebook::react::ComponentRegistryFactory componentRegistryFactory; + public facebook::react::EventBeat::Factory eventBeatFactory; + public facebook::react::RuntimeExecutor runtimeExecutor; + public std::optional bridgelessBindingsExecutor; + public std::shared_ptr contextContainer; + public std::shared_ptr animationChoreographer; + public std::vector> commitHooks; +} + +struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { + public ScrollEndDragEvent() = default; + public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); + public facebook::react::Point targetContentOffset; + public facebook::react::Point velocity; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; +} + +struct facebook::react::ScrollEvent : public facebook::react::EventPayload { + public Float timestamp; + public Float zoomScale; + public ScrollEvent() = default; + public bool responderIgnoreScroll; + public facebook::react::EdgeInsets contentInset; + public facebook::react::Point contentOffset; + public facebook::react::Size containerSize; + public facebook::react::Size contentSize; + public folly::dynamic asDynamic() const; + public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; + public virtual facebook::react::EventPayloadType getType() const override; + public virtual std::optional extractValue(const std::vector&) const override; +} + +struct facebook::react::ShadowNodeFamilyFragment { + public const facebook::react::SurfaceId surfaceId; + public const facebook::react::Tag tag; + public const std::shared_ptr instanceHandle; +} + +struct facebook::react::ShadowNodeFragment { + public const bool runtimeShadowNodeReference; + public const facebook::react::Props::Shared& props; + public const facebook::react::State::Shared& state; + public const std::shared_ptr>>& children; + public static const facebook::react::Props::Shared& propsPlaceholder(); + public static const facebook::react::State::Shared& statePlaceholder(); + public static const std::shared_ptr>>& childrenPlaceholder(); +} + +struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { + public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); + public std::shared_ptr>> shadowNodeList; + public ~ShadowNodeListWrapper() override; +} + +struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { + public ShadowNodeWrapper(std::shared_ptr shadowNode); + public std::shared_ptr shadowNode; + public ~ShadowNodeWrapper() override; +} + +struct facebook::react::ShadowTreeCommitOptions { + public bool enableStateReconciliation; + public bool mountSynchronously; + public facebook::react::ShadowTreeCommitSource source; +} + +struct facebook::react::ShadowView { + public ShadowView() = default; + public ShadowView(const facebook::react::ShadowNode& shadowNode); + public ShadowView(const facebook::react::ShadowView& shadowView) = default; + public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; + public bool operator==(const facebook::react::ShadowView& rhs) const; + public facebook::react::ComponentHandle componentHandle; + public facebook::react::ComponentName componentName; + public facebook::react::EventEmitter::Shared eventEmitter; + public facebook::react::LayoutMetrics layoutMetrics; + public facebook::react::Props::Shared props; + public facebook::react::ShadowNodeTraits traits; + public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; + public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; + public facebook::react::State::Shared state; + public facebook::react::SurfaceId surfaceId; + public facebook::react::Tag tag; +} + +struct facebook::react::ShadowViewMutation { + public ShadowViewMutation() = delete; + public bool mutatedViewIsVirtual() const; + public facebook::react::ShadowView newChildShadowView; + public facebook::react::ShadowView oldChildShadowView; + public facebook::react::ShadowViewMutation::Type type; + public facebook::react::Tag parentTag; + public int index; + public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); + public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); + public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); + public using List = std::vector; +} + +enum facebook::react::ShadowViewMutation::Type : std::uint8_t { + Create, + Delete, + Insert, + Remove, + Update, +} + +struct facebook::react::Size { + public Float height; + public Float width; + public facebook::react::Size& operator*=(const facebook::react::Point& point) noexcept; + public facebook::react::Size& operator+=(const facebook::react::Point& point) noexcept; +} + +struct facebook::react::StateData { + public using Shared = std::shared_ptr; +} + +struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { + template + public SystraceSection(const char* name, ConvertsToStringPiece &&... args); +} + +struct facebook::react::Task : public facebook::jsi::NativeState { + public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); + public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); +} + +struct facebook::react::TextEffectInfo { + public bool operator==(const facebook::react::TextEffectInfo&) const = default; + public folly::dynamic props; + public std::string name; +} + +struct facebook::react::TextLayoutContext { + public Float pointScaleFactor; + public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; + public facebook::react::SurfaceId surfaceId; +} + +struct facebook::react::TimerCallback { + public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); + public bool repeat; + public const std::vector args_; + public facebook::jsi::Function callback_; + public facebook::react::TimerSource source; + public void invoke(facebook::jsi::Runtime& runtime); +} + +struct facebook::react::TouchEvent { + public facebook::react::Touches changedTouches; + public facebook::react::Touches targetTouches; + public facebook::react::Touches touches; +} + +struct facebook::react::Transform { + public Float& at(int i, int j) noexcept; + public bool operator==(const facebook::react::Transform& rhs) const noexcept; + public const Float& at(int i, int j) const noexcept; + public facebook::react::Rect applyWithCenter(const facebook::react::Rect& rect, const facebook::react::Point& center) const; + public facebook::react::Transform operator*(const facebook::react::Transform& rhs) const; + public operator folly::dynamic() const; + public static bool isHorizontalInversion(const facebook::react::Transform& transform) noexcept; + public static bool isVerticalInversion(const facebook::react::Transform& transform) noexcept; + public static facebook::react::Transform FromTransformOperation(facebook::react::TransformOperation transformOperation, const facebook::react::Size& size, const facebook::react::Transform& transform = facebook::react::Transform::Identity()); + public static facebook::react::Transform HorizontalInversion() noexcept; + public static facebook::react::Transform Identity() noexcept; + public static facebook::react::Transform Interpolate(Float animationProgress, const facebook::react::Transform& lhs, const facebook::react::Transform& rhs, const facebook::react::Size& size); + public static facebook::react::Transform Perspective(Float perspective) noexcept; + public static facebook::react::Transform Rotate(Float angleX, Float angleY, Float angleZ) noexcept; + public static facebook::react::Transform RotateX(Float radians) noexcept; + public static facebook::react::Transform RotateY(Float radians) noexcept; + public static facebook::react::Transform RotateZ(Float radians) noexcept; + public static facebook::react::Transform Scale(Float factorX, Float factorY, Float factorZ) noexcept; + public static facebook::react::Transform Skew(Float x, Float y) noexcept; + public static facebook::react::Transform Translate(Float x, Float y, Float z) noexcept; + public static facebook::react::Transform VerticalInversion() noexcept; + public static facebook::react::TransformOperation DefaultTransformOperation(facebook::react::TransformOperationType type); + public std::array matrix; + public std::vector operations; +} + +struct facebook::react::TransformConfig { + public double value; + public facebook::react::Tag nodeTag; + public std::string property; +} + +struct facebook::react::TransformOperation { + public bool operator==(const facebook::react::TransformOperation& other) const = default; + public facebook::react::TransformOperationType type; + public facebook::react::ValueUnit x; + public facebook::react::ValueUnit y; + public facebook::react::ValueUnit z; +} + +struct facebook::react::TransformOrigin { + public bool isSet() const; + public bool operator==(const facebook::react::TransformOrigin& other) const = default; + public float z; + public std::array xy; +} + +struct facebook::react::ValueUnit { + public constexpr ValueUnit() = default; + public constexpr ValueUnit(float v, facebook::react::UnitType u); + public constexpr bool operator==(const facebook::react::ValueUnit& other) const = default; + public constexpr float resolve(float referenceLength) const; + public constexpr operator bool() const; + public facebook::react::UnitType unit; + public float value; +} + +struct facebook::react::Vector { + public Float w; + public Float x; + public Float y; + public Float z; +} + +struct facebook::react::ViewEvents { + public constexpr bool operator[](const facebook::react::ViewEvents::Offset offset) const; + public std::bitset<64> bits; + public std::bitset<64>::reference operator[](const facebook::react::ViewEvents::Offset offset); +} + +enum facebook::react::ViewEvents::Offset : std::size_t { + Click, + ClickCapture, + GotPointerCapture, + LostPointerCapture, + MoveShouldSetResponder, + MoveShouldSetResponderCapture, + PointerDown, + PointerDownCapture, + PointerEnter, + PointerEnterCapture, + PointerLeave, + PointerLeaveCapture, + PointerMove, + PointerMoveCapture, + PointerOut, + PointerOutCapture, + PointerOver, + PointerOverCapture, + PointerUp, + PointerUpCapture, + ResponderEnd, + ResponderGrant, + ResponderMove, + ResponderReject, + ResponderRelease, + ResponderStart, + ResponderTerminate, + ResponderTerminationRequest, + ShouldBlockNativeResponder, + StartShouldSetResponder, + StartShouldSetResponderCapture, + TouchCancel, + TouchEnd, + TouchMove, + TouchStart, +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSList { +} + +template ... VisitorsT> +struct facebook::react::CSSComponentValueVisitorDispatcher { + public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); + public constexpr std::optional visitFunction(); + public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitPreservedToken(); + public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); + public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); + public facebook::react::CSSSyntaxParser& parser; +} + +template +struct facebook::react::CSSList : public std::vector { +} + +template +class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { + public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public ConcreteViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteShadowNode; + public using ConcreteViewProps = ViewPropsT; + public virtual bool canBeTouchTarget() const override; + public virtual bool canChildrenBeTouchTarget() const override; + public virtual facebook::react::Transform getTransform() const override; +} + +template +class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { + protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; + protected std::shared_ptr textLayoutManager_; + protected virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; + protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; + protected virtual void layout(facebook::react::LayoutContext layoutContext) override; + public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); + public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; + public void setTextLayoutManager(std::shared_ptr textLayoutManager); +} + +template +class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { + protected facebook::react::Props::Shared props_; + protected facebook::react::State::Shared state_; + public const facebook::react::ConcreteShadowNode::ConcreteEventEmitter& getConcreteEventEmitter() const; + public const facebook::react::ConcreteShadowNode::ConcreteProps& getConcreteProps() const; + public const facebook::react::ConcreteShadowNode::ConcreteStateData& getStateData() const; + public const std::shared_ptr& getConcreteSharedProps() const; + public static const facebook::react::ConcreteShadowNode::SharedConcreteProps& defaultSharedProps(); + public static facebook::react::ComponentHandle Handle(); + public static facebook::react::ComponentName Name(); + public static facebook::react::ConcreteShadowNode::ConcreteStateData initialStateData(const facebook::react::Props::Shared&, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor&); + public static facebook::react::ConcreteShadowNode::UnsharedConcreteProps Props(const facebook::react::Props::Shared& baseProps); + public static facebook::react::ConcreteShadowNode::UnsharedConcreteProps Props(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::Props::Shared& baseProps = nullptr); + public static facebook::react::ShadowNodeTraits BaseTraits(); + public using ConcreteEventEmitter = EventEmitterT; + public using ConcreteProps = PropsT; + public using ConcreteState = facebook::react::ConcreteState; + public using ConcreteStateData = StateDataT; + public using SharedConcreteEventEmitter = std::shared_ptr; + public using SharedConcreteProps = std::shared_ptr; + public using SharedConcreteShadowNode = std::shared_ptr; + public using UnsharedConcreteProps = std::shared_ptr; + public void setStateData(facebook::react::ConcreteShadowNode::ConcreteStateData&& data); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging { +} + +template +struct facebook::react::TemplateStringLiteral { + public constexpr TemplateStringLiteral(const char(&str)[N]); + public constexpr operator std::string_view() const; + public std::array value; +} + +template +struct facebook::react::CSSDataTypeParser { +} + +template +class facebook::react::ConcreteState : public facebook::react::State { + public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); + public ConcreteState(facebook::react::ConcreteState::SharedData data, facebook::react::ShadowNodeFamily::Weak family); + public const facebook::react::ConcreteState::Data& getData() const; + public using Data = DataT; + public using Shared = std::shared_ptr; + public using SharedData = std::shared_ptr; + public void updateState(facebook::react::ConcreteState::Data&& newData, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public void updateState(std::function callback, facebook::react::EventQueue::UpdateMode updateMode = facebook::react::EventQueue::UpdateMode::Asynchronous) const; + public ~ConcreteState() override = default; +} + +template +class facebook::react::SyncCallback { +} + +template +class facebook::react::SimpleThreadSafeCache { + public SimpleThreadSafeCache(); + public SimpleThreadSafeCache(unsigned long size); + public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; + public std::optional get(const KeyT& key) const; + public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; +} + +template +class facebook::react::OnScopeExit { + public OnScopeExit(const Lambda&& lambda) noexcept; + public OnScopeExit(const facebook::react::OnScopeExit&) = delete; + public OnScopeExit(facebook::react::OnScopeExit&&) = delete; + public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; + public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; + public ~OnScopeExit() noexcept; +} + +template +class facebook::react::SyncCallback { + public R call(Args... args) const; + public R operator()(Args... args) const; + public SyncCallback(const facebook::react::SyncCallback&) = delete; + public SyncCallback(facebook::jsi::Runtime& rt, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public SyncCallback(facebook::react::SyncCallback&& other) noexcept; + public facebook::react::SyncCallback& operator=(const facebook::react::SyncCallback&) = delete; + public facebook::react::SyncCallback& operator=(facebook::react::SyncCallback&& other) noexcept; + public ~SyncCallback(); +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging : public facebook::react::Bridging> { +} + +template +class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); + public virtual facebook::react::ComponentName getComponentName() const override; +} + +template +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { + protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; + public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); + public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; + public using ConcreteProps = typename ShadowNodeT::ConcreteProps; + public using ConcreteShadowNode = ShadowNodeT; + public using ConcreteState = typename ShadowNodeT::ConcreteState; + public using ConcreteStateData = typename ShadowNodeT::ConcreteState::Data; + public using SharedConcreteEventEmitter = typename ShadowNodeT::SharedConcreteEventEmitter; + public using SharedConcreteProps = typename ShadowNodeT::SharedConcreteProps; + public virtual facebook::react::ComponentHandle getComponentHandle() const override; + public virtual facebook::react::ComponentName getComponentName() const override; + public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; + public virtual facebook::react::ShadowNodeFamily::Shared createFamily(const facebook::react::ShadowNodeFamilyFragment& fragment) const override; + public virtual facebook::react::ShadowNodeTraits getTraits() const override; + public virtual facebook::react::State::Shared createInitialState(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual facebook::react::State::Shared createState(const facebook::react::ShadowNodeFamily& family, const facebook::react::StateData::Shared& data) const override; + public virtual std::shared_ptr cloneShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; + public virtual std::shared_ptr createShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family) const override; + public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; +} + +template +struct facebook::react::Bridging { +} + +template +struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { + public AnimatedProp() = default; + public AnimatedProp(facebook::react::PropName propName, const T& value); + public T value; +} + +template +struct facebook::react::CascadedRectangleCorners { + public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; + public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleCorners::OptionalT all; + public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; + public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; + public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; + public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; + public facebook::react::CascadedRectangleCorners::OptionalT endEnd; + public facebook::react::CascadedRectangleCorners::OptionalT endStart; + public facebook::react::CascadedRectangleCorners::OptionalT startEnd; + public facebook::react::CascadedRectangleCorners::OptionalT startStart; + public facebook::react::CascadedRectangleCorners::OptionalT topEnd; + public facebook::react::CascadedRectangleCorners::OptionalT topLeft; + public facebook::react::CascadedRectangleCorners::OptionalT topRight; + public facebook::react::CascadedRectangleCorners::OptionalT topStart; + public using Counterpart = facebook::react::RectangleCorners; + public using OptionalT = std::optional; +} + +template +struct facebook::react::CascadedRectangleEdges { + public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; + public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleEdges::OptionalT all; + public facebook::react::CascadedRectangleEdges::OptionalT block; + public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; + public facebook::react::CascadedRectangleEdges::OptionalT blockStart; + public facebook::react::CascadedRectangleEdges::OptionalT bottom; + public facebook::react::CascadedRectangleEdges::OptionalT end; + public facebook::react::CascadedRectangleEdges::OptionalT horizontal; + public facebook::react::CascadedRectangleEdges::OptionalT left; + public facebook::react::CascadedRectangleEdges::OptionalT right; + public facebook::react::CascadedRectangleEdges::OptionalT start; + public facebook::react::CascadedRectangleEdges::OptionalT top; + public facebook::react::CascadedRectangleEdges::OptionalT vertical; + public using Counterpart = facebook::react::RectangleEdges; + public using OptionalT = std::optional; +} + +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; +} + +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; +} + +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; +} + +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; +} + +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; +} + +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); +} + +template +class facebook::react::EventListenerContainerT { + public bool willDispatchEvent(TArgs... args); + public void addListener(std::shared_ptr> listener); + public void removeListener(const std::shared_ptr>& listener); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); +} + +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); +} + +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { +} + +struct facebook::react::Bridging { + public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); +} + +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); +} + +struct facebook::react::Bridging : public NativeAnimatedTurboModuleEndResultBridging { +} + +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); +} + +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); +} + +struct facebook::react::CSSDataTypeParser { + public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { +} + +struct facebook::react::CSSDataTypeParser { + public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); +} + +template +struct facebook::react::CSSDataTypeParser> { + public static std::optional> consume(facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { +} + +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); +} + +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); +} + +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); +} + + +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); + + +constexpr bool facebook::react::detail::isHexDigit(char c); +constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); +constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); +constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); +constexpr uint8_t facebook::react::detail::clamp255Component(float f); +constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); +constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); +float facebook::react::detail::normalizeHue(float hue); +std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); +std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); +std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); +template +constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); +template +constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); +template +std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); +template +C facebook::react::detail::memberFunctionClass(T C::*); +template +constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); + +class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { + public OwnedBytesBuffer(std::vector bytes) noexcept; + public virtual size_t size() const override; + public virtual uint8_t* data() override; +} + +enum facebook::react::detail::HexColorType { + Long, + Short, +} + +template +struct facebook::react::detail::merge_data_types { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types { +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = typename T::PreparedTextLayout; +} + +template +struct facebook::react::detail::CSSVariantComponentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSAngleTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSFilterSimpleAmountParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::CSSNumberPercentTransformParser { + public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); +} + +template +struct facebook::react::detail::PreparedTextLayoutT { + public using type = std::nullptr_t; +} + +template +struct facebook::react::detail::is_variant_of_data_types : public std::false_type { +} + +template +class facebook::react::detail::TextLayoutManagerExtended { + public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); + public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); + public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; + public static constexpr bool supportsLineMeasurement(); + public static constexpr bool supportsPreparedTextLayout(); + public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; +} + +template +struct facebook::react::detail::merge_variant { +} + +template +struct facebook::react::detail::merge_data_types, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + +template +struct facebook::react::detail::merge_variant, RestT...> { + public using type = std::variant; +} + +template +struct facebook::react::detail::merge_data_types> { + public using type = std::variant; +} + +template +struct facebook::react::detail::is_variant_of_data_types> : public std::true_type { +} + +template +struct facebook::react::detail::merge_data_types, std::variant, RestT...> { + public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; +} + + +constexpr std::string_view facebook::react::detail::css::keywords::Absolute; +constexpr std::string_view facebook::react::detail::css::keywords::At; +constexpr std::string_view facebook::react::detail::css::keywords::Auto; +constexpr std::string_view facebook::react::detail::css::keywords::Baseline; +constexpr std::string_view facebook::react::detail::css::keywords::Block; +constexpr std::string_view facebook::react::detail::css::keywords::Bottom; +constexpr std::string_view facebook::react::detail::css::keywords::Center; +constexpr std::string_view facebook::react::detail::css::keywords::Clip; +constexpr std::string_view facebook::react::detail::css::keywords::Column; +constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; +constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Content; +constexpr std::string_view facebook::react::detail::css::keywords::Contents; +constexpr std::string_view facebook::react::detail::css::keywords::Contextual; +constexpr std::string_view facebook::react::detail::css::keywords::Dashed; +constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Dotted; +constexpr std::string_view facebook::react::detail::css::keywords::Double; +constexpr std::string_view facebook::react::detail::css::keywords::End; +constexpr std::string_view facebook::react::detail::css::keywords::Fixed; +constexpr std::string_view facebook::react::detail::css::keywords::Flex; +constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; +constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; +constexpr std::string_view facebook::react::detail::css::keywords::Grid; +constexpr std::string_view facebook::react::detail::css::keywords::Groove; +constexpr std::string_view facebook::react::detail::css::keywords::Hidden; +constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::Inherit; +constexpr std::string_view facebook::react::detail::css::keywords::Initial; +constexpr std::string_view facebook::react::detail::css::keywords::Inline; +constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; +constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; +constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; +constexpr std::string_view facebook::react::detail::css::keywords::Inset; +constexpr std::string_view facebook::react::detail::css::keywords::Left; +constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; +constexpr std::string_view facebook::react::detail::css::keywords::Ltr; +constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; +constexpr std::string_view facebook::react::detail::css::keywords::Medium; +constexpr std::string_view facebook::react::detail::css::keywords::MinContent; +constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; +constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; +constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; +constexpr std::string_view facebook::react::detail::css::keywords::None; +constexpr std::string_view facebook::react::detail::css::keywords::Normal; +constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; +constexpr std::string_view facebook::react::detail::css::keywords::Outset; +constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; +constexpr std::string_view facebook::react::detail::css::keywords::Relative; +constexpr std::string_view facebook::react::detail::css::keywords::Ridge; +constexpr std::string_view facebook::react::detail::css::keywords::Right; +constexpr std::string_view facebook::react::detail::css::keywords::Row; +constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; +constexpr std::string_view facebook::react::detail::css::keywords::Rtl; +constexpr std::string_view facebook::react::detail::css::keywords::Scroll; +constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; +constexpr std::string_view facebook::react::detail::css::keywords::Solid; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; +constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; +constexpr std::string_view facebook::react::detail::css::keywords::Start; +constexpr std::string_view facebook::react::detail::css::keywords::Static; +constexpr std::string_view facebook::react::detail::css::keywords::Sticky; +constexpr std::string_view facebook::react::detail::css::keywords::Stretch; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; +constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; +constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; +constexpr std::string_view facebook::react::detail::css::keywords::Thick; +constexpr std::string_view facebook::react::detail::css::keywords::Thin; +constexpr std::string_view facebook::react::detail::css::keywords::To; +constexpr std::string_view facebook::react::detail::css::keywords::Top; +constexpr std::string_view facebook::react::detail::css::keywords::Unset; +constexpr std::string_view facebook::react::detail::css::keywords::Visible; +constexpr std::string_view facebook::react::detail::css::keywords::Wrap; +constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; +template +concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); +template +concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); +template +concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); +template +concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); +template +concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); +template +concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); +template +concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); +template +concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); +template +concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); +template +concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); +template +concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); +template +concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); +template +concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); +template +concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); +template +concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); +template +concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); +template +concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); +template +concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); +template +concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); +template +concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); +template +concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); +template +concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); +template +concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); +template +concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); +template +concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); +template +concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); +template +concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); +template +concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); +template +concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); +template +concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); +template +concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); +template +concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); +template +concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); +template +concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); +template +concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); +template +concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); +template +concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); +template +concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); +template +concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); +template +concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); +template +concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); +template +concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); +template +concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); +template +concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); +template +concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); +template +concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); +template +concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); +template +concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); +template +concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); +template +concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); +template +concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); +template +concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); +template +concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); +template +concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); +template +concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); +template +concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); +template +concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); +template +concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); +template +concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); +template +concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); +template +concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); +template +concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); +template +concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); +template +concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); +template +concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); +template +concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); +template +concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); +template +concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); +template +concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); +template +concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); +template +concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); +template +concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); +template +concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); +template +concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); +template +concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); + + +static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; + + +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsToJs(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::is_jsi_v; +template +constexpr bool facebook::react::bridging::is_optional_jsi_v>>; +template +constexpr bool facebook::react::bridging::is_optional_v; +template +constexpr bool facebook::react::bridging::supportsFromJs(std::declval(), std::declval(), nullptr))>>; +template +constexpr bool facebook::react::bridging::supportsFromJs; +template +constexpr bool facebook::react::bridging::supportsToJs; +template +using facebook::react::bridging::bridging_t = typename facebook::react::bridging::detail::bridging_wrapper::type; +template +using facebook::react::bridging::remove_cvref_t = std::remove_cv_t>; +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(Class::*)(ArgsT...)); +template +JSReturnT facebook::react::bridging::callFromJs(facebook::jsi::Runtime& rt, ReturnT(ClassT::*method)(facebook::jsi::Runtime&, ArgsT...), const std::shared_ptr& jsInvoker, ClassT* instance, JSArgsT &&... args); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +decltype(facebook::react::Bridging>::fromJs(rt, facebook::react::bridging::convert(rt, std::forward(value)), jsInvoker)) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr& jsInvoker); +template +decltype(static_cast(std::move(facebook::react::bridging::convert(rt, std::forward(value))))) facebook::react::bridging::fromJs(facebook::jsi::Runtime& rt, JSArgT&& value, const std::shared_ptr&); +template +constexpr size_t facebook::react::bridging::getParameterCount(ReturnT(*)(ArgsT...)); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, T&& value); +template ||std::is_scalar_v, int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime& rt, std::optional value); +template , int> = 0> +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, T&& value); +template +auto facebook::react::bridging::convert(facebook::jsi::Runtime&, facebook::react::bridging::Converter&& converter); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value))) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); +template +decltype(facebook::react::Bridging>::toJs(rt, std::forward(value), jsInvoker)) facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& jsInvoker); +template +facebook::react::bridging::remove_cvref_t facebook::react::bridging::toJs(facebook::jsi::Runtime& rt, T&& value, const std::shared_ptr& = nullptr); + +template +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { +} + +template +struct facebook::react::bridging::ConverterBase { + protected T value_; + protected facebook::jsi::Runtime& rt_; + public ConverterBase(facebook::jsi::Runtime& rt, T&& value); + public operator facebook::react::bridging::ConverterBase::BaseT(); + public using BaseT = facebook::react::bridging::remove_cvref_t; + template && std::is_same_v, int> = 0> + public operator U() = delete; + template && std::is_convertible_v, U>, int> = 0> + public operator U(); +} + +template +struct facebook::react::bridging::is_optional : public std::false_type { +} + +template +struct facebook::react::bridging::Converter> : public facebook::react::bridging::ConverterBase { + public Converter(facebook::jsi::Runtime& rt, std::optional value); + public operator std::optional(); +} + +template +struct facebook::react::bridging::is_optional> : public std::true_type { +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::ArrayBuffer(); + public operator facebook::jsi::Function(); +} + +struct facebook::react::bridging::Converter : public facebook::react::bridging::ConverterBase { + public operator facebook::jsi::Array(); + public operator facebook::jsi::ArrayBuffer(); + public operator facebook::jsi::Function(); + public operator facebook::jsi::Object(); + public operator facebook::jsi::String(); +} + + +template +struct facebook::react::bridging::detail::function_wrapper { +} + +template +struct facebook::react::bridging::detail::bridging_wrapper { + public using type = facebook::react::bridging::remove_cvref_t; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::function_wrapper { + public using type = std::function; +} + +template +struct facebook::react::bridging::detail::bridging_wrapper::operator())>> : public facebook::react::bridging::detail::function_wrapper::operator())> { + public using type = facebook::react::bridging::remove_cvref_t; +} + + +template +using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; +typedef std::function facebook::react::jsinspector_modern::FrontendChannel; +using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; +using facebook::react::jsinspector_modern::IOReadError = const std::string; +using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; +using facebook::react::jsinspector_modern::StreamID = const std::string; +using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; +bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); +facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); +folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); +folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); +std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); +template +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); +template +facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); +template +facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); +void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); +void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); +void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); +void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); +void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); + +class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { + public CallbackLocalConnection(std::function handler); + public virtual void disconnect() override; + public virtual void sendMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public CallbackRemoteConnection(std::function handler); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::ConsoleTask { + public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; + public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; + public ConsoleTask(std::shared_ptr taskContext); + public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; + public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; + public ~ConsoleTask(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { + public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); + public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskId id() const; + public std::optional getSerializedStackTrace() const; + public void schedule(); + public ~ConsoleTaskContext(); +} + +class facebook::react::jsinspector_modern::ConsoleTaskId { + public ConsoleTaskId() = default; + public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; + public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; + public operator bool() const; + public operator void *() const; + public ~ConsoleTaskId() = default; +} + +class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { + public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; + public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; + public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); + public std::shared_ptr top() const; + public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); + public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); + public ~ConsoleTaskOrchestrator() = default; +} + +class facebook::react::jsinspector_modern::EmulationAgent { + public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); +} + +class facebook::react::jsinspector_modern::ExecutionContextManager { + public int32_t allocateExecutionContextId(); +} + +class facebook::react::jsinspector_modern::ExecutionContextSelector { + public ExecutionContextSelector() = delete; + public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; + public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; + public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; + public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); + public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); + public ~ExecutionContextSelector() = default; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; +} + +class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public FallbackRuntimeTargetDelegate(std::string engineDescription); + public virtual bool supportsConsole() const override; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; + public virtual void disableSamplingProfiler() override; + public virtual void enableSamplingProfiler() override; +} + +class facebook::react::jsinspector_modern::HostAgent { + public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); + public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public bool isEligibleForBackgroundTrace() const; + public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; + public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; + public void emitSystemStateChanged(bool isSingleHost); + public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void setCurrentInstanceAgent(std::shared_ptr agent); + public ~HostAgent(); +} + +class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public bool stopAndMaybeEmitBackgroundTrace(); + public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; + public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public std::unique_ptr connect(std::unique_ptr connectionToFrontend); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); + public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); + public ~HostTarget(); +} + +class facebook::react::jsinspector_modern::HostTargetController { + public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); + public bool decrementPauseOverlayCounter(); + public bool hasInstance() const; + public bool maybeEmitStashedBackgroundTrace(); + public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); + public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); + public void incrementPauseOverlayCounter(); +} + +class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public HostTargetDelegate() = default; + public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; + public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&); + public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; + public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); + public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&); + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; + public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; + public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; + public virtual ~HostTargetDelegate() override; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; + public std::optional message; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest { + public std::optional quality; + public std::optional format; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; + public std::optional ignoreCache; + public std::optional scriptToEvaluateOnLoad; +} + +struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest { + public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest& rhs) const; + public std::string colorScheme; +} + +class facebook::react::jsinspector_modern::HostTargetTraceRecording { + public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public bool isBackgroundInitiated() const; + public bool isUserInitiated() const; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); + public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); + public void start(); +} + +class facebook::react::jsinspector_modern::HostTargetTracingDelegate { + public HostTargetTracingDelegate() = default; + public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; + public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; + public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); + public virtual void onTracingStopped(); + public virtual ~HostTargetTracingDelegate() = default; +} + +class facebook::react::jsinspector_modern::HostTracingAgent { + public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); +} + +class facebook::react::jsinspector_modern::IDestructible { + public virtual ~IDestructible() = 0; +} + +class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { + public using ConnectFunc = std::function(std::unique_ptr)>; + public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; + public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; + public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; + public virtual std::vector getPages() const = 0; + public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; + public virtual void removePage(int pageId) = 0; + public virtual ~IInspector() = 0; +} + +class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void disconnect() = 0; + public virtual void sendMessage(std::string message) = 0; + public virtual ~ILocalConnection() = 0; +} + +class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onPageRemoved(int); + public virtual ~IPageStatusListener() = 0; +} + +class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { + public virtual void onDisconnect() = 0; + public virtual void onMessage(std::string message) = 0; + public virtual ~IRemoteConnection() = 0; +} + +class facebook::react::jsinspector_modern::IWebSocket { + public virtual void send(std::string_view message) = 0; + public virtual ~IWebSocket() = default; +} + +class facebook::react::jsinspector_modern::IWebSocketDelegate { + public virtual void didClose() = 0; + public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; + public virtual void didOpen() = 0; + public virtual void didReceiveMessage(std::string_view message) = 0; + public virtual ~IWebSocketDelegate() = default; +} + +class facebook::react::jsinspector_modern::InspectorFlags { + public InspectorFlags(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; + public bool getAssertSingleHostState() const; + public bool getFrameRecordingEnabled() const; + public bool getFuseboxEnabled() const; + public bool getIsProfilingBuild() const; + public bool getPerfIssuesEnabled() const; + public bool getScreenshotCaptureEnabled() const; + public facebook::react::jsinspector_modern::InspectorFlags& operator=(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; + public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); + public void dangerouslyDisableFuseboxForTest(); + public void dangerouslyResetFlags(); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection { + public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public bool isConnected() const; + public void closeQuietly(); + public void connect(); + public void sendEventToAllConnections(std::string event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { + public bool isConnected() const; + public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); + public using SessionId = uint32_t; + public void closeQuietly(); + public void connect(); + public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); + public void sendEventToAllConnections(const std::string& event); +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { + public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); + public virtual void onDisconnect() override; + public virtual void onMessage(std::string message) override; +} + +class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { + public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; + public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; + public virtual ~InspectorPackagerConnectionDelegate() = default; +} + +class facebook::react::jsinspector_modern::InstanceAgent { + public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); +} + +class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; + public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); + public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); + public ~InstanceTarget(); +} + +class facebook::react::jsinspector_modern::InstanceTargetDelegate { + public InstanceTargetDelegate() = default; + public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; + public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; + public virtual ~InstanceTargetDelegate(); +} + +class facebook::react::jsinspector_modern::InstanceTracingAgent { + public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); + public ~InstanceTracingAgent(); +} + +class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { + public LoadNetworkResourceDelegate() = default; + public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; + public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; + public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; + public virtual ~LoadNetworkResourceDelegate() = default; +} + +class facebook::react::jsinspector_modern::NetworkIOAgent { + public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); + public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; + public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; + public ~NetworkIOAgent(); +} + +class facebook::react::jsinspector_modern::NetworkRequestListener { + public NetworkRequestListener() = default; + public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; + public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; + public virtual void onCompletion() = 0; + public virtual void onData(std::string_view data) = 0; + public virtual void onError(const std::string& message) = 0; + public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; + public virtual void setCancelFunction(std::function cancelFunction) = 0; + public virtual ~NetworkRequestListener() = default; +} + +class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { + public NotImplementedException(std::string message); + public const char* what() const noexcept override; +} + +class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { +} + +class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { + public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); + public void handlePerfIssueAdded(const std::string& message); +} + +class facebook::react::jsinspector_modern::RAIIRemoteConnection { + public RAIIRemoteConnection(std::unique_ptr remote); + public void onMessage(std::string message); + public ~RAIIRemoteConnection(); +} + +class facebook::react::jsinspector_modern::RuntimeAgent { + public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); + public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); + public void notifyFastRefreshComplete(); + public ~RuntimeAgent(); +} + +struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { + public std::unique_ptr delegateState; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate { + public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; + public virtual std::unique_ptr getExportedState(); + public virtual ~RuntimeAgentDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { + public virtual ~ExportedState() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { + public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; + public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; + public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); + public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); + public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public ~RuntimeTarget(); +} + +class facebook::react::jsinspector_modern::RuntimeTargetController { + public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); + public void disableSamplingProfiler(); + public void emitTracingStateChange(bool isTracing); + public void enableSamplingProfiler(); + public void installBindingHandler(const std::string& bindingName); + public void installScriptToEvaluateOnNewDocument(const std::string& source); + public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); +} + +enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { + Log, + Network, + Runtime, + kMaxValue, +} + +class facebook::react::jsinspector_modern::RuntimeTargetDelegate { + public virtual bool supportsConsole() const = 0; + public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; + public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; + public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; + public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; + public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; + public virtual void disableSamplingProfiler() = 0; + public virtual void enableSamplingProfiler() = 0; + public virtual ~RuntimeTargetDelegate() = default; +} + +class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); + public ~RuntimeTracingAgent(); +} + +class facebook::react::jsinspector_modern::StackTrace { + public StackTrace() = default; + public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; + public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; + public static std::unique_ptr empty(); + public virtual ~StackTrace() = default; +} + +class facebook::react::jsinspector_modern::TracingAgent { + public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); + public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); + public ~TracingAgent(); +} + +enum facebook::react::jsinspector_modern::ConsoleAPIType { + kAssert, + kClear, + kCount, + kDebug, + kDir, + kDirXML, + kEndGroup, + kError, + kInfo, + kLog, + kStartGroup, + kStartGroupCollapsed, + kTable, + kTimeEnd, + kTrace, + kWarning, +} + +enum facebook::react::jsinspector_modern::HostCommand { + DebuggerResume, + DebuggerStepOver, +} + +struct facebook::react::jsinspector_modern::ConsoleMessage { + public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); + public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); + public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; + public std::unique_ptr stackTrace; + public std::vector args; + public ~ConsoleMessage() = default; +} + +struct facebook::react::jsinspector_modern::ExecutionContextDescription { + public int32_t id; + public std::optional uniqueId; + public std::string name; + public std::string origin; +} + +struct facebook::react::jsinspector_modern::GetResponseBodyResult { + public bool base64Encoded; + public folly::dynamic toDynamic() const; + public std::string body; +} + +struct facebook::react::jsinspector_modern::HostTargetMetadata { + public std::optional appDisplayName; + public std::optional appIdentifier; + public std::optional deviceName; + public std::optional integrationName; + public std::optional platform; + public std::optional reactNativeVersion; +} + +struct facebook::react::jsinspector_modern::IOReadResult { + public bool base64Encoded; + public bool eof; + public folly::dynamic toDynamic() const; + public std::string data; +} + +struct facebook::react::jsinspector_modern::InspectorPageDescription { + public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; + public const int id; + public const std::string description; + public const std::string vm; +} + +struct facebook::react::jsinspector_modern::InspectorSystemState { + public int registeredHostsCount; +} + +struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { + public bool nativePageReloads; + public bool nativeSourceCodeFetching; +} + +struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { + public std::string url; +} + +struct facebook::react::jsinspector_modern::NetworkResource { + public bool success; + public folly::dynamic toDynamic() const; + public std::optional headers; + public std::optional netErrorName; + public std::optional stream; + public std::optional httpStatusCode; +} + +struct facebook::react::jsinspector_modern::PerfIssuePayload { + public std::optional description; + public std::optional learnMoreUrl; + public std::optional severity; + public std::string name; +} + +struct facebook::react::jsinspector_modern::ReadStreamParams { + public facebook::react::jsinspector_modern::StreamID handle; + public std::optional offset; + public std::optional size; +} + +struct facebook::react::jsinspector_modern::SessionState { + public bool hasPendingTraceRecording; + public bool isDebuggerDomainEnabled; + public bool isLogDomainEnabled; + public bool isNetworkDomainEnabled; + public bool isReactNativeApplicationDomainEnabled; + public bool isRuntimeDomainEnabled; + public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; + public std::unordered_map subscribedBindings; + public std::vector scriptsToEvaluateOnNewDocument; + public std::vector pendingSimpleConsoleMessages; + public unsigned int nextScriptToEvaluateOnNewDocumentId; +} + +struct facebook::react::jsinspector_modern::SessionState::ScriptToEvaluateOnNewDocument { + public std::string identifier; + public std::string source; +} + +struct facebook::react::jsinspector_modern::SimpleConsoleMessage { + public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); + public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public double timestamp; + public facebook::react::jsinspector_modern::ConsoleAPIType type; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; + public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; + public std::vector args; + public ~SimpleConsoleMessage() = default; +} + +template +class facebook::react::jsinspector_modern::EnumArray { + public constexpr ValueType& operator[](IndexType i); + public constexpr const ValueType& operator[](IndexType i) const; + public constexpr int size() const; +} + +template +struct facebook::react::jsinspector_modern::UniqueMonostate { + public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; + public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} + +template +class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { + public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); + public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); + template + public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +} + +template +class facebook::react::jsinspector_modern::WeakList { + public bool empty() const; + public size_t size() const; + public void insert(std::weak_ptr ptr); + template + public bool anyOf(Fn&& fn) const; + template + public bool anyOf(Fn&& fn); + template + public void forEach(Fn&& fn) const; + template + public void forEach(Fn&& fn); +} + + +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; +constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; +using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; +using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; +using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; +using facebook::react::jsinspector_modern::tracing::Headers = std::map; +using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; +using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; +using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; +int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); +std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); +std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); +std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); +std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); +std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); +std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); +uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); + +class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { + public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); + public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); + public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); +} + +class facebook::react::jsinspector_modern::tracing::PerformanceTracer { + public bool isTracing() const; + public bool startTracing(); + public bool startTracing(facebook::react::HighResDuration maxDuration); + public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); + public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); + public std::optional> stopTracing(); + public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); + public using TracingStateCallback = std::function; + public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); + public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); + public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); + public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); + public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); + public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); + public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); + public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); + public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); + public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); +} + +class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { + public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); + public bool hasParent() const; + public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); + public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; + public static constexpr uint32_t NO_PARENT; + public uint32_t getId() const; + public uint32_t getParentId() const; +} + +enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { + JavaScript, + Other, +} + +class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { + public virtual ~RawRuntimeProfile() = default; +} + +class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { + public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); + public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); +} + +class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { + protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; + public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); + public bool isRunningInBackgroundMode(); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { + public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); + public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); + public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); +} + +class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { + public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); + public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); + public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); + public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); + public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); + public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); + public static size_t estimateJsonSize(const folly::dynamic& value); +} + +enum facebook::react::jsinspector_modern::tracing::Category { + Frame, + HiddenTimeline, + JavaScriptSampling, + RuntimeExecution, + Screenshot, + Timeline, + UserTiming, +} + +enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { + Error, + Primary, + PrimaryDark, + PrimaryLight, + Secondary, + SecondaryDark, + SecondaryLight, + Tertiary, + TertiaryDark, + TertiaryLight, + Warning, +} + +enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { + Microtasks, + Task, +} + +enum facebook::react::jsinspector_modern::tracing::Mode { + Background, + CDP, +} + +struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { + public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); + public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; + public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; + public ~EventLoopReporter(); +} + +struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { + public FrameTimingSequence() = delete; + public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); + public facebook::react::HighResDuration vsyncInterval; + public facebook::react::HighResTimeStamp beginTimestamp; + public facebook::react::HighResTimeStamp endTimestamp; + public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::optional> screenshot; +} + +struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { + public HostTracingProfile() = default; + public HostTracingProfile(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; + public HostTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; + public facebook::react::HighResTimeStamp startTime; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; + public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public std::vector frameTimings; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; + public ~HostTracingProfile() = default; +} + +struct facebook::react::jsinspector_modern::tracing::IdGenerator { + public uint32_t getNext(); +} + +struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { + public std::vector performanceTraceEvents; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { + public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); + public facebook::react::jsinspector_modern::tracing::ProcessId processId; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; + public std::string runtimeName; + public std::unique_ptr rawRuntimeProfile; + public std::vector samples; + public ~RuntimeSamplingProfile() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { + public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; + public facebook::react::jsinspector_modern::tracing::ThreadId threadId; + public std::vector callStack; + public uint64_t timestamp; + public ~Sample() = default; +} + +struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { + public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; + public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; + public std::optional scriptURL; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string_view functionName; + public uint32_t scriptId; +} + +enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { + GarbageCollector, + HostFunction, + JSFunction, + NativeFunction, +} + +struct facebook::react::jsinspector_modern::tracing::TraceEvent { + public char ph; + public facebook::react::HighResTimeStamp ts; + public facebook::react::jsinspector_modern::tracing::Categories cat; + public facebook::react::jsinspector_modern::tracing::ProcessId pid; + public facebook::react::jsinspector_modern::tracing::ThreadId tid; + public folly::dynamic args; + public std::optional s; + public std::optional dur; + public std::optional id; + public std::string name; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; + public using TimeDeltas = std::vector; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { + public std::vector nodes; + public std::vector samples; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { + public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; + public std::optional parentId; + public uint32_t id; +} + +struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { + public std::optional url; + public std::optional columnNumber; + public std::optional lineNumber; + public std::string codeType; + public std::string functionName; + public uint32_t scriptId; +} + +struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { + public TraceRecordingState(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; + public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); + public TraceRecordingState(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; + public facebook::react::jsinspector_modern::tracing::Mode mode; + public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; + public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; + public std::optional windowSize; + public std::set enabledCategories; + public std::vector instanceTracingProfiles; + public std::vector runtimeSamplingProfiles; + public ~TraceRecordingState() = default; +} + +template +class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { + public TimeWindowedBuffer(); + public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); + public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); + public using TimestampAccessor = std::function; + public void clear(); + public void push(T&& element); + public void push(const T& element); +} + +template +class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { + public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; + public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; + public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; + public ~PerformanceTracerSection() noexcept; +} + + +using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; +using facebook::react::jsinspector_modern::cdp::RequestId = long long; +using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; +facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); +std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); +std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); + +enum facebook::react::jsinspector_modern::cdp::ErrorCode { + InternalError, + InvalidParams, + InvalidRequest, + MethodNotFound, + ParseError, +} + +struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { + public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; + public facebook::react::jsinspector_modern::cdp::RequestId id; + public folly::dynamic params; + public std::string method; + public std::string toJson() const; +} + + +template +struct facebook::react::array_detail::BridgingStatic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& array, const std::shared_ptr& jsInvoker); +} + +template +struct facebook::react::array_detail::BridgingDynamic { + public static facebook::jsi::Array toJs(facebook::jsi::Runtime& rt, const T& list, const std::shared_ptr& jsInvoker); +} + + +template +struct facebook::react::map_detail::Bridging { + public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& map, const std::shared_ptr& jsInvoker); +} + + +using facebook::react::ReactMarker::LogTaggedMarker = std::function; +using facebook::react::ReactMarker::LogTaggedMarkerBridgeless = facebook::react::ReactMarker::LogTaggedMarker; +void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); +void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); +void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); +facebook::react::ReactMarker::AtomicLogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; + +class facebook::react::ReactMarker::StartupLogger { + public double getAppStartupEndTime(); + public double getAppStartupStartTime(); + public double getInitReactRuntimeStartTime(); + public double getRunJSBundleStartTime(); + public static facebook::react::ReactMarker::StartupLogger& getInstance(); + public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); + public void reset(); +} + +enum facebook::react::ReactMarker::ReactMarkerId { + APP_STARTUP_START, + APP_STARTUP_STOP, + CREATE_REACT_CONTEXT_STOP, + INIT_REACT_RUNTIME_START, + INIT_REACT_RUNTIME_STOP, + JS_BUNDLE_STRING_CONVERT_START, + JS_BUNDLE_STRING_CONVERT_STOP, + NATIVE_MODULE_SETUP_START, + NATIVE_MODULE_SETUP_STOP, + NATIVE_REQUIRE_START, + NATIVE_REQUIRE_STOP, + REACT_INSTANCE_INIT_START, + REACT_INSTANCE_INIT_STOP, + REGISTER_JS_SEGMENT_START, + REGISTER_JS_SEGMENT_STOP, + RUN_JS_BUNDLE_START, + RUN_JS_BUNDLE_STOP, +} + +struct facebook::react::ReactMarker::AtomicLogTaggedMarker { + public facebook::react::ReactMarker::AtomicLogTaggedMarker& operator=(facebook::react::ReactMarker::LogTaggedMarker marker); + public operator bool() const noexcept; + public void operator()(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag) const; +} + +struct facebook::react::ReactMarker::ReactMarkerEvent { + public const char* tag; + public const facebook::react::ReactMarker::ReactMarkerId markerId; + public double time; +} + + +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); +void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); +void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessStart(); +void facebook::react::TurboModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); +void facebook::react::TurboModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::disableLogging(); +void facebook::react::TurboModulePerfLogger::enableLogging(std::unique_ptr&& logger); +void facebook::react::TurboModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); +void facebook::react::TurboModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); +void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); + + +std::unique_ptr facebook::jsc::makeJSCRuntime(); + + +using facebook::jsi::HostFunctionType = std::function; +facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); +folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); +template +U* facebook::jsi::castInterface(T* ptr); +template +std::shared_ptr facebook::jsi::dynamicInterfaceCast(T&& ptr); + +class facebook::jsi::Array : public facebook::jsi::Object { + public Array(facebook::jsi::Array&&) = default; + public Array(facebook::jsi::IRuntime& runtime, size_t length); + public facebook::jsi::Array& operator=(facebook::jsi::Array&&) = default; + public facebook::jsi::Value getValueAtIndex(facebook::jsi::IRuntime& runtime, size_t i) const; + public size_t length(facebook::jsi::IRuntime& runtime) const; + public size_t push(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value* elements, size_t count); + public size_t push(facebook::jsi::IRuntime& runtime, std::initializer_list elements); + public size_t size(facebook::jsi::IRuntime& runtime) const; + public static facebook::jsi::Array createWithElements(facebook::jsi::IRuntime& runtime, std::initializer_list elements); + template + public void setValueAtIndex(facebook::jsi::IRuntime& runtime, size_t i, T&& value) const; + template + public size_t push(facebook::jsi::IRuntime& runtime, Args &&... args); + template + public static facebook::jsi::Array createWithElements(facebook::jsi::IRuntime& runtime, Args &&... args); +} + +class facebook::jsi::ArrayBuffer : public facebook::jsi::Object { + public ArrayBuffer(facebook::jsi::ArrayBuffer&&) = default; + public ArrayBuffer(facebook::jsi::IRuntime& runtime, std::shared_ptr buffer); + public bool detached(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::ArrayBuffer& operator=(facebook::jsi::ArrayBuffer&&) = default; + public size_t length(facebook::jsi::IRuntime& runtime) const; + public size_t size(facebook::jsi::IRuntime& runtime) const; + public std::shared_ptr tryGetMutableBuffer(facebook::jsi::IRuntime& runtime) const; + public uint8_t* data(facebook::jsi::IRuntime& runtime) const; +} + +class facebook::jsi::BigInt : public facebook::jsi::Pointer { + public BigInt(facebook::jsi::BigInt&& other) = default; + public BigInt(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public BigInt(facebook::jsi::Pointer&& other) noexcept; + public bool isInt64(facebook::jsi::IRuntime& runtime) const; + public bool isUint64(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::BigInt& operator=(facebook::jsi::BigInt&& other) = default; + public facebook::jsi::String toString(facebook::jsi::IRuntime& runtime, int radix = 10) const; + public int64_t asInt64(facebook::jsi::IRuntime& runtime) const; + public int64_t getInt64(facebook::jsi::IRuntime& runtime) const; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b); + public static facebook::jsi::BigInt fromInt64(facebook::jsi::IRuntime& runtime, int64_t value); + public static facebook::jsi::BigInt fromUint64(facebook::jsi::IRuntime& runtime, uint64_t value); + public uint64_t asUint64(facebook::jsi::IRuntime& runtime) const; + public uint64_t getUint64(facebook::jsi::IRuntime& runtime) const; +} + +class facebook::jsi::Buffer { + public virtual const uint8_t* data() const = 0; + public virtual size_t size() const = 0; + public virtual ~Buffer(); +} + +class facebook::jsi::DecoratedHostFunction { + public DecoratedHostFunction(facebook::jsi::Runtime& drt, facebook::jsi::HostFunctionType plainHF); + public facebook::jsi::Runtime& decoratedRuntime(); + public facebook::jsi::Value operator()(facebook::jsi::Runtime&, const facebook::jsi::Value& thisVal, const facebook::jsi::Value* args, size_t count); +} + +class facebook::jsi::DecoratedHostObject : public facebook::jsi::HostObject { + public DecoratedHostObject(facebook::jsi::Runtime& drt, std::shared_ptr plainHO); + public facebook::jsi::Runtime& decoratedRuntime(); + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name) override; + public virtual std::vector getPropertyNames(facebook::jsi::Runtime&) override; + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; +} + +class facebook::jsi::FileBuffer : public facebook::jsi::Buffer { + public FileBuffer(const std::string& path); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; + public ~FileBuffer() override; +} + +class facebook::jsi::Function : public facebook::jsi::Object { + public Function(facebook::jsi::Function&&) = default; + public bool isHostFunction(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Function& operator=(facebook::jsi::Function&&) = default; + public facebook::jsi::HostFunctionType& getHostFunction(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Value call(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value call(facebook::jsi::IRuntime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callAsConstructor(facebook::jsi::IRuntime& runtime, std::initializer_list args) const; + public facebook::jsi::Value callWithThis(facebook::jsi::IRuntime& Runtime, const facebook::jsi::Object& jsThis, const facebook::jsi::Value* args, size_t count) const; + public facebook::jsi::Value callWithThis(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& jsThis, std::initializer_list args) const; + public static facebook::jsi::Function createFromHostFunction(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func); + template + public facebook::jsi::Value call(facebook::jsi::IRuntime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callAsConstructor(facebook::jsi::IRuntime& runtime, Args &&... args) const; + template + public facebook::jsi::Value callWithThis(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& jsThis, Args &&... args) const; +} + +class facebook::jsi::HostObject { + public virtual facebook::jsi::Value get(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name); + public virtual std::vector getPropertyNames(facebook::jsi::Runtime& rt); + public virtual void set(facebook::jsi::Runtime&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value); + public virtual ~HostObject(); +} + +class facebook::jsi::IRuntime : public facebook::jsi::ICast { + protected virtual ~IRuntime() = default; + public static constexpr facebook::jsi::UUID uuid; + public virtual ScopeState* pushScope() = 0; + public virtual bool bigintIsInt64(const facebook::jsi::BigInt&) = 0; + public virtual bool bigintIsUint64(const facebook::jsi::BigInt&) = 0; + public virtual bool compare(const facebook::jsi::PropNameID&, const facebook::jsi::PropNameID&) = 0; + public virtual bool detached(const facebook::jsi::ArrayBuffer&) = 0; + public virtual bool drainMicrotasks(int maxMicrotasksHint = -1) = 0; + public virtual bool hasNativeState(const facebook::jsi::Object&) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) = 0; + public virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) = 0; + public virtual bool isArray(const facebook::jsi::Object&) const = 0; + public virtual bool isArrayBuffer(const facebook::jsi::Object&) const = 0; + public virtual bool isFunction(const facebook::jsi::Object&) const = 0; + public virtual bool isHostFunction(const facebook::jsi::Function&) const = 0; + public virtual bool isHostObject(const facebook::jsi::Object&) const = 0; + public virtual bool isInspectable() = 0; + public virtual bool isTypedArray(const facebook::jsi::Object&) const = 0; + public virtual bool isUint8Array(const facebook::jsi::Object&) const = 0; + public virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const = 0; + public virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const = 0; + public virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const = 0; + public virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const = 0; + public virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& dataUUID) = 0; + public virtual facebook::jsi::Array createArray(size_t length) = 0; + public virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object&) = 0; + public virtual facebook::jsi::ArrayBuffer buffer(const facebook::jsi::TypedArray& typedArray) = 0; + public virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) = 0; + public virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t) = 0; + public virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t) = 0; + public virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) = 0; + public virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function&) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* cloneBigInt(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* cloneObject(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* clonePropNameID(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* cloneString(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::IRuntime::PointerValue* cloneSymbol(const facebook::jsi::IRuntime::PointerValue* pv) = 0; + public virtual facebook::jsi::Instrumentation& instrumentation() = 0; + public virtual facebook::jsi::Object createObject() = 0; + public virtual facebook::jsi::Object createObject(std::shared_ptr ho) = 0; + public virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) = 0; + public virtual facebook::jsi::Object global() = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) = 0; + public virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) = 0; + public virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt&, int) = 0; + public virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) = 0; + public virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) = 0; + public virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) = 0; + public virtual facebook::jsi::Uint8Array createUint8Array(const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length) = 0; + public virtual facebook::jsi::Uint8Array createUint8Array(size_t length) = 0; + public virtual facebook::jsi::Value call(const facebook::jsi::Function&, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) = 0; + public virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function&, const facebook::jsi::Value* args, size_t count) = 0; + public virtual facebook::jsi::Value createError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createEvalError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createRangeError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createReferenceError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createSyntaxError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createTypeError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createURIError(const facebook::jsi::String& msg) = 0; + public virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) = 0; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) = 0; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) = 0; + public virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) = 0; + public virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array&, size_t i) = 0; + public virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject&) = 0; + public virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object&) = 0; + public virtual size_t byteLength(const facebook::jsi::TypedArray& typedArray) = 0; + public virtual size_t byteOffset(const facebook::jsi::TypedArray& typedArray) = 0; + public virtual size_t length(const facebook::jsi::String& str) = 0; + public virtual size_t length(const facebook::jsi::TypedArray& typedArray) = 0; + public virtual size_t push(const facebook::jsi::Array&, const facebook::jsi::Value*, size_t) = 0; + public virtual size_t size(const facebook::jsi::Array&) = 0; + public virtual size_t size(const facebook::jsi::ArrayBuffer&) = 0; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) = 0; + public virtual std::shared_ptr getHostObject(const facebook::jsi::Object&) = 0; + public virtual std::shared_ptr tryGetMutableBuffer(const facebook::jsi::ArrayBuffer& arrayBuffer) = 0; + public virtual std::shared_ptr getNativeState(const facebook::jsi::Object&) = 0; + public virtual std::shared_ptr getRuntimeData(const facebook::jsi::UUID& dataUUID) = 0; + public virtual std::string description() = 0; + public virtual std::string symbolToString(const facebook::jsi::Symbol&) = 0; + public virtual std::string utf8(const facebook::jsi::PropNameID&) = 0; + public virtual std::string utf8(const facebook::jsi::String&) = 0; + public virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) = 0; + public virtual std::u16string utf16(const facebook::jsi::String& str) = 0; + public virtual uint8_t* data(const facebook::jsi::ArrayBuffer&) = 0; + public virtual uint64_t truncate(const facebook::jsi::BigInt&) = 0; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) = 0; + public virtual void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) = 0; + public virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) = 0; + public virtual void popScope(ScopeState*) = 0; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) = 0; + public virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) = 0; + public virtual void setNativeState(const facebook::jsi::Object&, std::shared_ptr state) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::String& name, const facebook::jsi::Value& value) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::Value& name, const facebook::jsi::Value& value) = 0; + public virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) = 0; + public virtual void setRuntimeData(const facebook::jsi::UUID& dataUUID, const std::shared_ptr& data) = 0; + public virtual void setRuntimeDataImpl(const facebook::jsi::UUID& dataUUID, const void* data, void(*)(const void* data) deleter) = 0; + public virtual void setValueAtIndexImpl(const facebook::jsi::Array&, size_t i, const facebook::jsi::Value& value) = 0; +} + +struct facebook::jsi::IRuntime::PointerValue { + protected virtual ~PointerValue() = default; + public virtual void invalidate() noexcept = 0; +} + +class facebook::jsi::Instrumentation { + public using HeapStatsUpdate = std::tuple; + public virtual std::string flushAndDisableBridgeTrafficTrace() = 0; + public virtual std::string getRecordedGCStats() = 0; + public virtual std::unordered_map getHeapInfo(bool includeExpensive) = 0; + public virtual void collectGarbage(std::string cause) = 0; + public virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options = {false}) = 0; + public virtual void dumpOpcodeStats(std::ostream& os) const = 0; + public virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const = 0; + public virtual void startHeapSampling(size_t samplingInterval) = 0; + public virtual void startTrackingHeapObjectStackTraces(std::function stats)> fragmentCallback) = 0; + public virtual void stopHeapSampling(std::ostream& os) = 0; + public virtual void stopTrackingHeapObjectStackTraces() = 0; + public virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const = 0; + public virtual ~Instrumentation() = default; +} + +struct facebook::jsi::Instrumentation::HeapSnapshotOptions { + public bool captureNumericValue; +} + +class facebook::jsi::JSError : public facebook::jsi::JSIException { + public JSError(const facebook::jsi::JSError&) = default; + public JSError(facebook::jsi::IRuntime& r, facebook::jsi::Value&& value); + public JSError(facebook::jsi::IRuntime& rt, const char* message); + public JSError(facebook::jsi::IRuntime& rt, std::string message); + public JSError(facebook::jsi::IRuntime& rt, std::string message, std::string stack); + public JSError(facebook::jsi::Value&& value, std::string message, std::string stack); + public JSError(std::string what, facebook::jsi::IRuntime& rt, facebook::jsi::Value&& value); + public const facebook::jsi::Value& value() const; + public const std::string& getMessage() const; + public const std::string& getStack() const; + public static facebook::jsi::JSError createEvalError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createRangeError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createReferenceError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createSyntaxError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createTypeError(facebook::jsi::IRuntime& rt, const std::string& message); + public static facebook::jsi::JSError createURIError(facebook::jsi::IRuntime& rt, const std::string& message); + public virtual ~JSError(); +} + +class facebook::jsi::JSIException : public std::exception { + protected JSIException(); + protected JSIException(std::string what); + protected std::string what_; + public JSIException(const facebook::jsi::JSIException&) = default; + public virtual const char* what() const noexcept override; + public virtual ~JSIException() override; +} + +class facebook::jsi::JSINativeException : public facebook::jsi::JSIException { + public JSINativeException(const facebook::jsi::JSINativeException&) = default; + public JSINativeException(std::string what); + public virtual ~JSINativeException(); +} + +class facebook::jsi::MutableBuffer { + public virtual size_t size() const = 0; + public virtual uint8_t* data() = 0; + public virtual ~MutableBuffer(); +} + +class facebook::jsi::NativeState { + public virtual ~NativeState(); +} + +class facebook::jsi::Object : public facebook::jsi::Pointer { + protected void setPropertyValue(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name, const facebook::jsi::Value& value) const; + protected void setPropertyValue(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name, const facebook::jsi::Value& value) const; + public Object(facebook::jsi::IRuntime& runtime); + public Object(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public Object(facebook::jsi::Object&& other) = default; + public Object(facebook::jsi::Pointer&& other) noexcept; + public bool hasNativeState(facebook::jsi::IRuntime& runtime) const; + public bool hasProperty(facebook::jsi::IRuntime& runtime, const char* name) const; + public bool hasProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name) const; + public bool hasProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name) const; + public bool hasProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name) const; + public bool instanceOf(facebook::jsi::IRuntime& rt, const facebook::jsi::Function& ctor) const; + public bool isArray(facebook::jsi::IRuntime& runtime) const; + public bool isArrayBuffer(facebook::jsi::IRuntime& runtime) const; + public bool isFunction(facebook::jsi::IRuntime& runtime) const; + public bool isHostObject(facebook::jsi::IRuntime& runtime) const; + public bool isTypedArray(facebook::jsi::IRuntime& runtime) const; + public bool isUint8Array(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Array asArray(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Array getArray(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Array getArray(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Array getPropertyNames(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::ArrayBuffer getArrayBuffer(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Function asFunction(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Function asFunction(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Function getFunction(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Function getFunction(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Function getPropertyAsFunction(facebook::jsi::IRuntime& runtime, const char* name) const; + public facebook::jsi::Object getPropertyAsObject(facebook::jsi::IRuntime& runtime, const char* name) const; + public facebook::jsi::Object& operator=(facebook::jsi::Object&& other) = default; + public facebook::jsi::TypedArray asTypedArray(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::TypedArray getTypedArray(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Uint8Array asUint8Array(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Uint8Array getUint8Array(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Value getProperty(facebook::jsi::IRuntime& runtime, const char* name) const; + public facebook::jsi::Value getProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name) const; + public facebook::jsi::Value getProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name) const; + public facebook::jsi::Value getPrototype(facebook::jsi::IRuntime& runtime) const; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& a, const facebook::jsi::Object& b); + public static facebook::jsi::Object create(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& prototype); + public static facebook::jsi::Object createFromHostObject(facebook::jsi::IRuntime& runtime, std::shared_ptr ho); + public std::shared_ptr getHostObject(facebook::jsi::IRuntime& runtime) const; + public void deleteProperty(facebook::jsi::IRuntime& runtime, const char* name) const; + public void deleteProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name) const; + public void deleteProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name) const; + public void deleteProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name) const; + public void setExternalMemoryPressure(facebook::jsi::IRuntime& runtime, size_t amt) const; + public void setNativeState(facebook::jsi::IRuntime& runtime, std::shared_ptr state) const; + public void setPrototype(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& prototype) const; + template + public bool isHostObject(facebook::jsi::IRuntime& runtime) const; + template + public std::shared_ptr asHostObject(facebook::jsi::IRuntime& runtime) const; + template + public std::shared_ptr getHostObject(facebook::jsi::IRuntime& runtime) const; + template + public bool hasNativeState(facebook::jsi::IRuntime& runtime) const; + template + public std::shared_ptr getNativeState(facebook::jsi::IRuntime& runtime) const; + template + public void setProperty(facebook::jsi::IRuntime& runtime, const char* name, T&& value) const; + template + public void setProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& name, T&& value) const; + template + public void setProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& name, T&& value) const; + template + public void setProperty(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& name, T&& value) const; +} + +class facebook::jsi::Pointer { + protected Pointer(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + protected Pointer(facebook::jsi::Pointer&& other) noexcept; + protected facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr_; + protected facebook::jsi::Pointer& operator=(facebook::jsi::Pointer&& other) noexcept; + protected ~Pointer(); +} + +class facebook::jsi::PreparedJavaScript { + protected PreparedJavaScript() = default; + public virtual ~PreparedJavaScript() = 0; +} + +class facebook::jsi::PropNameID : public facebook::jsi::Pointer { + public PropNameID(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& other); + public PropNameID(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public PropNameID(facebook::jsi::Pointer&& other) noexcept; + public PropNameID(facebook::jsi::PropNameID&& other) = default; + public facebook::jsi::PropNameID& operator=(facebook::jsi::PropNameID&& other) = default; + public static bool compare(facebook::jsi::IRuntime& runtime, const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::IRuntime& runtime, const char* str); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::IRuntime& runtime, const char* str, size_t length); + public static facebook::jsi::PropNameID forAscii(facebook::jsi::IRuntime& runtime, const std::string& str); + public static facebook::jsi::PropNameID forString(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& str); + public static facebook::jsi::PropNameID forSymbol(facebook::jsi::IRuntime& runtime, const facebook::jsi::Symbol& sym); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::IRuntime& runtime, const std::string& utf8); + public static facebook::jsi::PropNameID forUtf8(facebook::jsi::IRuntime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::IRuntime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::PropNameID forUtf16(facebook::jsi::IRuntime& runtime, const std::u16string& str); + public std::string utf8(facebook::jsi::IRuntime& runtime) const; + public std::u16string utf16(facebook::jsi::IRuntime& runtime) const; + template + public static std::vector names(facebook::jsi::PropNameID(&&propertyNames)[N]); + template + public void getPropNameIdData(facebook::jsi::IRuntime& runtime, CB& cb) const; + template + public static std::vector names(facebook::jsi::IRuntime& runtime, Args &&... args); +} + +class facebook::jsi::Runtime : public facebook::jsi::IRuntime { + protected static const facebook::jsi::IRuntime::PointerValue* getPointerValue(const facebook::jsi::Pointer& pointer); + protected static const facebook::jsi::IRuntime::PointerValue* getPointerValue(const facebook::jsi::Value& value); + protected static facebook::jsi::IRuntime::PointerValue* getPointerValue(facebook::jsi::Pointer& pointer); + public virtual ScopeState* pushScope() override; + public virtual bool detached(const facebook::jsi::ArrayBuffer&) override; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual bool hasProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) override; + public virtual bool isTypedArray(const facebook::jsi::Object&) const override; + public virtual bool isUint8Array(const facebook::jsi::Object&) const override; + public virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& dataUUID) override; + public virtual facebook::jsi::ArrayBuffer buffer(const facebook::jsi::TypedArray& typedArray) override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + public virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + public virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + public virtual facebook::jsi::Uint8Array createUint8Array(const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length) override; + public virtual facebook::jsi::Uint8Array createUint8Array(size_t length) override; + public virtual facebook::jsi::Value createError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createEvalError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createRangeError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createReferenceError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createSyntaxError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createTypeError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createURIError(const facebook::jsi::String& msg) override; + public virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) = 0; + public virtual facebook::jsi::Value getProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) override; + public virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + public virtual size_t byteLength(const facebook::jsi::TypedArray& typedArray) override; + public virtual size_t byteOffset(const facebook::jsi::TypedArray& typedArray) override; + public virtual size_t length(const facebook::jsi::String& str) override; + public virtual size_t length(const facebook::jsi::TypedArray& typedArray) override; + public virtual size_t push(const facebook::jsi::Array&, const facebook::jsi::Value*, size_t) override; + public virtual std::shared_ptr tryGetMutableBuffer(const facebook::jsi::ArrayBuffer& arrayBuffer) override; + public virtual std::shared_ptr getRuntimeData(const facebook::jsi::UUID& uuid) override; + public virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + public virtual std::u16string utf16(const facebook::jsi::String& str) override; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name) override; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::String& name) override; + public virtual void deleteProperty(const facebook::jsi::Object&, const facebook::jsi::Value& name) override; + public virtual void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + public virtual void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + public virtual void popScope(ScopeState*) override; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::String& name, const facebook::jsi::Value& value) = 0; + public virtual void setPropertyValue(const facebook::jsi::Object&, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + public virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + public virtual void setRuntimeData(const facebook::jsi::UUID& uuid, const std::shared_ptr& data) override; + public virtual void setRuntimeDataImpl(const facebook::jsi::UUID& dataUUID, const void* data, void(*)(const void* data) deleter) override; + public virtual ~Runtime() override; + template + protected static T make(facebook::jsi::IRuntime::PointerValue* pv); +} + +class facebook::jsi::Scope { + public Scope(const facebook::jsi::Scope&) = delete; + public Scope(facebook::jsi::IRuntime& rt); + public Scope(facebook::jsi::Scope&&) = delete; + public facebook::jsi::Scope& operator=(const facebook::jsi::Scope&) = delete; + public facebook::jsi::Scope& operator=(facebook::jsi::Scope&&) = delete; + public ~Scope(); + template + public static decltype(f()) callInNewScope(facebook::jsi::IRuntime& rt, F f); +} + +class facebook::jsi::SourceJavaScriptPreparation : public facebook::jsi::PreparedJavaScript, public facebook::jsi::Buffer { + public SourceJavaScriptPreparation(std::shared_ptr buf, std::string sourceURL); + public const std::string& sourceURL() const; + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::String : public facebook::jsi::Pointer { + public String(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public String(facebook::jsi::Pointer&& other) noexcept; + public String(facebook::jsi::String&& other) = default; + public facebook::jsi::String& operator=(facebook::jsi::String&& other) = default; + public size_t length(facebook::jsi::IRuntime& runtime) const; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& a, const facebook::jsi::String& b); + public static facebook::jsi::String createFromAscii(facebook::jsi::IRuntime& runtime, const char* str); + public static facebook::jsi::String createFromAscii(facebook::jsi::IRuntime& runtime, const char* str, size_t length); + public static facebook::jsi::String createFromAscii(facebook::jsi::IRuntime& runtime, const std::string& str); + public static facebook::jsi::String createFromUtf8(facebook::jsi::IRuntime& runtime, const std::string& utf8); + public static facebook::jsi::String createFromUtf8(facebook::jsi::IRuntime& runtime, const uint8_t* utf8, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::IRuntime& runtime, const char16_t* utf16, size_t length); + public static facebook::jsi::String createFromUtf16(facebook::jsi::IRuntime& runtime, const std::u16string& utf16); + public std::string utf8(facebook::jsi::IRuntime& runtime) const; + public std::u16string utf16(facebook::jsi::IRuntime& runtime) const; + template + public void getStringData(facebook::jsi::IRuntime& runtime, CB& cb) const; +} + +class facebook::jsi::StringBuffer : public facebook::jsi::Buffer { + public StringBuffer(std::string s); + public virtual const uint8_t* data() const override; + public virtual size_t size() const override; +} + +class facebook::jsi::Symbol : public facebook::jsi::Pointer { + public Symbol(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public Symbol(facebook::jsi::Pointer&& other) noexcept; + public Symbol(facebook::jsi::Symbol&& other) = default; + public facebook::jsi::Symbol& operator=(facebook::jsi::Symbol&& other) = default; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b); + public std::string toString(facebook::jsi::IRuntime& runtime) const; +} + +class facebook::jsi::ThreadSafeRuntime : public facebook::jsi::Runtime { + public virtual facebook::jsi::Runtime& getUnsafeRuntime() = 0; + public virtual void lock() const = 0; + public virtual void unlock() const = 0; +} + +class facebook::jsi::TypedArray : public facebook::jsi::Object { + public TypedArray(facebook::jsi::TypedArray&&) = default; + public facebook::jsi::ArrayBuffer buffer(facebook::jsi::IRuntime& runtime); + public facebook::jsi::TypedArray& operator=(facebook::jsi::TypedArray&&) = default; + public size_t byteLength(facebook::jsi::IRuntime& runtime); + public size_t byteOffset(facebook::jsi::IRuntime& runtime); + public size_t length(facebook::jsi::IRuntime& runtime); +} + +class facebook::jsi::UUID { + public constexpr UUID(); + public constexpr UUID(const facebook::jsi::UUID&) = default; + public constexpr UUID(uint32_t timeLow, uint16_t timeMid, uint16_t timeHighAndVersion, uint16_t variantAndClockSeq, uint64_t node); + public constexpr bool operator!=(const facebook::jsi::UUID& other) const; + public constexpr bool operator<(const facebook::jsi::UUID& other) const; + public constexpr bool operator==(const facebook::jsi::UUID& other) const; + public constexpr facebook::jsi::UUID& operator=(const facebook::jsi::UUID&) = default; + public constexpr uint16_t getTimeHighAndVersion() const; + public constexpr uint16_t getTimeMid() const; + public constexpr uint16_t getVariantAndClockSeq() const; + public constexpr uint32_t getTimeLow() const; + public constexpr uint64_t getNode() const; + public std::string toString() const; +} + +struct facebook::jsi::UUID::Hash { + public std::size_t operator()(const facebook::jsi::UUID& uuid) const noexcept; +} + +class facebook::jsi::Uint8Array : public facebook::jsi::TypedArray { + public Uint8Array(facebook::jsi::IRuntime& runtime, const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length); + public Uint8Array(facebook::jsi::IRuntime& runtime, size_t length); + public Uint8Array(facebook::jsi::Uint8Array&&) = default; + public facebook::jsi::Uint8Array& operator=(facebook::jsi::Uint8Array&&) = default; +} + +class facebook::jsi::Value { + public Value() noexcept; + public Value(bool b); + public Value(double d); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::BigInt& bigint); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& obj); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::String& str); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::Symbol& sym); + public Value(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& value); + public Value(facebook::jsi::Value&& other) noexcept; + public Value(int i); + public Value(std::nullptr_t); + public bool asBool() const; + public bool getBool() const; + public bool isBigInt() const; + public bool isBool() const; + public bool isInteger() const; + public bool isNull() const; + public bool isNumber() const; + public bool isObject() const; + public bool isString() const; + public bool isSymbol() const; + public bool isUndefined() const; + public double asNumber() const; + public double getNumber() const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::BigInt asBigInt(facebook::jsi::IRuntime& runtime); + public facebook::jsi::BigInt getBigInt(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::BigInt getBigInt(facebook::jsi::IRuntime&); + public facebook::jsi::Object asObject(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Object asObject(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Object getObject(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Object getObject(facebook::jsi::IRuntime&); + public facebook::jsi::String asString(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::String asString(facebook::jsi::IRuntime& runtime); + public facebook::jsi::String getString(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::String getString(facebook::jsi::IRuntime&); + public facebook::jsi::String toString(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Symbol asSymbol(facebook::jsi::IRuntime& runtime); + public facebook::jsi::Symbol getSymbol(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::Symbol getSymbol(facebook::jsi::IRuntime&); + public facebook::jsi::Value& operator=(facebook::jsi::Value&& other) noexcept; + public static bool strictEquals(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& a, const facebook::jsi::Value& b); + public static facebook::jsi::Value createFromJsonUtf8(facebook::jsi::IRuntime& runtime, const uint8_t* json, size_t length); + public static facebook::jsi::Value null(); + public static facebook::jsi::Value undefined(); + public ~Value(); + template + public Value(const char*); + template + public Value(facebook::jsi::IRuntime&, const char*); + template ::value || std::is_base_of::value || std::is_base_of::value || std::is_base_of::value>> + public Value(T&& other); +} + +class facebook::jsi::WeakObject : public facebook::jsi::Pointer { + public WeakObject(facebook::jsi::IRuntime& runtime, const facebook::jsi::Object& o); + public WeakObject(facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* ptr); + public WeakObject(facebook::jsi::Pointer&& other) noexcept; + public WeakObject(facebook::jsi::WeakObject&& other) = default; + public facebook::jsi::Value lock(facebook::jsi::IRuntime& runtime) const; + public facebook::jsi::WeakObject& operator=(facebook::jsi::WeakObject&& other) = default; +} + +struct facebook::jsi::ICast { + protected ~ICast() = default; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) = 0; +} + +template +class facebook::jsi::RuntimeDecorator : public facebook::jsi::Runtime { + protected RuntimeDecorator(Plain& plain); + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& b) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& b) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool detached(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool isTypedArray(const facebook::jsi::Object& o) const override; + protected virtual bool isUint8Array(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& dataUUID) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer buffer(const facebook::jsi::TypedArray& typedArray) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t value) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t value) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneBigInt(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneObject(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* clonePropNameID(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneString(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneSymbol(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bigint, int radix) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Uint8Array createUint8Array(const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length) override; + protected virtual facebook::jsi::Uint8Array createUint8Array(size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t byteLength(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t byteOffset(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t length(const facebook::jsi::String& str) override; + protected virtual size_t length(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t push(const facebook::jsi::Array& a, const facebook::jsi::Value* elements, size_t count) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr tryGetMutableBuffer(const facebook::jsi::ArrayBuffer& arrayBuffer) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string flushAndDisableBridgeTrafficTrace() override; + protected virtual std::string getRecordedGCStats() override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual std::unordered_map getHeapInfo(bool includeExpensive) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& b) override; + protected virtual void collectGarbage(std::string cause) override; + protected virtual void createSnapshotToFile(const std::string& path, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void createSnapshotToStream(std::ostream& os, const facebook::jsi::Instrumentation::HeapSnapshotOptions& options) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void dumpOpcodeStats(std::ostream& os) const override; + protected virtual void dumpProfilerSymbolsToFile(const std::string& fileName) const override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amount) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& dataUUID, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected virtual void startHeapSampling(size_t samplingInterval) override; + protected virtual void stopHeapSampling(std::ostream& os) override; + protected virtual void stopTrackingHeapObjectStackTraces() override; + protected virtual void writeBasicBlockProfileTraceToFile(const std::string& fileName) const override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + protected void startTrackingHeapObjectStackTraces(std::function)> callback) override; + public Plain& plain(); + public const Plain& plain() const; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + +template +class facebook::jsi::WithRuntimeDecorator : public facebook::jsi::RuntimeDecorator { + protected virtual Runtime::ScopeState* pushScope() override; + protected virtual bool bigintIsInt64(const facebook::jsi::BigInt& bi) override; + protected virtual bool bigintIsUint64(const facebook::jsi::BigInt& bi) override; + protected virtual bool compare(const facebook::jsi::PropNameID& a, const facebook::jsi::PropNameID& b) override; + protected virtual bool detached(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual bool hasNativeState(const facebook::jsi::Object& o) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual bool hasProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual bool instanceOf(const facebook::jsi::Object& o, const facebook::jsi::Function& f) override; + protected virtual bool isArray(const facebook::jsi::Object& o) const override; + protected virtual bool isArrayBuffer(const facebook::jsi::Object& o) const override; + protected virtual bool isFunction(const facebook::jsi::Object& o) const override; + protected virtual bool isHostFunction(const facebook::jsi::Function& f) const override; + protected virtual bool isHostObject(const facebook::jsi::Object& o) const override; + protected virtual bool isTypedArray(const facebook::jsi::Object& o) const override; + protected virtual bool isUint8Array(const facebook::jsi::Object& o) const override; + protected virtual bool strictEquals(const facebook::jsi::BigInt& a, const facebook::jsi::BigInt& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Object& a, const facebook::jsi::Object& b) const override; + protected virtual bool strictEquals(const facebook::jsi::String& a, const facebook::jsi::String& b) const override; + protected virtual bool strictEquals(const facebook::jsi::Symbol& a, const facebook::jsi::Symbol& b) const override; + protected virtual const void* getRuntimeDataImpl(const facebook::jsi::UUID& uuid) override; + protected virtual facebook::jsi::Array createArray(size_t length) override; + protected virtual facebook::jsi::Array getPropertyNames(const facebook::jsi::Object& o) override; + protected virtual facebook::jsi::ArrayBuffer buffer(const facebook::jsi::TypedArray& typedArray) override; + protected virtual facebook::jsi::ArrayBuffer createArrayBuffer(std::shared_ptr buffer) override; + protected virtual facebook::jsi::BigInt createBigIntFromInt64(int64_t i) override; + protected virtual facebook::jsi::BigInt createBigIntFromUint64(uint64_t i) override; + protected virtual facebook::jsi::Function createFunctionFromHostFunction(const facebook::jsi::PropNameID& name, unsigned int paramCount, facebook::jsi::HostFunctionType func) override; + protected virtual facebook::jsi::HostFunctionType& getHostFunction(const facebook::jsi::Function& f) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneBigInt(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneObject(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* clonePropNameID(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneString(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* cloneSymbol(const facebook::jsi::IRuntime::PointerValue::Runtime::PointerValue* pv) override; + protected virtual facebook::jsi::Object createObject() override; + protected virtual facebook::jsi::Object createObject(std::shared_ptr ho) override; + protected virtual facebook::jsi::Object createObjectWithPrototype(const facebook::jsi::Value& prototype) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromString(const facebook::jsi::String& str) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromSymbol(const facebook::jsi::Symbol& sym) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::PropNameID createPropNameIDFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::String bigintToString(const facebook::jsi::BigInt& bi, int i) override; + protected virtual facebook::jsi::String createStringFromAscii(const char* str, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf8(const uint8_t* utf8, size_t length) override; + protected virtual facebook::jsi::String createStringFromUtf16(const char16_t* utf16, size_t length) override; + protected virtual facebook::jsi::Uint8Array createUint8Array(const facebook::jsi::ArrayBuffer& buffer, size_t offset, size_t length) override; + protected virtual facebook::jsi::Uint8Array createUint8Array(size_t length) override; + protected virtual facebook::jsi::Value call(const facebook::jsi::Function& f, const facebook::jsi::Value& jsThis, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value callAsConstructor(const facebook::jsi::Function& f, const facebook::jsi::Value* args, size_t count) override; + protected virtual facebook::jsi::Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::String& name) override; + protected virtual facebook::jsi::Value getProperty(const facebook::jsi::Object& o, const facebook::jsi::Value& name) override; + protected virtual facebook::jsi::Value getPrototypeOf(const facebook::jsi::Object& object) override; + protected virtual facebook::jsi::Value getValueAtIndex(const facebook::jsi::Array& a, size_t i) override; + protected virtual facebook::jsi::Value lockWeakObject(const facebook::jsi::WeakObject& wo) override; + protected virtual facebook::jsi::WeakObject createWeakObject(const facebook::jsi::Object& o) override; + protected virtual size_t byteLength(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t byteOffset(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t length(const facebook::jsi::String& str) override; + protected virtual size_t length(const facebook::jsi::TypedArray& typedArray) override; + protected virtual size_t push(const facebook::jsi::Array& a, const facebook::jsi::Value* elements, size_t count) override; + protected virtual size_t size(const facebook::jsi::Array& a) override; + protected virtual size_t size(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual std::shared_ptr getHostObject(const facebook::jsi::Object& o) override; + protected virtual std::shared_ptr tryGetMutableBuffer(const facebook::jsi::ArrayBuffer& arrayBuffer) override; + protected virtual std::shared_ptr getNativeState(const facebook::jsi::Object& o) override; + protected virtual std::string symbolToString(const facebook::jsi::Symbol& sym) override; + protected virtual std::string utf8(const facebook::jsi::PropNameID& id) override; + protected virtual std::string utf8(const facebook::jsi::String& s) override; + protected virtual std::u16string utf16(const facebook::jsi::PropNameID& sym) override; + protected virtual std::u16string utf16(const facebook::jsi::String& str) override; + protected virtual uint8_t* data(const facebook::jsi::ArrayBuffer& ab) override; + protected virtual uint64_t truncate(const facebook::jsi::BigInt& bi) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::PropNameID& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::String& name) override; + protected virtual void deleteProperty(const facebook::jsi::Object& object, const facebook::jsi::Value& name) override; + protected virtual void setExternalMemoryPressure(const facebook::jsi::Object& obj, size_t amt) override; + protected virtual void setNativeState(const facebook::jsi::Object& o, std::shared_ptr state) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::PropNameID& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::String& name, const facebook::jsi::Value& value) override; + protected virtual void setPropertyValue(const facebook::jsi::Object& o, const facebook::jsi::Value& name, const facebook::jsi::Value& value) override; + protected virtual void setPrototypeOf(const facebook::jsi::Object& object, const facebook::jsi::Value& prototype) override; + protected virtual void setRuntimeDataImpl(const facebook::jsi::UUID& uuid, const void* data, void(*)(const void* data) deleter) override; + protected virtual void setValueAtIndexImpl(const facebook::jsi::Array& a, size_t i, const facebook::jsi::Value& value) override; + protected void getPropNameIdData(const facebook::jsi::PropNameID& sym, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void getStringData(const facebook::jsi::String& str, void* ctx, void(*)(void* ctx, bool ascii, const void* data, size_t num) cb) override; + protected void popScope(Runtime::ScopeState* ss) override; + public WithRuntimeDecorator(Plain& plain, With& with); + public using RD = facebook::jsi::RuntimeDecorator; + public virtual bool drainMicrotasks(int maxMicrotasksHint) override; + public virtual bool isInspectable() override; + public virtual facebook::jsi::ICast* castInterface(const facebook::jsi::UUID& interfaceUUID) override; + public virtual facebook::jsi::Instrumentation& instrumentation() override; + public virtual facebook::jsi::Object global() override; + public virtual facebook::jsi::Value evaluateJavaScript(const std::shared_ptr& buffer, const std::string& sourceURL) override; + public virtual facebook::jsi::Value evaluatePreparedJavaScript(const std::shared_ptr& js) override; + public virtual std::shared_ptr prepareJavaScript(const std::shared_ptr& buffer, std::string sourceURL) override; + public virtual std::string description() override; + public virtual void queueMicrotask(const facebook::jsi::Function& callback) override; +} + + +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::IRuntime& runtime, const char* name); +facebook::jsi::PropNameID facebook::jsi::detail::toPropNameID(facebook::jsi::IRuntime& runtime, const std::string& name); +facebook::jsi::PropNameID&& facebook::jsi::detail::toPropNameID(facebook::jsi::IRuntime&, facebook::jsi::PropNameID&& name); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime& runtime, const char* str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime& runtime, const facebook::jsi::Value& value); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime& runtime, const std::string& str); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, bool b); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, double d); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, float f); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, int i); +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, std::nullptr_t); +facebook::jsi::Value&& facebook::jsi::detail::toValue(facebook::jsi::IRuntime&, facebook::jsi::Value&& value); +template +void facebook::jsi::detail::throwOrDie(Args &&... args); +template +facebook::jsi::Value facebook::jsi::detail::toValue(facebook::jsi::IRuntime& runtime, const T& other); + +template +class facebook::jsi::detail::ThreadSafeRuntimeImpl : public facebook::jsi::WithRuntimeDecorator, R, facebook::jsi::ThreadSafeRuntime> { + public virtual R& getUnsafeRuntime() override; + public virtual void lock() const override; + public virtual void unlock() const override; + template + public ThreadSafeRuntimeImpl(Args &&... args); +} + +template +struct facebook::jsi::detail::WithLock { + public L lock; + public WithLock(R& r); + public void after(); + public void before(); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T&); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T&); +} + +template +struct facebook::jsi::detail::AfterCaller { + public static void after(T& t); +} + +template +struct facebook::jsi::detail::BeforeCaller { + public static void before(T& t); +} + +template +struct facebook::jsi::detail::AfterCaller> { + public static void after(std::tuple& tuple); +} + +template +struct facebook::jsi::detail::BeforeCaller> { + public static void before(std::tuple& tuple); +} + + +using facebook::yoga::GridTrackList = std::vector; +template +concept facebook::yoga::Enumeration = std::is_enum_v; +template +concept facebook::yoga::HasOrdinality = (facebook::yoga::ordinalCount()> 0); +YGLogger facebook::yoga::getDefaultLogger(); +bool facebook::yoga::calculateLayoutInternal(facebook::yoga::Node* node, float availableWidth, float availableHeight, facebook::yoga::Direction ownerDirection, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::SizingMode heightSizingMode, float ownerWidth, float ownerHeight, bool performLayout, facebook::yoga::LayoutPassReason reason, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +bool facebook::yoga::canUseCachedMeasurement(facebook::yoga::SizingMode widthMode, float availableWidth, facebook::yoga::SizingMode heightMode, float availableHeight, facebook::yoga::SizingMode lastWidthMode, float lastAvailableWidth, facebook::yoga::SizingMode lastHeightMode, float lastAvailableHeight, float lastComputedWidth, float lastComputedHeight, float marginRow, float marginColumn, const facebook::yoga::Config* config); +bool facebook::yoga::configUpdateInvalidatesLayout(const facebook::yoga::Config& oldConfig, const facebook::yoga::Config& newConfig); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleLength& a, const facebook::yoga::StyleLength& b); +bool facebook::yoga::inexactEquals(const facebook::yoga::StyleSizeLength& a, const facebook::yoga::StyleSizeLength& b); +bool facebook::yoga::inexactEquals(double a, double b); +bool facebook::yoga::inexactEquals(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +bool facebook::yoga::inexactEquals(float a, float b); +bool facebook::yoga::isBaselineLayout(const facebook::yoga::Node* node); +bool facebook::yoga::isColumn(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::isRow(const facebook::yoga::FlexDirection flexDirection); +bool facebook::yoga::layoutAbsoluteDescendants(facebook::yoga::Node* containingNode, facebook::yoga::Node* currentNode, facebook::yoga::SizingMode widthSizingMode, facebook::yoga::Direction currentNodeDirection, facebook::yoga::LayoutData& layoutMarkerData, uint32_t currentDepth, uint32_t generationCount, float currentNodeMainOffsetFromContainingBlock, float currentNodeCrossOffsetFromContainingBlock, float containingNodeAvailableInnerWidth, float containingNodeAvailableInnerHeight); +bool facebook::yoga::needsTrailingPosition(const facebook::yoga::FlexDirection axis); +const char* facebook::yoga::LayoutPassReasonToString(facebook::yoga::LayoutPassReason value); +const char* facebook::yoga::toString(facebook::yoga::Align e); +const char* facebook::yoga::toString(facebook::yoga::BoxSizing e); +const char* facebook::yoga::toString(facebook::yoga::Dimension e); +const char* facebook::yoga::toString(facebook::yoga::Direction e); +const char* facebook::yoga::toString(facebook::yoga::Display e); +const char* facebook::yoga::toString(facebook::yoga::Edge e); +const char* facebook::yoga::toString(facebook::yoga::Errata e); +const char* facebook::yoga::toString(facebook::yoga::FlexDirection e); +const char* facebook::yoga::toString(facebook::yoga::GridTrackType e); +const char* facebook::yoga::toString(facebook::yoga::Gutter e); +const char* facebook::yoga::toString(facebook::yoga::Justify e); +const char* facebook::yoga::toString(facebook::yoga::LogLevel e); +const char* facebook::yoga::toString(facebook::yoga::MeasureMode e); +const char* facebook::yoga::toString(facebook::yoga::NodeType e); +const char* facebook::yoga::toString(facebook::yoga::Overflow e); +const char* facebook::yoga::toString(facebook::yoga::PositionType e); +const char* facebook::yoga::toString(facebook::yoga::Unit e); +const char* facebook::yoga::toString(facebook::yoga::Wrap e); +const facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeConstRef ref); +constexpr YGAlign facebook::yoga::unscopedEnum(facebook::yoga::Align scoped); +constexpr YGBoxSizing facebook::yoga::unscopedEnum(facebook::yoga::BoxSizing scoped); +constexpr YGDimension facebook::yoga::unscopedEnum(facebook::yoga::Dimension scoped); +constexpr YGDirection facebook::yoga::unscopedEnum(facebook::yoga::Direction scoped); +constexpr YGDisplay facebook::yoga::unscopedEnum(facebook::yoga::Display scoped); +constexpr YGEdge facebook::yoga::unscopedEnum(facebook::yoga::Edge scoped); +constexpr YGErrata facebook::yoga::unscopedEnum(facebook::yoga::Errata scoped); +constexpr YGFlexDirection facebook::yoga::unscopedEnum(facebook::yoga::FlexDirection scoped); +constexpr YGGridTrackType facebook::yoga::unscopedEnum(facebook::yoga::GridTrackType scoped); +constexpr YGGutter facebook::yoga::unscopedEnum(facebook::yoga::Gutter scoped); +constexpr YGJustify facebook::yoga::unscopedEnum(facebook::yoga::Justify scoped); +constexpr YGLogLevel facebook::yoga::unscopedEnum(facebook::yoga::LogLevel scoped); +constexpr YGMeasureMode facebook::yoga::unscopedEnum(facebook::yoga::MeasureMode scoped); +constexpr YGNodeType facebook::yoga::unscopedEnum(facebook::yoga::NodeType scoped); +constexpr YGOverflow facebook::yoga::unscopedEnum(facebook::yoga::Overflow scoped); +constexpr YGPositionType facebook::yoga::unscopedEnum(facebook::yoga::PositionType scoped); +constexpr YGUnit facebook::yoga::unscopedEnum(facebook::yoga::Unit scoped); +constexpr YGWrap facebook::yoga::unscopedEnum(facebook::yoga::Wrap scoped); +constexpr auto facebook::yoga::maxOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::minOrDefined(std::floating_point auto a, std::floating_point auto b); +constexpr auto facebook::yoga::to_underlying(Enumeration auto e) noexcept; +constexpr bool facebook::yoga::isDefined(std::floating_point auto value); +constexpr bool facebook::yoga::isUndefined(std::floating_point auto value); +constexpr bool facebook::yoga::isinf(auto value); +constexpr facebook::yoga::Align facebook::yoga::fallbackAlignment(facebook::yoga::Align align); +constexpr facebook::yoga::Align facebook::yoga::scopedEnum(YGAlign unscoped); +constexpr facebook::yoga::BoxSizing facebook::yoga::scopedEnum(YGBoxSizing unscoped); +constexpr facebook::yoga::Dimension facebook::yoga::scopedEnum(YGDimension unscoped); +constexpr facebook::yoga::Direction facebook::yoga::scopedEnum(YGDirection unscoped); +constexpr facebook::yoga::Display facebook::yoga::scopedEnum(YGDisplay unscoped); +constexpr facebook::yoga::Edge facebook::yoga::scopedEnum(YGEdge unscoped); +constexpr facebook::yoga::Errata facebook::yoga::scopedEnum(YGErrata unscoped); +constexpr facebook::yoga::FlexDirection facebook::yoga::scopedEnum(YGFlexDirection unscoped); +constexpr facebook::yoga::FloatOptional facebook::yoga::maxOrDefined(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::GridTrackType facebook::yoga::scopedEnum(YGGridTrackType unscoped); +constexpr facebook::yoga::Gutter facebook::yoga::scopedEnum(YGGutter unscoped); +constexpr facebook::yoga::Justify facebook::yoga::fallbackAlignment(facebook::yoga::Justify align); +constexpr facebook::yoga::Justify facebook::yoga::scopedEnum(YGJustify unscoped); +constexpr facebook::yoga::LogLevel facebook::yoga::scopedEnum(YGLogLevel unscoped); +constexpr facebook::yoga::MeasureMode facebook::yoga::scopedEnum(YGMeasureMode unscoped); +constexpr facebook::yoga::NodeType facebook::yoga::scopedEnum(YGNodeType unscoped); +constexpr facebook::yoga::Overflow facebook::yoga::scopedEnum(YGOverflow unscoped); +constexpr facebook::yoga::PositionType facebook::yoga::scopedEnum(YGPositionType unscoped); +constexpr facebook::yoga::Unit facebook::yoga::scopedEnum(YGUnit unscoped); +constexpr facebook::yoga::Wrap facebook::yoga::scopedEnum(YGWrap unscoped); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +constexpr int32_t facebook::yoga::ordinalCount(); +facebook::yoga::Align facebook::yoga::resolveChildAlignment(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::Config* facebook::yoga::resolveRef(const YGConfigRef ref); +facebook::yoga::Dimension facebook::yoga::dimension(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::FlexDirection facebook::yoga::resolveCrossDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexDirection facebook::yoga::resolveDirection(const facebook::yoga::FlexDirection flexDirection, const facebook::yoga::Direction direction); +facebook::yoga::FlexLine facebook::yoga::calculateFlexLine(facebook::yoga::Node* node, facebook::yoga::Direction ownerDirection, float ownerWidth, float mainAxisOwnerSize, float availableInnerWidth, float availableInnerMainDim, facebook::yoga::Node::LayoutableChildren::Iterator& iterator, size_t lineCount); +facebook::yoga::FloatOptional facebook::yoga::boundAxisWithinMinAndMax(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::FlexDirection axis, const facebook::yoga::FloatOptional value, const float axisSize, const float widthSize); +facebook::yoga::Justify facebook::yoga::resolveChildJustification(const facebook::yoga::Node* node, const facebook::yoga::Node* child); +facebook::yoga::MeasureMode facebook::yoga::measureMode(facebook::yoga::SizingMode mode); +facebook::yoga::Node* facebook::yoga::resolveRef(const YGNodeRef ref); +facebook::yoga::PhysicalEdge facebook::yoga::flexEndEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::flexStartEdge(facebook::yoga::FlexDirection flexDirection); +facebook::yoga::PhysicalEdge facebook::yoga::inlineEndEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::PhysicalEdge facebook::yoga::inlineStartEdge(facebook::yoga::FlexDirection flexDirection, facebook::yoga::Direction direction); +facebook::yoga::SizingMode facebook::yoga::sizingMode(facebook::yoga::MeasureMode mode); +float facebook::yoga::boundAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float value, const float axisSize, const float widthSize); +float facebook::yoga::calculateAvailableInnerDimension(const facebook::yoga::Node *const node, const facebook::yoga::Direction direction, const facebook::yoga::Dimension dimension, const float availableDim, float paddingAndBorder, const float ownerDim, const float ownerWidth); +float facebook::yoga::calculateBaseline(const facebook::yoga::Node* node); +float facebook::yoga::getPositionOfOppositeEdge(float position, facebook::yoga::FlexDirection axis, const facebook::yoga::Node *const containingNode, const facebook::yoga::Node *const node); +float facebook::yoga::paddingAndBorderForAxis(const facebook::yoga::Node *const node, const facebook::yoga::FlexDirection axis, const facebook::yoga::Direction direction, const float widthSize); +float facebook::yoga::roundValueToPixelGrid(double value, double pointScaleFactor, bool forceCeil, bool forceFloor); +template +constexpr int32_t facebook::yoga::ordinalCount(); +template +auto facebook::yoga::ordinals(); +template +constexpr int32_t facebook::yoga::bitCount(); +template +bool facebook::yoga::inexactEquals(const std::array& val1, const std::array& val2); +void facebook::yoga::assertFatal(bool condition, const char* message); +void facebook::yoga::assertFatalWithConfig(const facebook::yoga::Config* config, bool condition, const char* message); +void facebook::yoga::assertFatalWithNode(const facebook::yoga::Node* node, bool condition, const char* message); +void facebook::yoga::calculateLayout(facebook::yoga::Node* node, float ownerWidth, float ownerHeight, facebook::yoga::Direction ownerDirection); +void facebook::yoga::cleanupContentsNodesRecursively(facebook::yoga::Node* node, bool didPerformLayout); +void facebook::yoga::constrainMaxSizeForMode(const facebook::yoga::Node* node, facebook::yoga::Direction direction, facebook::yoga::FlexDirection axis, float ownerAxisSize, float ownerWidth, facebook::yoga::SizingMode* mode, float* size); +void facebook::yoga::fatalWithMessage(const char* message); +void facebook::yoga::layoutAbsoluteChild(const facebook::yoga::Node* containingNode, const facebook::yoga::Node* node, facebook::yoga::Node* child, float containingBlockWidth, float containingBlockHeight, facebook::yoga::SizingMode widthMode, facebook::yoga::Direction direction, facebook::yoga::LayoutData& layoutMarkerData, uint32_t depth, uint32_t generationCount); +void facebook::yoga::log(const facebook::yoga::Config* config, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(const facebook::yoga::Node* node, facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::log(facebook::yoga::LogLevel level, const char* format, ...) noexcept; +void facebook::yoga::roundLayoutResultsToPixelGrid(facebook::yoga::Node* node, double absoluteLeft, double absoluteTop); +void facebook::yoga::setChildTrailingPosition(const facebook::yoga::Node *const node, facebook::yoga::Node *const child, const facebook::yoga::FlexDirection axis); +void facebook::yoga::zeroOutLayoutRecursively(facebook::yoga::Node *const node); +constexpr bool facebook::yoga::operator<(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator<=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator==(facebook::yoga::FloatOptional lhs, float rhs); +constexpr bool facebook::yoga::operator==(float lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr bool facebook::yoga::operator>=(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); +constexpr facebook::yoga::FloatOptional facebook::yoga::operator+(facebook::yoga::FloatOptional lhs, facebook::yoga::FloatOptional rhs); + +class facebook::yoga::Config : public YGConfig { + public Config(YGLogger logger); + public YGNodeRef cloneNode(YGNodeConstRef node, YGNodeConstRef owner, size_t childIndex) const; + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool useWebDefaults() const; + public facebook::yoga::Errata getErrata() const; + public float getPointScaleFactor() const; + public static const facebook::yoga::Config& getDefault(); + public uint32_t getVersion() const noexcept; + public void addErrata(facebook::yoga::Errata errata); + public void log(const facebook::yoga::Node* node, facebook::yoga::LogLevel logLevel, const char* format, va_list args) const; + public void removeErrata(facebook::yoga::Errata errata); + public void setCloneNodeCallback(YGCloneNodeFunc cloneNode); + public void setContext(void* context); + public void setErrata(facebook::yoga::Errata errata); + public void setLogger(YGLogger logger); + public void setPointScaleFactor(float pointScaleFactor); + public void setUseWebDefaults(bool useWebDefaults); + public void* getContext() const; +} + +class facebook::yoga::GridStyleStorage { + public GridStyleStorage() = default; + public GridStyleStorage(const facebook::yoga::GridStyleStorage& other); + public GridStyleStorage(facebook::yoga::GridStyleStorage&&) noexcept = default; + public bool operator==(const facebook::yoga::GridStyleStorage& other) const; + public const facebook::yoga::GridStyle& get() const; + public facebook::yoga::GridStyle& ensure(); + public facebook::yoga::GridStyleStorage& operator=(const facebook::yoga::GridStyleStorage& other); + public facebook::yoga::GridStyleStorage& operator=(facebook::yoga::GridStyleStorage&&) noexcept = default; +} + +class facebook::yoga::Node : public YGNode { + public Node(); + public Node(const facebook::yoga::Config* config); + public Node(const facebook::yoga::Node& node) = default; + public Node(facebook::yoga::Node&& node) noexcept; + public YGDirtiedFunc getDirtiedFunc() const; + public YGSize measure(float availableWidth, facebook::yoga::MeasureMode widthMode, float availableHeight, facebook::yoga::MeasureMode heightMode); + public YGSize measureMinContent(float availableWidth, facebook::yoga::MeasureMode widthMode, float availableHeight, facebook::yoga::MeasureMode heightMode); + public bool alwaysFormsContainingBlock() const; + public bool getHasNewLayout() const; + public bool hasBaselineFunc() const noexcept; + public bool hasContentsChildren() const; + public bool hasDefiniteLength(facebook::yoga::Dimension dimension, float ownerSize); + public bool hasErrata(facebook::yoga::Errata errata) const; + public bool hasMeasureFunc() const noexcept; + public bool hasMinContentMeasureFunc() const noexcept; + public bool isDirty() const; + public bool isLayoutDimensionDefined(facebook::yoga::FlexDirection axis); + public bool isNodeFlexible(); + public bool isReferenceBaseline() const; + public bool removeChild(facebook::yoga::Node* child); + public const facebook::yoga::Config* getConfig() const; + public const facebook::yoga::LayoutResults& getLayout() const; + public const facebook::yoga::Style& style() const; + public const std::vector& getChildren() const; + public facebook::yoga::Direction resolveDirection(facebook::yoga::Direction ownerDirection); + public facebook::yoga::FloatOptional getMinContentHeight() const noexcept; + public facebook::yoga::FloatOptional getMinContentWidth() const noexcept; + public facebook::yoga::FloatOptional getResolvedDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolveFlexBasis(facebook::yoga::Direction direction, facebook::yoga::FlexDirection flexDirection, float referenceLength, float ownerWidth) const; + public facebook::yoga::LayoutResults& getLayout(); + public facebook::yoga::Node& operator=(const facebook::yoga::Node&) = delete; + public facebook::yoga::Node* getChild(size_t index) const; + public facebook::yoga::Node* getOwner() const; + public facebook::yoga::Node::LayoutableChildren getLayoutChildren() const; + public facebook::yoga::NodeType getNodeType() const; + public facebook::yoga::Style& style(); + public facebook::yoga::Style::SizeLength getProcessedDimension(facebook::yoga::Dimension dimension) const; + public facebook::yoga::Style::SizeLength processFlexBasis() const; + public float baseline(float width, float height) const; + public float dimensionWithMargin(facebook::yoga::FlexDirection axis, float widthSize); + public float relativePosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float resolveFlexGrow() const; + public float resolveFlexShrink() const; + public size_t getChildCount() const; + public size_t getLayoutChildCount() const; + public size_t getLineIndex() const; + public using LayoutableChildren = facebook::yoga::LayoutableChildren; + public void clearChildren(); + public void cloneChildrenIfNeeded(); + public void cloneContentsChildrenIfNeeded(); + public void insertChild(facebook::yoga::Node* child, size_t index); + public void markDirtyAndPropagate(); + public void processDimensions(); + public void removeChild(size_t index); + public void replaceChild(facebook::yoga::Node* child, size_t index); + public void replaceChild(facebook::yoga::Node* oldChild, facebook::yoga::Node* newChild); + public void reset(); + public void setAlwaysFormsContainingBlock(bool alwaysFormsContainingBlock); + public void setBaselineFunc(YGBaselineFunc baseLineFunc); + public void setChildren(const std::vector& children); + public void setConfig(facebook::yoga::Config* config); + public void setContext(void* context); + public void setDirtiedFunc(YGDirtiedFunc dirtiedFunc); + public void setDirty(bool isDirty); + public void setHasNewLayout(bool hasNewLayout); + public void setIsReferenceBaseline(bool isReferenceBaseline); + public void setLayout(const facebook::yoga::LayoutResults& layout); + public void setLayoutBorder(float border, facebook::yoga::PhysicalEdge edge); + public void setLayoutComputedFlexBasis(facebook::yoga::FloatOptional computedFlexBasis); + public void setLayoutComputedFlexBasisGeneration(uint32_t computedFlexBasisGeneration); + public void setLayoutDimension(float lengthValue, facebook::yoga::Dimension dimension); + public void setLayoutDirection(facebook::yoga::Direction direction); + public void setLayoutHadOverflow(bool hadOverflow); + public void setLayoutLastOwnerDirection(facebook::yoga::Direction direction); + public void setLayoutMargin(float margin, facebook::yoga::PhysicalEdge edge); + public void setLayoutMeasuredDimension(float measuredDimension, facebook::yoga::Dimension dimension); + public void setLayoutPadding(float padding, facebook::yoga::PhysicalEdge edge); + public void setLayoutPosition(float position, facebook::yoga::PhysicalEdge edge); + public void setLineIndex(size_t lineIndex); + public void setMeasureFunc(YGMeasureFunc measureFunc); + public void setMinContentHeight(facebook::yoga::FloatOptional minContentHeight) noexcept; + public void setMinContentMeasureFunc(YGMinContentMeasureFunc minContentMeasureFunc); + public void setMinContentWidth(facebook::yoga::FloatOptional minContentWidth) noexcept; + public void setNodeType(facebook::yoga::NodeType nodeType); + public void setOwner(facebook::yoga::Node* owner); + public void setPosition(facebook::yoga::Direction direction, float ownerWidth, float ownerHeight); + public void setStyle(const facebook::yoga::Style& style); + public void* getContext() const; +} + +class facebook::yoga::Style { + public bool flexEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool flexStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool horizontalInsetsDefined() const; + public bool inlineEndMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool inlineStartMarginIsAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isFlexStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineEndPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionAuto(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool isInlineStartPositionDefined(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public bool operator==(const facebook::yoga::Style& other) const; + public bool verticalInsetsDefined() const; + public const facebook::yoga::GridLine& gridColumnEnd() const; + public const facebook::yoga::GridLine& gridColumnStart() const; + public const facebook::yoga::GridLine& gridRowEnd() const; + public const facebook::yoga::GridLine& gridRowStart() const; + public const facebook::yoga::GridTrackList& gridAutoColumns() const; + public const facebook::yoga::GridTrackList& gridAutoRows() const; + public const facebook::yoga::GridTrackList& gridTemplateColumns() const; + public const facebook::yoga::GridTrackList& gridTemplateRows() const; + public facebook::yoga::Align alignContent() const; + public facebook::yoga::Align alignItems() const; + public facebook::yoga::Align alignSelf() const; + public facebook::yoga::BoxSizing boxSizing() const; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Display display() const; + public facebook::yoga::FlexDirection flexDirection() const; + public facebook::yoga::FloatOptional aspectRatio() const; + public facebook::yoga::FloatOptional flex() const; + public facebook::yoga::FloatOptional flexGrow() const; + public facebook::yoga::FloatOptional flexShrink() const; + public facebook::yoga::FloatOptional resolvedMaxDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::FloatOptional resolvedMinDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension axis, float referenceLength, float ownerWidth) const; + public facebook::yoga::Justify justifyContent() const; + public facebook::yoga::Justify justifyItems() const; + public facebook::yoga::Justify justifySelf() const; + public facebook::yoga::Overflow overflow() const; + public facebook::yoga::PositionType positionType() const; + public facebook::yoga::Style::Length border(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length gap(facebook::yoga::Gutter gutter) const; + public facebook::yoga::Style::Length margin(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length padding(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::Length position(facebook::yoga::Edge edge) const; + public facebook::yoga::Style::SizeLength dimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength flexBasis() const; + public facebook::yoga::Style::SizeLength maxDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Style::SizeLength minDimension(facebook::yoga::Dimension axis) const; + public facebook::yoga::Wrap flexWrap() const; + public float computeBorderForAxis(facebook::yoga::FlexDirection axis) const; + public float computeFlexEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeFlexStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeFlexStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeFlexStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeGapForAxis(facebook::yoga::FlexDirection axis, float ownerSize) const; + public float computeGapForDimension(facebook::yoga::Dimension dimension, float ownerSize) const; + public float computeInlineEndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineEndMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineEndPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeInlineStartBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction) const; + public float computeInlineStartMargin(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPadding(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPaddingAndBorder(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float widthSize) const; + public float computeInlineStartPosition(facebook::yoga::FlexDirection axis, facebook::yoga::Direction direction, float axisSize) const; + public float computeMarginForAxis(facebook::yoga::FlexDirection axis, float widthSize) const; + public float computePaddingAndBorderForDimension(facebook::yoga::Direction direction, facebook::yoga::Dimension dimension, float widthSize) const; + public static constexpr float DefaultFlexGrow; + public static constexpr float DefaultFlexShrink; + public static constexpr float WebDefaultFlexShrink; + public using Length = facebook::yoga::StyleLength; + public using SizeLength = facebook::yoga::StyleSizeLength; + public void resizeGridAutoColumns(size_t count); + public void resizeGridAutoRows(size_t count); + public void resizeGridTemplateColumns(size_t count); + public void resizeGridTemplateRows(size_t count); + public void setAlignContent(facebook::yoga::Align value); + public void setAlignItems(facebook::yoga::Align value); + public void setAlignSelf(facebook::yoga::Align value); + public void setAspectRatio(facebook::yoga::FloatOptional value); + public void setBorder(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setBoxSizing(facebook::yoga::BoxSizing value); + public void setDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setDirection(facebook::yoga::Direction value); + public void setDisplay(facebook::yoga::Display value); + public void setFlex(facebook::yoga::FloatOptional value); + public void setFlexBasis(facebook::yoga::Style::SizeLength value); + public void setFlexDirection(facebook::yoga::FlexDirection value); + public void setFlexGrow(facebook::yoga::FloatOptional value); + public void setFlexShrink(facebook::yoga::FloatOptional value); + public void setFlexWrap(facebook::yoga::Wrap value); + public void setGap(facebook::yoga::Gutter gutter, facebook::yoga::Style::Length value); + public void setGridAutoColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoColumns(facebook::yoga::GridTrackList value); + public void setGridAutoRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridAutoRows(facebook::yoga::GridTrackList value); + public void setGridColumnEnd(facebook::yoga::GridLine value); + public void setGridColumnStart(facebook::yoga::GridLine value); + public void setGridRowEnd(facebook::yoga::GridLine value); + public void setGridRowStart(facebook::yoga::GridLine value); + public void setGridTemplateColumnAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateColumns(facebook::yoga::GridTrackList value); + public void setGridTemplateRowAt(size_t index, facebook::yoga::GridTrackSize value); + public void setGridTemplateRows(facebook::yoga::GridTrackList value); + public void setJustifyContent(facebook::yoga::Justify value); + public void setJustifyItems(facebook::yoga::Justify value); + public void setJustifySelf(facebook::yoga::Justify value); + public void setMargin(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setMaxDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setMinDimension(facebook::yoga::Dimension axis, facebook::yoga::Style::SizeLength value); + public void setOverflow(facebook::yoga::Overflow value); + public void setPadding(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPosition(facebook::yoga::Edge edge, facebook::yoga::Style::Length value); + public void setPositionType(facebook::yoga::PositionType value); +} + +class facebook::yoga::StyleLength { + public constexpr StyleLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength); + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleLength ofAuto(); + public static constexpr facebook::yoga::StyleLength percent(float value); + public static constexpr facebook::yoga::StyleLength points(float value); + public static constexpr facebook::yoga::StyleLength undefined(); +} + +class facebook::yoga::StyleSizeLength { + public constexpr StyleSizeLength() = default; + public constexpr bool inexactEquals(const facebook::yoga::StyleSizeLength& other) const; + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isFitContent() const; + public constexpr bool isMaxContent() const; + public constexpr bool isPercent() const; + public constexpr bool isPoints() const; + public constexpr bool isStretch() const; + public constexpr bool isUndefined() const; + public constexpr bool operator==(const facebook::yoga::StyleSizeLength& rhs) const; + public constexpr facebook::yoga::FloatOptional resolve(float referenceLength) const; + public constexpr facebook::yoga::FloatOptional value() const; + public constexpr operator YGValue() const; + public static constexpr facebook::yoga::StyleSizeLength ofAuto(); + public static constexpr facebook::yoga::StyleSizeLength ofFitContent(); + public static constexpr facebook::yoga::StyleSizeLength ofMaxContent(); + public static constexpr facebook::yoga::StyleSizeLength ofStretch(); + public static constexpr facebook::yoga::StyleSizeLength percent(float value); + public static constexpr facebook::yoga::StyleSizeLength points(float value); + public static constexpr facebook::yoga::StyleSizeLength stretch(float fraction); + public static constexpr facebook::yoga::StyleSizeLength undefined(); +} + +class facebook::yoga::StyleValueHandle { + public constexpr bool isAuto() const; + public constexpr bool isDefined() const; + public constexpr bool isPercent() const; + public constexpr bool isPoint() const; + public constexpr bool isUndefined() const; + public static constexpr facebook::yoga::StyleValueHandle ofAuto(); +} + +class facebook::yoga::StyleValuePool { + public facebook::yoga::FloatOptional getNumber(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleLength getLength(facebook::yoga::StyleValueHandle handle) const; + public facebook::yoga::StyleSizeLength getSize(facebook::yoga::StyleValueHandle handle) const; + public float getStoredValue(facebook::yoga::StyleValueHandle handle) const; + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::FloatOptional number); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleLength length); + public void store(facebook::yoga::StyleValueHandle& handle, facebook::yoga::StyleSizeLength sizeValue); +} + +enum facebook::yoga::Align : uint8_t { + Auto, + Baseline, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::BoxSizing : uint8_t { + BorderBox, + ContentBox, +} + +enum facebook::yoga::Dimension : uint8_t { + Height, + Width, +} + +enum facebook::yoga::Direction : uint8_t { + Inherit, + LTR, + RTL, +} + +enum facebook::yoga::Display : uint8_t { + Contents, + Flex, + Grid, + None, +} + +enum facebook::yoga::Edge : uint8_t { + All, + Bottom, + End, + Horizontal, + Left, + Right, + Start, + Top, + Vertical, +} + +enum facebook::yoga::Errata : uint32_t { + AbsolutePercentAgainstInnerSize, + AbsolutePositionWithoutInsetsExcludesPadding, + All, + Classic, + FlexFirstPassUsesRunningTotals, + MinSizeUndefinedInsteadOfAuto, + None, + StretchFlexBasis, +} + +enum facebook::yoga::FlexDirection : uint8_t { + Column, + ColumnReverse, + Row, + RowReverse, +} + +enum facebook::yoga::GridLineType : uint8_t { + Auto, + Integer, + Span, +} + +enum facebook::yoga::GridTrackType : uint8_t { + Auto, + Fr, + Minmax, + Percent, + Points, +} + +enum facebook::yoga::Gutter : uint8_t { + All, + Column, + Row, +} + +enum facebook::yoga::Justify : uint8_t { + Auto, + Center, + End, + FlexEnd, + FlexStart, + SpaceAround, + SpaceBetween, + SpaceEvenly, + Start, + Stretch, +} + +enum facebook::yoga::LayoutPassReason : int { + COUNT, + kAbsLayout, + kAbsMeasureChild, + kFlexLayout, + kFlexMeasure, + kGridLayout, + kInitial, + kMeasureChild, + kMultilineStretch, + kStretch, +} + +enum facebook::yoga::LayoutType : int { + kCachedLayout, + kCachedMeasure, + kLayout, + kMeasure, +} + +enum facebook::yoga::LogLevel : uint8_t { + Debug, + Error, + Fatal, + Info, + Verbose, + Warn, +} + +enum facebook::yoga::MeasureMode : uint8_t { + AtMost, + Exactly, + Undefined, +} + +enum facebook::yoga::NodeType : uint8_t { + Default, + Text, +} + +enum facebook::yoga::Overflow : uint8_t { + Hidden, + Scroll, + Visible, +} + +enum facebook::yoga::PhysicalEdge : uint32_t { + Bottom, + Left, + Right, + Top, +} + +enum facebook::yoga::PositionType : uint8_t { + Absolute, + Relative, + Static, +} + +enum facebook::yoga::SizingMode { + FitContent, + MaxContent, + StretchFit, +} + +enum facebook::yoga::Unit : uint8_t { + Auto, + FitContent, + MaxContent, + Percent, + Point, + Stretch, + Undefined, +} + +enum facebook::yoga::Wrap : uint8_t { + NoWrap, + Wrap, + WrapReverse, +} + +struct facebook::yoga::CachedMeasurement { + public bool operator==(facebook::yoga::CachedMeasurement measurement) const; + public facebook::yoga::SizingMode heightSizingMode; + public facebook::yoga::SizingMode widthSizingMode; + public float availableHeight; + public float availableWidth; + public float computedHeight; + public float computedWidth; +} + +struct facebook::yoga::Event { + public static void reset(); + public static void subscribe(std::function&& subscriber); + public using Subscriber = void(YGNodeConstRef, facebook::yoga::Event::Type, facebook::yoga::Event::Data); + public using Subscribers = std::vector>; + template + public static void publish(YGNodeConstRef node, const facebook::yoga::Event::TypedData& eventData = {}); +} + +class facebook::yoga::Event::Data { + template + public Data(const facebook::yoga::Event::TypedData& data); + template + public const facebook::yoga::Event::TypedData& get() const; +} + +enum facebook::yoga::Event::Type { + LayoutPassEnd, + LayoutPassStart, + MeasureCallbackEnd, + MeasureCallbackStart, + NodeAllocation, + NodeBaselineEnd, + NodeBaselineStart, + NodeDeallocation, + NodeLayout, +} + +template +struct facebook::yoga::Event::TypedData { +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutData* layoutData; +} + +struct facebook::yoga::Event::TypedData { + public YGMeasureMode heightMeasureMode; + public YGMeasureMode widthMeasureMode; + public const facebook::yoga::LayoutPassReason reason; + public float height; + public float measuredHeight; + public float measuredWidth; + public float width; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public YGConfigConstRef config; +} + +struct facebook::yoga::Event::TypedData { + public facebook::yoga::LayoutType layoutType; +} + +struct facebook::yoga::FlexLine { + public const float sizeConsumed; + public const size_t numberOfAutoMargins; + public const std::vector itemsInFlow; + public facebook::yoga::FlexLineRunningLayout layout; +} + +struct facebook::yoga::FlexLineRunningLayout { + public float crossDim; + public float mainDim; + public float remainingFreeSpace; + public float totalFlexGrowFactors; + public float totalFlexShrinkScaledFactors; +} + +struct facebook::yoga::FloatOptional { + public constexpr FloatOptional() = default; + public constexpr FloatOptional(float value); + public constexpr bool isDefined() const; + public constexpr bool isUndefined() const; + public constexpr float unwrap() const; + public constexpr float unwrapOrDefault(float defaultValue) const; +} + +struct facebook::yoga::GridLine { + public bool operator==(const facebook::yoga::GridLine& other) const = default; + public constexpr bool isAuto() const; + public constexpr bool isInteger() const; + public constexpr bool isSpan() const; + public facebook::yoga::GridLineType type; + public int32_t integer; + public static constexpr facebook::yoga::GridLine auto_(); + public static constexpr facebook::yoga::GridLine fromInteger(int32_t value); + public static constexpr facebook::yoga::GridLine span(int32_t value); +} + +struct facebook::yoga::GridStyle { + public bool operator==(const facebook::yoga::GridStyle& other) const = default; + public facebook::yoga::GridLine columnEnd; + public facebook::yoga::GridLine columnStart; + public facebook::yoga::GridLine rowEnd; + public facebook::yoga::GridLine rowStart; + public facebook::yoga::GridTrackList autoColumns; + public facebook::yoga::GridTrackList autoRows; + public facebook::yoga::GridTrackList templateColumns; + public facebook::yoga::GridTrackList templateRows; +} + +struct facebook::yoga::GridTrackSize { + public bool infinitelyGrowable; + public bool operator==(const facebook::yoga::GridTrackSize& other) const = default; + public facebook::yoga::StyleSizeLength maxSizingFunction; + public facebook::yoga::StyleSizeLength minSizingFunction; + public float baseSize; + public float growthLimit; + public static constexpr facebook::yoga::GridTrackSize auto_(); + public static constexpr facebook::yoga::GridTrackSize fr(float fraction); + public static constexpr facebook::yoga::GridTrackSize length(float points); + public static constexpr facebook::yoga::GridTrackSize minmax(facebook::yoga::StyleSizeLength min, facebook::yoga::StyleSizeLength max); + public static constexpr facebook::yoga::GridTrackSize percent(float percentage); +} + +struct facebook::yoga::LayoutData { + public int cachedLayouts; + public int cachedMeasures; + public int layouts; + public int measureCallbacks; + public int measures; + public std::array(facebook::yoga::LayoutPassReason::COUNT)> measureCallbackReasonsCount; + public uint32_t maxMeasureCache; +} + +struct facebook::yoga::LayoutResults { + public bool hadOverflow() const; + public bool operator==(facebook::yoga::LayoutResults layout) const; + public facebook::yoga::CachedMeasurement cachedLayout; + public facebook::yoga::Direction direction() const; + public facebook::yoga::Direction lastOwnerDirection; + public facebook::yoga::FloatOptional computedAutoMinMainSize; + public facebook::yoga::FloatOptional computedFlexBasis; + public float border(facebook::yoga::PhysicalEdge physicalEdge) const; + public float dimension(facebook::yoga::Dimension axis) const; + public float margin(facebook::yoga::PhysicalEdge physicalEdge) const; + public float measuredDimension(facebook::yoga::Dimension axis) const; + public float padding(facebook::yoga::PhysicalEdge physicalEdge) const; + public float position(facebook::yoga::PhysicalEdge physicalEdge) const; + public float rawDimension(facebook::yoga::Dimension axis) const; + public static constexpr int32_t MaxCachedMeasurements; + public std::array cachedMeasurements; + public uint32_t computedFlexBasisGeneration; + public uint32_t configVersion; + public uint32_t generationCount; + public uint32_t nextCachedMeasurementsIndex; + public void setBorder(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setDimension(facebook::yoga::Dimension axis, float dimension); + public void setDirection(facebook::yoga::Direction direction); + public void setHadOverflow(bool hadOverflow); + public void setMargin(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setMeasuredDimension(facebook::yoga::Dimension axis, float dimension); + public void setPadding(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setPosition(facebook::yoga::PhysicalEdge physicalEdge, float dimension); + public void setRawDimension(facebook::yoga::Dimension axis, float dimension); +} + +template +class facebook::yoga::SmallValueBuffer { + public SmallValueBuffer() = default; + public SmallValueBuffer(const facebook::yoga::SmallValueBuffer& other); + public SmallValueBuffer(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public facebook::yoga::SmallValueBuffer& operator=(const facebook::yoga::SmallValueBuffer& other); + public facebook::yoga::SmallValueBuffer& operator=(facebook::yoga::SmallValueBuffer&& other) noexcept = default; + public uint16_t push(uint32_t value); + public uint16_t push(uint64_t value); + public uint16_t replace(uint16_t index, uint32_t value); + public uint16_t replace(uint16_t index, uint64_t value); + public uint32_t get32(uint16_t index) const; + public uint64_t get64(uint16_t index) const; +} + +template +class facebook::yoga::LayoutableChildren { + public LayoutableChildren(const T* node); + public facebook::yoga::LayoutableChildren::Iterator begin() const; + public facebook::yoga::LayoutableChildren::Iterator end() const; +} + +struct facebook::yoga::LayoutableChildren::Iterator { + public Iterator() = default; + public Iterator(const T* node, size_t childIndex); + public T* operator*() const; + public facebook::yoga::LayoutableChildren::Iterator operator++(int); + public facebook::yoga::LayoutableChildren::Iterator& operator++(); + public using difference_type = std::ptrdiff_t; + public using iterator_category = std::input_iterator_tag; + public using pointer = T*; + public using reference = T*; + public using value_type = T*; +} + + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString& attributedString) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Point& point) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Rect& rect) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::ShadowView& shadowView) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::SharedColor& color) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Size& size) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextEffectInfo& info) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::Transform& transform) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleCorners& corners) const noexcept; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; +} + +struct std::hash { + public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; +} + +struct std::hash { + public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; +} + +template +struct std::hash> { + public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +} \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api index 55d897711b2b..05433e06a97a 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonNewarchCxx.api @@ -17,86 +17,6 @@ struct YGValue { } -bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); -double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); -int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); -std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); - -class facebook::xplat::JsArgumentException : public std::logic_error { - public JsArgumentException(const std::string& msg); -} - - -class facebook::xplat::module::CxxModule { - public static constexpr AsyncTagType AsyncTag; - public static constexpr SyncTagType SyncTag; - public std::weak_ptr getInstance(); - public using Callback = std::function)>; - public using Provider = std::function()>; - public virtual std::map getConstants(); - public virtual std::string getName() = 0; - public virtual std::vector getMethods() = 0; - public virtual ~CxxModule() = default; - public void setInstance(std::weak_ptr instance); -} - -struct facebook::xplat::module::CxxModule::Method { - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc, AsyncTagType); - public bool isPromise; - public const char* getType(); - public size_t callbacks; - public std::function syncFunc; - public std::function func; - public std::string name; - template - public Method(std::string aname, T* t, void(T::*method)()); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); -} - - -std::string facebook::xplat::detail::toStringHelper(); -template -R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); -template -std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); -template -std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); - -template -struct facebook::xplat::detail::is_dynamic { - public using type = typename std::enable_if::value, T>::type; -} - - class facebook::hermes::IHermes : public facebook::jsi::ICast { protected ~IHermes() = default; public static constexpr facebook::jsi::UUID uuid; @@ -151,66 +71,16 @@ struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { } -const char facebook::react::AndroidProgressBarComponentName[]; -const char facebook::react::AndroidSwitchComponentName[]; -const char facebook::react::AppleSwitchComponentName[]; -const char facebook::react::ImageComponentName[]; -const char facebook::react::ImageManagerKey[]; -const char facebook::react::InputAccessoryComponentName[]; -const char facebook::react::LegacyViewManagerAndroidInteropComponentName[]; -const char facebook::react::LegacyViewManagerInteropComponentName[]; -const char facebook::react::ModalHostViewComponentName[]; -const char facebook::react::ParagraphComponentName[]; -const char facebook::react::RawTextComponentName[]; -const char facebook::react::RootComponentName[]; -const char facebook::react::RuntimeSchedulerKey[]; -const char facebook::react::SafeAreaViewComponentName[]; -const char facebook::react::ScrollViewComponentName[]; -const char facebook::react::TextComponentName[]; -const char facebook::react::TextEffectComponentName[]; -const char facebook::react::UnimplementedViewComponentName[]; const char facebook::react::ViewComponentName[]; const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; -constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; -constexpr char facebook::react::VirtualViewComponentName[]; -constexpr char* const facebook::react::TextLayoutManagerKey; -constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; -constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; constexpr facebook::react::Tag facebook::react::kNoTag; -constexpr float facebook::react::kDefaultEpsilon; -constexpr size_t facebook::react::EVENT_BUFFER_SIZE; -constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; -constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; static constexpr auto facebook::react::kPropNameLengthHardCap; -static constexpr double facebook::react::SingleFrameIntervalMs; -static constexpr double facebook::react::TicksPerMs; static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; -static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; -static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; -static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; -template -using facebook::react::CSSCompoundDataType = std::variant; -template -using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; -template -using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; -template -using facebook::react::EventListenerT = std::function; -typedef std::function facebook::react::ValueListenerCallback; -typedef std::tuple facebook::react::RectAsTuple; -using facebook::react::ActivePointerRegistry = std::unordered_map; -using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; -using facebook::react::AnimationTimestamp = std::chrono::duration; -using facebook::react::BackgroundExecutor = std::function&& callback)>; using facebook::react::BackgroundImage = std::variant; using facebook::react::BackgroundSize = std::variant; using facebook::react::BorderColors = facebook::react::RectangleEdges; @@ -218,22 +88,7 @@ using facebook::react::BorderCurves = facebook::react::RectangleCorners; using facebook::react::BorderStyles = facebook::react::RectangleEdges; using facebook::react::BorderWidths = facebook::react::RectangleEdges; -using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSPreservedToken = facebook::react::CSSToken; -using facebook::react::CSSRadialGradientSize = std::variant; -using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; using facebook::react::CallFunc = std::function; -using facebook::react::Callback = std::function; -using facebook::react::CallbackHandle = facebook::jsi::Object; -using facebook::react::CallbackId = uint64_t; -using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; @@ -243,172 +98,46 @@ using facebook::react::ComponentDescriptorConstructor = facebook::react::Compone using facebook::react::ComponentDescriptorProviderRequest = std::function; using facebook::react::ComponentHandle = int64_t; using facebook::react::ComponentName = const char*; -using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; using facebook::react::CornerInsets = facebook::react::RectangleCorners; -using facebook::react::DispatchEvent = std::function; using facebook::react::EdgeInsets = facebook::react::RectangleEdges; -using facebook::react::EndResult = NativeAnimatedTurboModuleEndResult, std::optional>; -using facebook::react::EventEmitterListener = facebook::react::EventListenerT; -using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; using facebook::react::EventListener = std::function; using facebook::react::EventPipe = std::function; using facebook::react::EventPipeConclusion = std::function; using facebook::react::EventTag = unsigned int; -using facebook::react::GarbageCollectionTrigger = std::function; using facebook::react::GradientDirection = std::variant; -using facebook::react::HasComponentProviderFunctionType = std::function; -using facebook::react::Headers = std::map; using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; using facebook::react::ImageSources = std::vector; -using facebook::react::InteractionTypesMap = std::unordered_map; -using facebook::react::IntersectionObserverObserverId = int32_t; -using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::LegacyViewManagerAndroidInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::LinesMeasurements = std::vector; -using facebook::react::Logger = std::function; -using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MethodCallResult = std::optional; -using facebook::react::MountingTransactionCallback = std::function; -using facebook::react::MutationObserverId = int32_t; -using facebook::react::NativeIntersectionObserverEntry = NativeIntersectionObserverNativeIntersectionObserverEntry; -using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; -using facebook::react::NativeIntersectionObserverObserveOptions = NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; using facebook::react::NativeMethodCallFunc = std::function; -using facebook::react::NativeMutationObserverObserveOptions = NativeMutationObserverNativeMutationObserverObserveOptions, bool>; -using facebook::react::NativeMutationRecord = NativeMutationObserverNativeMutationRecord, std::vector>; -using facebook::react::NativePartialReloadAndProfileConfig = NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; -using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; -using facebook::react::NativePerformancePerformanceObserverObserveOptions = NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; -using facebook::react::NativeReloadAndProfileConfig = NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; -using facebook::react::NativeRequestIdleCallbackOptions = NativeIdleCallbacksRequestIdleCallbackOptions>; -using facebook::react::NativeResizeObserverEntry = NativeResizeObserverNativeResizeObserverEntry; -using facebook::react::NativeResizeObserverNotifyCallback = facebook::react::SyncCallback; -using facebook::react::NativeResizeObserverObserveOptions = NativeResizeObserverNativeResizeObserverObserveOptions, std::optional>; -using facebook::react::OnMutations = std::function&)>; -using facebook::react::ParagraphProps = HostPlatformParagraphProps; -using facebook::react::PerformanceEntry = std::variant; -using facebook::react::PerformanceEntryInteractionId = uint32_t; -using facebook::react::PerformanceObserverCallback = std::function; -using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; -using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; -using facebook::react::PointerIdentifier = int32_t; using facebook::react::PromiseSetupFunctionType = std::function)>; -using facebook::react::RawCallback = std::function; using facebook::react::RawPropsPropNameHash = uint32_t; using facebook::react::RawPropsPropNameLength = uint16_t; using facebook::react::RawPropsValueIndex = uint16_t; -using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ResizeObserverObserverId = int32_t; -using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::RuntimeExecutor = std::function&& callback)>; -using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; -using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; -using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ScrollViewProps = HostPlatformScrollViewProps; -using facebook::react::ShadowTreeCommitTransaction = std::function; -using facebook::react::ShadowViewMutationList = std::vector; using facebook::react::SharedComponentDescriptor = std::shared_ptr; using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; using facebook::react::SharedEventEmitter = std::shared_ptr; using facebook::react::SharedEventPayload = std::shared_ptr; using facebook::react::SharedEventTarget = std::shared_ptr; -using facebook::react::SharedParagraphAttributes = std::shared_ptr; -using facebook::react::SharedRawTextProps = std::shared_ptr; -using facebook::react::SharedScrollViewProps = std::shared_ptr; using facebook::react::SharedShadowNodeFamily = std::shared_ptr; -using facebook::react::SharedTextAttributes = std::shared_ptr; using facebook::react::SharedTouchEventEmitter = std::shared_ptr; using facebook::react::SharedViewEventEmitter = std::shared_ptr; using facebook::react::SharedViewProps = std::shared_ptr; -using facebook::react::SizeAsTuple = std::tuple; -using facebook::react::SnapshotMap = std::unordered_map>; using facebook::react::StatePipe = std::function; using facebook::react::SurfaceId = int32_t; using facebook::react::Tag = int32_t; using facebook::react::TelemetryClock = std::chrono::steady_clock; using facebook::react::TelemetryDuration = std::chrono::nanoseconds; using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; -using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; -using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); -using facebook::react::TimerHandle = int; -using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; using facebook::react::Touch = facebook::react::HostPlatformTouch; using facebook::react::Touches = std::unordered_set; -using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; -using facebook::react::UiTask = std::function; -using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::UserTimingDetailProvider = std::function; using facebook::react::ValueFactory = std::function; using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; -using facebook::react::ViewNodePairScope = std::deque; using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; using facebook::react::ViewShadowNodeProps = facebook::react::ViewProps; -using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); -template -concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; -template -concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && - ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; -template -concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { - { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { - { T::consume(parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { - { T::consumePreservedToken(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { - { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && - !CSSParserSink) || -CSSParserSink; -template -concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& - (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); -template -concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(func, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { - { visitor(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(block, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; -template -concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; -template -concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; -template -concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; -template -concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; template concept facebook::react::DeclaresOwnSetProp = std::is_same_v; template @@ -426,165 +155,66 @@ template concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { { T::filterRawProps(rawProps) } -> std::same_as; }; -template -concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( - TextLayoutManagerT textLayoutManager, - facebook::react::AttributedString attributedString, - facebook::react::ParagraphAttributes paragraphAttributes, - facebook::react::TextLayoutContext layoutContext, - facebook::react::LayoutConstraints layoutConstraints, - typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { - sizeof(typename TextLayoutManagerT::PreparedTextLayout); - { - textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) - } -> std::same_as; - { - textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) - } -> std::same_as; -}; Float facebook::react::floatFromYogaFloat(float value); Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); -bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); -bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); bool facebook::react::areBorderRadiiCircular(const facebook::react::BorderRadii& borderRadii); -bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); -bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); bool facebook::react::isZero(Float n); const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); -const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); -const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); constexpr auto facebook::react::to_underlying(auto e) noexcept; -constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); constexpr char facebook::react::toLower(char c); -constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); -constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); -constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); -double facebook::react::ceil(double value) noexcept; -double facebook::react::floor(double value) noexcept; -double facebook::react::getCPUTimeNanos(); -double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); -double facebook::react::round(double value) noexcept; facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); -facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); -facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); -facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); -facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); -facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); facebook::react::SharedColor facebook::react::blackColor(); facebook::react::SharedColor facebook::react::clearColor(); -facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); facebook::react::SharedColor facebook::react::whiteColor(); -facebook::react::Size facebook::react::ModalHostViewScreenSize(void); facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); facebook::react::ValueUnit facebook::react::toValueUnit(const facebook::react::RawValue& value); facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value); facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(Float value); -float facebook::react::ceil(float value) noexcept; -float facebook::react::floor(float value) noexcept; -float facebook::react::round(float value) noexcept; float facebook::react::yogaFloatFromFloat(Float value); folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); -folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); int facebook::react::toInt(const facebook::react::DisplayType& displayType); int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); -long double facebook::react::ceil(long double value) noexcept; -long double facebook::react::floor(long double value) noexcept; -long double facebook::react::round(long double value) noexcept; -size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); -std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); std::optional facebook::react::blendModeFromString(std::string_view blendModeName); std::optional facebook::react::filterTypeFromString(std::string_view filterName); -std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); std::optional facebook::react::isolationFromString(std::string_view isolationSetting); -std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); -std::string facebook::react::base64Encode(const std::string_view s); -std::string facebook::react::componentNameByReactViewName(std::string viewName); -std::string facebook::react::generateRandomUuidString(); std::string facebook::react::toString(const double& value); std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); -std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); std::string facebook::react::toString(const facebook::react::DisplayType& displayType); -std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); -std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); std::string facebook::react::toString(const facebook::react::FilterType& filterType); -std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); -std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); -std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); -std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); std::string facebook::react::toString(const facebook::react::ImageSource& value); std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); -std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); -std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); std::string facebook::react::toString(const facebook::react::Role& role); -std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); std::string facebook::react::toString(const facebook::react::SharedColor& value); -std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); -std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); -std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); -std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); -std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); -std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); -std::string facebook::react::toString(const facebook::react::TextWidthMode& textWidthMode); -std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); std::string facebook::react::toString(double doubleValue, char suffix); std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); std::string facebook::react::toString(facebook::react::PointerEventsMode value); -std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); -std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); -std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); -template -constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); -template -constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); -template -Float facebook::react::roundToPixel(Float value, Float scaleFactor); -template -facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, Float scaleFactor); -template -facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, Float scaleFactor); -template -facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, Float scaleFactor); template std::size_t facebook::react::hash_combine(const T& v, const Args &... args); template void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); template void facebook::react::hash_combine_optionals(std::size_t& seed, const std::optional &... optionals); -template ::type> -facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); -template -constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); -template -constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); template constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; template @@ -596,12 +226,6 @@ DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); template T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue); template -T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); -template -T facebook::react::get(const std::unique_ptr& animatedProp); -template -bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); -template void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); template void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::optional& result); @@ -617,11 +241,6 @@ uint8_t facebook::react::alphaFromColor(facebook::react::SharedColor color) noex uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexcept; uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; -void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); -void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); -void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); -void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); -void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityAction& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLabelledBy& result); @@ -629,36 +248,17 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); @@ -669,9 +269,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); @@ -680,12 +277,8 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageSource& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); @@ -694,32 +287,16 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); -void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); -void facebook::react::handleJSError(facebook::jsi::Runtime& runtime, const facebook::jsi::JSError& error, bool isFatal); -void facebook::react::mergeAnimatedRawProps(folly::dynamic& target, const folly::dynamic& source); -void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); -void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); -void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); -void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); -void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); -bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); -bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); -bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); -bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; -bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); constexpr enum facebook::react::AccessibilityTraits facebook::react::operator&(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); @@ -768,183 +345,6 @@ class facebook::react::AccessibilityProps { public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::AndroidProgressBarComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public AndroidProgressBarComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::AndroidProgressBarMeasurementsManager { - public AndroidProgressBarMeasurementsManager(const std::shared_ptr& contextContainer); - public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, const AndroidProgressBarProps& props, facebook::react::LayoutConstraints layoutConstraints) const; -} - -class facebook::react::AndroidProgressBarShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidProgressBarShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidProgressBarShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public void setAndroidProgressBarMeasurementsManager(const std::shared_ptr& measurementsManager); -} - -class facebook::react::AndroidSwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public AndroidSwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::AndroidSwitchMeasurementsManager { - public AndroidSwitchMeasurementsManager(const std::shared_ptr& contextContainer); - public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, facebook::react::LayoutConstraints layoutConstraints) const; -} - -class facebook::react::AndroidSwitchShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidSwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidSwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public void setAndroidSwitchMeasurementsManager(const std::shared_ptr& measurementsManager); -} - -class facebook::react::AnimatedModule : public NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { - public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); - public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); - public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); - public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); - public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); - public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void finishOperationBatch(facebook::jsi::Runtime& rt); - public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); - public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); - public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); - public void removeListeners(facebook::jsi::Runtime& rt, int count); - public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); - public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); - public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); - public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void startOperationBatch(facebook::jsi::Runtime& rt); - public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); - public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); -} - -class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { - public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; -} - -class facebook::react::AnimatedNode { - protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); - protected facebook::react::AnimatedNodeType type_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag tag_; - protected std::unordered_set children_; - public AnimatedNode(const facebook::react::AnimatedNode&) = default; - public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; - public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); - public const folly::dynamic& getConfig() const noexcept; - public const std::unordered_set& getChildren() const noexcept; - public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; - public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; - public facebook::react::AnimatedNodeType type() const noexcept; - public facebook::react::Tag tag() const noexcept; - public int activeIncomingNodes; - public int bfsColor; - public static constexpr int INITIAL_BFS_COLOR; - public static std::optional getNodeTypeByName(const std::string& nodeTypeName); - public virtual void onAttachToNode(facebook::react::Tag); - public virtual void onDetachedFromNode(facebook::react::Tag); - public virtual void update(); - public virtual ~AnimatedNode() = default; - public void addChild(facebook::react::Tag tag); - public void removeChild(facebook::react::Tag tag); -} - -class facebook::react::AnimatedPropsRegistry { - public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); - public void clear(facebook::react::SurfaceId surfaceId); - public void clearOnSurfaceStop(facebook::react::SurfaceId surfaceId); - public void initializeSurface(facebook::react::SurfaceId surfaceId); - public void update(const std::vector& batches); -} - -class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { - public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); - public using PauseCallback = std::function; - public using ResumeCallback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) override; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; - public virtual void stop(facebook::react::CallbackId callbackId) override; - public virtual void trigger() override; - public void requestAsyncFlushForSurfaces(const std::set& surfaces); - public void synchronouslyUpdateProps(const std::unordered_map& updates); - public ~AnimationBackend() override; -} - -class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { - public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; -} - -class facebook::react::AnimationChoreographer { - public virtual facebook::react::AnimationTimestamp now() const; - public virtual void pause() = 0; - public virtual void resume() = 0; - public virtual ~AnimationChoreographer() = default; - public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; - public void setAnimationBackend(std::weak_ptr animationBackend); -} - -class facebook::react::AnimationDriver { - protected bool ignoreCompletedHandlers_; - protected bool isComplete_; - protected bool isStarted_; - protected double startFrameTimeMs_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag animatedValueTag_; - protected folly::dynamic config_; - protected int currentIteration_; - protected int id_; - protected int iterations_; - protected std::optional endCallback_; - protected virtual bool update(double, bool); - protected void markNodeUpdated(facebook::react::Tag tag); - public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); - public bool getIsComplete() const noexcept; - public facebook::react::Tag getAnimatedValueTag() const noexcept; - public int getId() const noexcept; - public static std::optional getDriverTypeByName(const std::string& driverTypeName); - public virtual void updateConfig(folly::dynamic config); - public virtual ~AnimationDriver() = default; - public void runAnimationStep(double renderingTime); - public void startAnimation(); - public void stopAnimation(bool ignoreCompletedHandlers = false); -} - -class facebook::react::AppRegistryBinding { - public AppRegistryBinding() = delete; - public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); -} - class facebook::react::AsyncArrayBuffer { public AsyncArrayBuffer(const facebook::react::AsyncArrayBuffer&) = delete; public AsyncArrayBuffer(facebook::react::AsyncArrayBuffer&&) noexcept = default; @@ -963,152 +363,6 @@ class facebook::react::AsyncArrayBuffer { public ~AsyncArrayBuffer() = default; } -class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { - public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; - public bool isContentEqual(const facebook::react::AttributedString& rhs) const; - public bool isEmpty() const; - public bool operator==(const facebook::react::AttributedString& rhs) const; - public const facebook::react::AttributedString::Fragments& getFragments() const; - public const facebook::react::TextAttributes& getBaseTextAttributes() const; - public facebook::react::AttributedString::Fragments& getFragments(); - public std::string getString() const; - public using Fragments = std::vector; - public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); - public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); - public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); -} - -class facebook::react::AttributedString::Fragment { - public bool isAttachment() const; - public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; - public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; - public facebook::react::ShadowView parentShadowView; - public facebook::react::TextAttributes textAttributes; - public static std::string AttachmentCharacter(); - public std::string string; -} - -class facebook::react::AttributedString::Range { - public int length; - public int location; -} - -class facebook::react::AttributedStringBox { - public AttributedStringBox(); - public AttributedStringBox(const facebook::react::AttributedString& value); - public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; - public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; - public AttributedStringBox(std::shared_ptr opaquePointer); - public const facebook::react::AttributedString& getValue() const; - public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; - public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; - public facebook::react::AttributedStringBox::Mode getMode() const; - public std::shared_ptr getOpaquePointer() const; -} - -enum facebook::react::AttributedStringBox::Mode { - OpaquePointer, - Value, -} - -class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseParagraphProps() = default; - public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool isSelectable; - public bool onTextLayout; - public facebook::react::ParagraphAttributes paragraphAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { - public BaseScrollViewProps() = default; - public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public Float decelerationRate; - public Float endDraggingSensitivityMultiplier; - public Float maximumZoomScale; - public Float minimumZoomScale; - public Float scrollEventThrottle; - public Float snapToInterval; - public Float zoomScale; - public bool alwaysBounceHorizontal; - public bool alwaysBounceVertical; - public bool automaticallyAdjustContentInsets; - public bool automaticallyAdjustKeyboardInsets; - public bool automaticallyAdjustsScrollIndicatorInsets; - public bool bounces; - public bool bouncesZoom; - public bool canCancelContentTouches; - public bool centerContent; - public bool directionalLockEnabled; - public bool disableIntervalMomentum; - public bool horizontal; - public bool isInvertedVirtualizedList; - public bool pagingEnabled; - public bool persistentScrollbar; - public bool pinchGestureEnabled; - public bool scrollEnabled; - public bool scrollToOverflowEnabled; - public bool scrollsToTop; - public bool showsHorizontalScrollIndicator; - public bool showsVerticalScrollIndicator; - public bool snapToEnd; - public bool snapToStart; - public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; - public facebook::react::EdgeInsets contentInset; - public facebook::react::EdgeInsets scrollIndicatorInsets; - public facebook::react::Point contentOffset; - public facebook::react::ScrollViewIndicatorStyle indicatorStyle; - public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; - public facebook::react::ScrollViewSnapToAlignment snapToAlignment; - public std::optional maintainVisibleContentPosition; - public std::vector snapToOffsets; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseTextInputProps() = default; - public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool autoFocus; - public bool disableKeyboardShortcuts; - public bool editable; - public bool multiline; - public bool readOnly; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::SharedColor cursorColor; - public facebook::react::SharedColor placeholderTextColor; - public facebook::react::SharedColor selectionColor; - public facebook::react::SharedColor selectionHandleColor; - public facebook::react::SharedColor underlineColorAndroid; - public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; - public facebook::react::SubmitBehavior submitBehavior; - public facebook::react::TextAttributes getEffectiveTextAttributes(Float fontSizeMultiplier) const; - public int maxLength; - public int mostRecentEventCount; - public std::optional> acceptDragAndDropTypes; - public std::string autoCapitalize; - public std::string defaultValue; - public std::string placeholder; - public std::string text; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextProps { - public BaseTextProps() = default; - public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::TextAttributes textAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextShadowNode { - public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); - public using Attachments = std::vector; -} - -class facebook::react::BaseTextShadowNode::Attachment { - public const facebook::react::ShadowNode* shadowNode; - public size_t fragmentIndex; -} - class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { public void onAccessibilityAction(const std::string& name) const; public void onAccessibilityEscape() const; @@ -1165,82 +419,6 @@ class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { - public BigStringBuffer(std::unique_ptr script); - public virtual const uint8_t* data() const override; - public virtual size_t size() const override; -} - -class facebook::react::BindingsInstaller { - public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); -} - -class facebook::react::BridgelessNativeMethodCallInvoker : public facebook::react::NativeMethodCallInvoker { - public BridgelessNativeMethodCallInvoker(std::shared_ptr messageQueueThread); - public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; - public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; -} - -class facebook::react::BufferedRuntimeExecutor : public std::enable_shared_from_this { - public BufferedRuntimeExecutor(facebook::react::BufferedRuntimeExecutor::Executor executor); - public facebook::react::RuntimeExecutor asRuntimeExecutor(); - public facebook::react::RuntimeExecutor asWeakRuntimeExecutor(); - public using Executor = std::function; - public using Work = std::function; - public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void execute(facebook::react::SchedulerPriority priority, facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void flush(); -} - -class facebook::react::CSSSyntaxParser { - public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; - public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; - public constexpr CSSSyntaxParser(std::string_view css); - public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); - public constexpr bool isFinished() const; - public constexpr const facebook::react::CSSToken& peek() const; - public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; - public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; - public constexpr void consumeWhitespace(); - template - public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); - template - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); -} - -class facebook::react::CSSToken { - public constexpr CSSToken(const facebook::react::CSSToken& other) = default; - public constexpr CSSToken(facebook::react::CSSToken&& other) = default; - public constexpr CSSToken(facebook::react::CSSTokenType type); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); - public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); - public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; - public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; - public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; - public constexpr facebook::react::CSSTokenType type() const; - public constexpr float numericValue() const; - public constexpr std::string_view stringValue() const; - public constexpr std::string_view unit() const; -} - -class facebook::react::CSSTokenizer { - public constexpr CSSTokenizer(std::string_view characters); - public constexpr facebook::react::CSSToken next(); -} - -class facebook::react::CSSValueParser { - public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; - public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); - public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; - public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); - public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); -} - class facebook::react::CallInvoker { public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; @@ -1250,13 +428,6 @@ class facebook::react::CallInvoker { public virtual ~CallInvoker() = default; } -class facebook::react::CallInvokerImpl : public facebook::react::CallInvoker { - public CallInvokerImpl(std::shared_ptr bufferedRuntimeExecutor, std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { public facebook::jsi::Function& callback() noexcept; public facebook::jsi::Runtime& runtime() noexcept; @@ -1266,32 +437,6 @@ class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject public void destroy(); } -class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; -} - -class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; -} - -class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { - public Color getColor(); - public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::ComponentBuilder { - public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; - public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; - public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); - public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; - public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; - template - public std::shared_ptr build(facebook::react::Element element) const; -} - class facebook::react::ComponentDescriptor { protected facebook::react::ComponentDescriptor::Flavor flavor_; protected facebook::react::EventDispatcher::Weak eventDispatcher_; @@ -1360,71 +505,12 @@ class facebook::react::ContextContainer { class facebook::react::DebugStringConvertible { } -class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::DevToolsRuntimeSettings { - public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; - public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; - public static facebook::react::DevToolsRuntimeSettings& getInstance(); - public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; - public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; - public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); - public ~DevToolsRuntimeSettings() = default; -} - -class facebook::react::DevToolsRuntimeSettingsModule : public NativeReactDevToolsRuntimeSettingsModuleCxxSpec { - public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); - public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); -} - -class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { - public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::ElementFragment { - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; - public facebook::react::ElementFragment::List children; - public facebook::react::ElementFragment::ReferenceCallback referenceCallback; - public facebook::react::ElementFragment::StateCallback stateCallback; - public facebook::react::Props::Shared props; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public using FinalizeCallback = std::function; - public using List = std::vector; - public using ListOfShared = std::vector; - public using ReferenceCallback = std::function& shadowNode)>; - public using Shared = std::shared_ptr; - public using StateCallback = std::function; -} - class facebook::react::Error { public Error(const char* message); public Error(std::string message); public const std::string& message() const; } -class facebook::react::EventAnimationDriver { - protected const facebook::react::Tag animatedValueTag_; - protected std::vector eventPath_; - public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); - public facebook::react::Tag getAnimatedNodeTag() const; - public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); - public ~EventAnimationDriver() = default; -} - class facebook::react::EventBeat { protected facebook::react::EventBeat::BeatCallback beatCallback_; protected mutable std::atomic isEventBeatRequested_; @@ -1495,15 +581,6 @@ class facebook::react::EventLogger { public virtual ~EventLogger() = default; } -class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { - public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); - public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; - public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; -} - class facebook::react::EventQueue { protected const std::unique_ptr eventBeat_; protected facebook::react::EventQueueProcessor eventProcessor_; @@ -1552,45 +629,6 @@ class facebook::react::EventTarget { public void setEnabled(bool enabled); } -class facebook::react::ExecutorDelegate { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; - public virtual std::shared_ptr getModuleRegistry() = 0; - public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; - public virtual ~ExecutorDelegate() = default; -} - -class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - protected virtual void updateConfig(folly::dynamic config) override; - public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::FuseboxTracer { - public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; - public bool isTracing(); - public bool startTracing(); - public bool stopTracing(const std::function& resultCallback); - public bool stopTracingAndWriteToFile(const std::string& path); - public static facebook::react::FuseboxTracer& getFuseboxTracer(); - public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); -} - -class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { - public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; -} - -class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { - public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; - public void setDebuggerName(const std::string& debuggerName); - public void setEnableDebugger(bool enableDebugger); -} - -class facebook::react::HermesInstance { - public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; -} - class facebook::react::HighResDuration { public constexpr HighResDuration(); public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; @@ -1660,26 +698,12 @@ class facebook::react::IAsyncEventEmitter { public virtual ~IAsyncEventEmitter() noexcept = default; } -class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ImageErrorInfo { public int responseCode; public std::string error; public std::vector> httpResponseHeaders; } -class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onError(const facebook::react::ImageErrorInfo& error) const; - public void onLoad(const facebook::react::ImageSource& source) const; - public void onLoadEnd() const; - public void onLoadStart() const; - public void onPartialLoad() const; - public void onProgress(double progress, int64_t loaded, int64_t total) const; -} - class facebook::react::ImageLoadError { public ImageLoadError(std::shared_ptr error); public std::shared_ptr getError() const; @@ -1691,25 +715,6 @@ class facebook::react::ImageManager { public virtual ~ImageManager(); } -class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { - public Float blurRadius; - public Float resizeMultiplier; - public ImageProps() = default; - public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool shouldNotifyLoadEvents; - public facebook::react::EdgeInsets capInsets; - public facebook::react::ImageResizeMode resizeMode; - public facebook::react::ImageSource defaultSource; - public facebook::react::ImageSource loadingIndicatorSource; - public facebook::react::ImageSources sources; - public facebook::react::SharedColor overlayColor; - public std::optional fadeDuration; - public std::optional progressiveRenderingEnabled; - public std::optional tintColor; - public std::string resizeMethod; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - class facebook::react::ImageRequest { public ImageRequest(const facebook::react::ImageRequest& other) = delete; public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; @@ -1753,15 +758,6 @@ class facebook::react::ImageResponseObserverCoordinator { public void removeObserver(const std::shared_ptr& observer) const; } -class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { - public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setImageManager(const std::shared_ptr& imageManager); -} - class facebook::react::ImageSource { public Float scale; public bool operator==(const facebook::react::ImageSource& rhs) const; @@ -1788,36 +784,12 @@ enum facebook::react::ImageSource::Type { Remote, } -class facebook::react::ImageState { - public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const ImageRequestParams& imageRequestParams); - public const ImageRequestParams& getImageRequestParams() const; - public const facebook::react::ImageRequest& getImageRequest() const; - public facebook::react::ImageSource getImageSource() const; -} - class facebook::react::ImageTelemetry { public ImageTelemetry(const facebook::react::SurfaceId surfaceId); public facebook::react::SurfaceId getSurfaceId() const; public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; } -class facebook::react::InputAccessoryComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public InputAccessoryComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::InputAccessoryShadowNode : public facebook::react::ConcreteViewShadowNode { - public InputAccessoryShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public InputAccessoryShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::InputAccessoryState { - public InputAccessoryState(); - public InputAccessoryState(facebook::react::Size viewportSize_); - public const facebook::react::Size viewportSize; -} - class facebook::react::InstanceHandle { public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; @@ -1825,43 +797,6 @@ class facebook::react::InstanceHandle { public using Shared = std::shared_ptr; } -class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { - public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; - public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; - public virtual void update() override; -} - -class facebook::react::IntersectionObserver { - public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); - public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); - public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); - public std::vector getThresholds() const; -} - -class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public IntersectionObserverManager(); - public std::vector takeRecords(); - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); - public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); -} - -class facebook::react::IntersectionObserverState { - public bool isIntersecting() const; - public bool operator==(const facebook::react::IntersectionObserverState& other) const; - public static facebook::react::IntersectionObserverState Initial(); - public static facebook::react::IntersectionObserverState Intersecting(Float threshold); - public static facebook::react::IntersectionObserverState Intersecting(Float threshold, Float rootThreshold); - public static facebook::react::IntersectionObserverState NotIntersecting(); -} - class facebook::react::JSBigBufferString : public facebook::react::JSBigString { public JSBigBufferString(size_t size); public char* mutableData(); @@ -1901,126 +836,9 @@ class facebook::react::JSBigString : public facebook::jsi::Buffer { public ~JSBigString() override = default; } -class facebook::react::JSExecutor { - public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); - public virtual bool isInspectable(); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); - public virtual std::string getDescription() = 0; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; - public virtual void destroy(); - public virtual void flush(); - public virtual void handleMemoryPressure(int pressureLevel); - public virtual void initializeRuntime() = 0; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; - public virtual void* getJavaScriptContext(); - public virtual ~JSExecutor() = default; -} - -class facebook::react::JSExecutorFactory { - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; - public virtual ~JSExecutorFactory() = default; -} - -class facebook::react::JSIExecutor : public facebook::react::JSExecutor { - public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); - public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); - public using RuntimeInstaller = std::function; - public virtual bool isInspectable() override; - public virtual std::string getDescription() override; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; - public virtual void flush() override; - public virtual void handleMemoryPressure(int pressureLevel) override; - public virtual void initializeRuntime() override; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; - public virtual void* getJavaScriptContext() override; -} - -class facebook::react::JsErrorHandler { - public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); - public bool hasHandledFatalError(); - public bool inErrorHandler(); - public bool isRuntimeReady(); - public using OnJsError = std::function; - public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); - public void notifyOfFatalError(); - public void registerErrorListener(const std::function& listener); - public void setRuntimeReady(); - public ~JsErrorHandler(); -} - -struct facebook::react::JsErrorHandler::ProcessedError { - public bool isFatal; - public facebook::jsi::Object extraData; - public int id; - public std::optional componentStack; - public std::optional name; - public std::optional originalMessage; - public std::string message; - public std::vector stack; -} - -struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { - public std::optional column; - public std::optional lineNumber; - public std::optional file; - public std::string methodName; -} - -class facebook::react::LayoutAnimationCallbackWrapper { - public LayoutAnimationCallbackWrapper(); - public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); - public void call(facebook::jsi::Runtime& runtime) const; -} - -class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; - public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); -} - -class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { - protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected facebook::react::ShadowView createInterpolatedShadowView(Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; - protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; - protected mutable std::mutex currentAnimationMutex_; - protected mutable std::optional currentAnimation_; - protected mutable std::vector inflightAnimations_; - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; - protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; - protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; - public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); - public virtual bool shouldAnimateFrame() const override; - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; - public void setClockNow(std::function now); - public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; - public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; -} - -class facebook::react::LayoutAnimationStatusDelegate { - public virtual void onAllAnimationsComplete() = 0; - public virtual void onAnimationStarted() = 0; - public virtual ~LayoutAnimationStatusDelegate() = default; -} - class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { } -class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; -} - class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); @@ -2053,36 +871,6 @@ struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { public bool includeViewportOffset; } -class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { - public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); - public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); - public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; - public virtual void lockRevisions() override; - public virtual void unlockRevisions() override; -} - -class facebook::react::LeakChecker { - public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); - public void stopSurface(facebook::react::SurfaceId surfaceId); - public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; -} - -class facebook::react::LegacyViewManagerInteropState { - public std::shared_ptr coordinator; -} - -class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { - public LegacyViewManagerInteropViewProps() = default; - public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public const folly::dynamic otherProps; -} - -class facebook::react::LineMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::Size size; -} - class facebook::react::LongLivedObject { protected LongLivedObject(facebook::jsi::Runtime& runtime); protected facebook::jsi::Runtime& runtime_; @@ -2160,306 +948,12 @@ class facebook::react::MapBufferBuilder { public void putString(facebook::react::MapBuffer::Key key, const std::string& value); } -class facebook::react::MergedValueDispatcher { - public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); - public using DispatchFunction = std::function&&)>; - public using MergedValueFunction = std::function&& tagToProps)>; - public void dispatch(const std::unordered_map& value); -} - -class facebook::react::MessageQueueThread { - public virtual void quitSynchronous() = 0; - public virtual void runOnQueue(std::function&&) = 0; - public virtual void runOnQueueSync(std::function&&) = 0; - public virtual ~MessageQueueThread() = default; -} - -class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::ModalHostViewState { - public ModalHostViewState(); - public ModalHostViewState(facebook::react::Size screenSize_); - public const facebook::react::Size screenSize; - public using Shared = std::shared_ptr; -} - -class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { - public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MountingCoordinator { - public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); - public bool hasPendingTransactions() const; - public bool waitForTransaction(std::chrono::duration timeout) const; - public const facebook::react::TelemetryController& getTelemetryController() const; - public facebook::react::ShadowTreeRevision getBaseRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional pullTransaction(bool willPerformAsynchronously = false) const; - public void didPerformAsyncTransactions() const; - public void setMountingOverrideDelegate(std::weak_ptr delegate) const; -} - -class facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const = 0; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; - public virtual ~MountingOverrideDelegate() = default; -} - -class facebook::react::MountingTransaction { - public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; - public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; - public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); - public const facebook::react::ShadowViewMutationList& getMutations() const; - public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; - public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; - public facebook::react::MountingTransaction::Number getNumber() const; - public facebook::react::ShadowViewMutationList getMutations(); - public facebook::react::SurfaceId getSurfaceId() const; - public facebook::react::TransactionTelemetry& getTelemetry() const; - public using Number = int64_t; - public void mergeWith(facebook::react::MountingTransaction&& transaction); -} - -class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { - public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MutationObserver { - public MutationObserver(const facebook::react::MutationObserver&) = delete; - public MutationObserver(facebook::react::MutationObserver&&) = default; - public MutationObserver(facebook::react::MutationObserverId mutationObserverId); - public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; - public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; - public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); - public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; -} - -class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { - public MutationObserverManager(); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); - public void disconnect(facebook::react::UIManager& uiManager); - public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); - public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); -} - -class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { - public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; - public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; - public bool commitProps(); - public bool hasManagedProps() const noexcept; - public bool isOnRenderThread() const noexcept; - public bool useSharedAnimatedBackend() const noexcept; - public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); - public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); - public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; - public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; - public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; - public std::optional getValue(facebook::react::Tag tag) noexcept; - public std::shared_ptr getEventEmitterListener() noexcept; - public using DirectManipulationCallback = std::function; - public using FabricCommitCallback = std::function&)>; - public using FrameRateListenerCallback = std::function; - public using ResolvePlatformColor = std::function; - public using StartOnRenderCallback = std::function&&, bool isAsync)>; - public using StopOnRenderCallback = std::function; - public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; - public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; - public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void dropAnimatedNode(facebook::react::Tag tag) noexcept; - public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); - public void flattenAnimatedNodeOffset(facebook::react::Tag tag); - public void flushAnimatedNodesCreatedAsync() noexcept; - public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); - public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; - public void onRender(); - public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; - public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; - public void restoreDefaultValues(facebook::react::Tag tag) noexcept; - public void scheduleOnUI(facebook::react::UiTask&& task); - public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; - public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); - public void setAnimatedNodeValue(facebook::react::Tag tag, double value); - public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; - public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; - public void startRenderCallbackIfNeeded(bool isAsync); - public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; - public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; - public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; - public ~NativeAnimatedNodesManager() noexcept; - template >> - public T* getAnimatedNode(facebook::react::Tag tag) const; -} - -class facebook::react::NativeAnimatedNodesManagerProvider { - public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); - public std::shared_ptr getEventEmitterListener(); - public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); - public void addEventEmitterListener(const std::shared_ptr& listener); -} - -class facebook::react::NativeCPUTime : public NativeCPUTimeCxxSpec { - public NativeCPUTime(std::shared_ptr jsInvoker); - public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); - public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); -} - -class facebook::react::NativeDOM : public NativeDOMCxxSpec { - public NativeDOM(std::shared_ptr jsInvoker); - public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); - public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); - public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); - public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); - public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); - public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); - public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); - public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); - public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); -} - -class facebook::react::NativeIdleCallbacks : public NativeIdleCallbacksCxxSpec { - public NativeIdleCallbacks(std::shared_ptr jsInvoker); - public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); - public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); -} - -class facebook::react::NativeIntersectionObserver : public NativeIntersectionObserverCxxSpec { - public NativeIntersectionObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeMethodCallInvoker { public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept = 0; public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) = 0; public virtual ~NativeMethodCallInvoker() = default; } -class facebook::react::NativeMicrotasks : public NativeMicrotasksCxxSpec { - public NativeMicrotasks(std::shared_ptr jsInvoker); - public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); -} - -class facebook::react::NativeModulePerfLogger { - public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; - public virtual void asyncMethodCallBatchPreprocessStart() = 0; - public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; - public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual ~NativeModulePerfLogger() = default; -} - -class facebook::react::NativeMutationObserver : public NativeMutationObserverCxxSpec { - public NativeMutationObserver(std::shared_ptr jsInvoker); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); - public void disconnect(facebook::jsi::Runtime& runtime); - public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); - public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); -} - -class facebook::react::NativePerformance : public NativePerformanceCxxSpec { - public NativePerformance(std::shared_ptr jsInvoker); - public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); - public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); - public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); - public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); - public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); - public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); - public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); - public std::vector getEntries(facebook::jsi::Runtime& rt); - public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); - public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); - public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); - public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); - public std::vector> getEventCounts(facebook::jsi::Runtime& rt); - public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); - public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); - public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); - public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); - public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); -} - -class facebook::react::NativeResizeObserver : public NativeResizeObserverCxxSpec { - public NativeResizeObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeResizeObserverObserveOptions& options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::NativeResizeObserverNotifyCallback notifyResizeObserversFunction); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserve(facebook::jsi::Runtime& runtime, facebook::react::ResizeObserverObserverId resizeObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeViewTransition : public NativeViewTransitionCxxSpec { public NativeViewTransition(std::shared_ptr jsInvoker); public facebook::jsi::Value findPseudoElementShadowNodeByTag(facebook::jsi::Runtime& rt, double reactTag); @@ -2468,193 +962,6 @@ class facebook::react::NativeViewTransition : public NativeViewTransitionCxxSpec public void waitForTransitionAnimation(facebook::jsi::Runtime& rt, double animationId); } -class facebook::react::NetworkReporter { - public bool isDebuggingEnabled() const; - public static facebook::react::NetworkReporter& getInstance(); - public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); - public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); - public void reportRequestFailed(const std::string& requestId, bool cancelled) const; - public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); - public void reportResponseEnd(const std::string& requestId, int encodedDataLength); - public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); - public void reportWebSocketClosed(const std::string& requestId) const; - public void reportWebSocketCreated(const std::string& requestId, const std::string& url) const; - public void reportWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t statusCode, const facebook::react::Headers& headers) const; - public void reportWebSocketMessageReceived(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketMessageSent(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::Headers& headers) const; - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { - public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(std::string propKey, folly::dynamic& props); -} - -class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { - protected std::vector inputNodes_; - public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); -} - -class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { - public Float minimumFontScale; - public Float minimumFontSize; - public bool adjustsFontSizeToFit; - public bool includeFontPadding; - public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; - public facebook::react::EllipsizeMode ellipsizeMode; - public facebook::react::HyphenationFrequency android_hyphenationFrequency; - public facebook::react::TextBreakStrategy textBreakStrategy; - public facebook::react::TextWidthMode textWidthMode; - public int maximumNumberOfLines; - public std::optional textAlignVertical; -} - -class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; -} - -class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; - public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - -class facebook::react::ParagraphShadowNode::Content { - public facebook::react::AttributedString attributedString; - public facebook::react::BaseTextShadowNode::Attachments attachments; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::PerformanceEntryBuffer { - public PerformanceEntryBuffer() = default; - public facebook::react::HighResDuration durationThreshold; - public size_t droppedEntriesCount; - public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; - public virtual void clear() = 0; - public virtual void clear(const std::string& name) = 0; - public virtual void getEntries(std::vector& target) const = 0; - public virtual void getEntries(std::vector& target, const std::string& name) const = 0; - public virtual ~PerformanceEntryBuffer() = default; -} - -class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryCircularBuffer(size_t size); - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; - public ~PerformanceEntryCircularBuffer() override = default; -} - -class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryKeyedBuffer() = default; - public std::optional find(const std::string& name) const; - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; -} - -class facebook::react::PerformanceEntryReporter { - public PerformanceEntryReporter(); - public const std::unordered_map& getEventCounts() const; - public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); - public static std::shared_ptr& getInstance(); - public static std::vector getSupportedEntryTypes(); - public std::optional getMarkTime(const std::string& markName) const; - public std::vector getEntries() const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; - public using UserTimingDetailProvider = std::function; - public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void clearEntries(); - public void clearEntries(facebook::react::PerformanceEntryType entryType); - public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); - public void clearEventCounts(); - public void getEntries(std::vector& dest) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); - public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); - public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); -} - -class facebook::react::PerformanceEntryReporterEventListener { - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); - public virtual ~PerformanceEntryReporterEventListener() = default; -} - -class facebook::react::PerformanceObserver : public std::enable_shared_from_this { - public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public std::vector takeRecords(); - public uint32_t getDroppedEntriesCount() noexcept; - public void disconnect() noexcept; - public void handleEntry(const facebook::react::PerformanceEntry& entry); - public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); - public void observe(std::unordered_set types); - public ~PerformanceObserver() = default; -} - -class facebook::react::PerformanceObserverRegistry { - public PerformanceObserverRegistry() = default; - public void addObserver(std::shared_ptr observer); - public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); - public void removeObserver(std::shared_ptr observer); -} - -class facebook::react::PlatformTimerRegistry { - public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; - public virtual void createTimer(uint32_t timerID, double delayMS) = 0; - public virtual void deleteTimer(uint32_t timerID) = 0; - public virtual void quit(); - public virtual void setTimerManager(std::weak_ptr); - public virtual ~PlatformTimerRegistry() noexcept = default; -} - -class facebook::react::PointerEventsProcessor { - public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); - public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); - public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); -} - -class facebook::react::PointerHoverTracker { - public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); - public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; - public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; - public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; - public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; - public using EventPath = std::vector>; - public using Unique = std::unique_ptr; - public void markAsOld(); -} - -class facebook::react::PreparedTextCacheKey { - public Float pointScaleFactor; - public facebook::react::AttributedString attributedString; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { public Props() = default; public Props(const facebook::react::Props& other) = default; @@ -2666,21 +973,6 @@ class facebook::react::Props : public virtual facebook::react::Sealable, public public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { - public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::SurfaceId connectedRootTag() const; - public facebook::react::Tag connectedViewTag() const; - public folly::dynamic props(); - public virtual void update() override; - public void collectProps(); - public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); - public void connectToView(facebook::react::Tag viewTag); - public void disconnectFromShadowNodeFamily(); - public void disconnectFromView(facebook::react::Tag viewTag); - public void restoreDefaultValues(); - public void update(bool forceFabricCommit); -} - class facebook::react::RawProps { public RawProps(); public RawProps(const facebook::react::RawProps& other) noexcept; @@ -2719,15 +1011,6 @@ class facebook::react::RawPropsParser { public void prepare() noexcept; } -class facebook::react::RawTextProps : public facebook::react::Props { - public RawTextProps() = default; - public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public std::string text; -} - -class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { -} - class facebook::react::RawValue { public RawValue() noexcept; public RawValue(const folly::dynamic& dynamic) noexcept; @@ -2744,346 +1027,12 @@ class facebook::react::RawValue { public operator T() const; } -class facebook::react::ReactInstance { - public ReactInstance(const facebook::react::ReactInstance&) = delete; - public ReactInstance(facebook::react::ReactInstance&&) = delete; - public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); - public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; - public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; - public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; - public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; - public std::shared_ptr createJSCallInvoker() noexcept; - public std::shared_ptr getRuntimeScheduler() noexcept; - public using BindingsInstallFunc = std::function; - public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); - public void handleMemoryPressureJs(int pressureLevel); - public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; - public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); - public void registerSegment(uint32_t segmentId, const std::string& segmentPath); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~ReactInstance() noexcept override; -} - -struct facebook::react::ReactInstance::JSRuntimeFlags { - public bool isProfiling; - public const std::string runtimeDiagnosticFlags; -} - -class facebook::react::ReactPerfettoLogger { - public static bool isTracing(); - public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); - public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); -} - -class facebook::react::ResizeObserver { - public ResizeObserver(facebook::react::ResizeObserverObserverId resizeObserverId, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions, uint64_t observationSequence); - public bool hasDeliveredDetachedState() const; - public bool needsInitialDeliveryCheck() const; - public facebook::react::ResizeObservationResult computeActiveObservation(const facebook::react::RootShadowNode& rootShadowNode) const; - public facebook::react::ResizeObserverObserverId getResizeObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public uint64_t getObservationSequence() const; - public void markAsReported(const facebook::react::ResizeObservationResult& result); - public void updateDetachedState(bool detached); -} - -class facebook::react::ResizeObserverManager : public facebook::react::UIManagerCommitHook, public facebook::react::RuntimeSchedulerResizeObserverDelegate { - public ResizeObserverManager(); - public std::vector takeRecords(); - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyResizeObserversFunction); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions); - public void unobserve(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily); -} - -class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { - public RootProps() = default; - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; -} - -class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { - public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public bool layoutIfNeeded(std::vector* affectedNodes = {}); - public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using Shared = std::shared_ptr; - public using Unshared = std::shared_ptr; - public virtual facebook::react::Transform getTransform() const override; - public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; -} - -class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { - public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::RunLoopObserver { - protected const facebook::react::RunLoopObserver::Activity activities_; - protected const facebook::react::RunLoopObserver::WeakOwner owner_; - protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; - protected mutable std::atomic enabled_; - protected virtual void startObserving() const noexcept = 0; - protected virtual void stopObserving() const noexcept = 0; - protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; - public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; - public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; - public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; - public using Owner = std::shared_ptr; - public using WeakOwner = std::weak_ptr; - public virtual bool isOnRunLoopThread() const noexcept = 0; - public virtual ~RunLoopObserver() noexcept = default; - public void disable() const noexcept; - public void enable() const noexcept; - public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; -} - -class facebook::react::RunLoopObserver::Delegate { - public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; - public virtual ~Delegate() noexcept = default; -} - -enum facebook::react::RunLoopObserver::Activity : int32_t { - AfterWaiting, - BeforeWaiting, - None, -} - -class facebook::react::RuntimeScheduler : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; - public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); - public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; - public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; - public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeSchedulerBase : public facebook::hermes::IEventLoopControl { - public virtual bool getShouldYield() noexcept = 0; - public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; - public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; - public virtual void scheduleTask(const std::function& task) = 0; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) = 0; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; - public virtual ~RuntimeSchedulerBase() = default; -} - -class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { - public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); - public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public std::shared_ptr getRuntimeScheduler() noexcept; - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; -} - -class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { - public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - -class facebook::react::RuntimeSchedulerEventTimingDelegate { - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerEventTimingDelegate() = default; -} - -class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; -} - -class facebook::react::RuntimeSchedulerResizeObserverDelegate { - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) = 0; - public virtual ~RuntimeSchedulerResizeObserverDelegate() = default; -} - -class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; - public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { -} - -class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { -} - -class facebook::react::SafeAreaViewState { - public facebook::react::EdgeInsets padding; -} - -class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { - public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); - public facebook::react::SchedulerDelegate* getDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr getUIManager() const; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidClearPendingSnapshots() override; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) override; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; - public void addEventListener(std::shared_ptr listener); - public void animationTick() const; - public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void setDelegate(facebook::react::SchedulerDelegate* delegate); - public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public ~Scheduler() override; -} - -class facebook::react::SchedulerDelegate { - public virtual void schedulerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidClearPendingSnapshots() = 0; - public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; - public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void schedulerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~SchedulerDelegate() noexcept = default; -} - -class facebook::react::ScopedShadowTreeRevisionLock { - public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ~ScopedShadowTreeRevisionLock() noexcept; -} - -class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { - public using EndDragMetrics = facebook::react::ScrollEndDragEvent; - public using Metrics = facebook::react::ScrollEvent; - public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; - public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; - public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; -} - -class facebook::react::ScrollViewMaintainVisibleContentPosition { - public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; - public int minIndexForVisible; - public std::optional autoscrollToTopThreshold; -} - -class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); - public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; -} - -class facebook::react::ScrollViewState { - public ScrollViewState() = default; - public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); - public bool disableViewCulling; - public facebook::react::Point contentOffset; - public facebook::react::Rect contentBoundingRect; - public facebook::react::Size getContentSize() const; - public int scrollAwayPaddingTop; -} - class facebook::react::Sealable { public bool getSealed() const; public void ensureUnsealed() const; public void seal() const; } -class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { - public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static constexpr facebook::react::ComponentName Name(); - public static facebook::react::ComponentHandle Handle(); -} - class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { protected facebook::react::Props::Shared props_; protected facebook::react::ShadowNodeTraits traits_; @@ -3183,63 +1132,6 @@ enum facebook::react::ShadowNodeTraits::Trait : int32_t { ViewKind, } -class facebook::react::ShadowTree { - public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); - public bool promoteReactRevision() const; - public facebook::react::CommitMode getCommitMode() const; - public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::ShadowTreeRevision getCurrentRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional getCurrentReactRevision() const; - public std::shared_ptr getMountingCoordinator() const; - public using CommitMode = facebook::react::ShadowTreeCommitMode; - public using CommitOptions = facebook::react::ShadowTreeCommitOptions; - public using CommitSource = facebook::react::ShadowTreeCommitSource; - public using CommitStatus = facebook::react::ShadowTreeCommitStatus; - public using Unique = std::unique_ptr; - public void commitEmptyTree() const; - public void mergeReactRevision() const; - public void notifyDelegatesOfUpdates() const; - public void setCommitMode(facebook::react::CommitMode commitMode) const; - public ~ShadowTree(); -} - -class facebook::react::ShadowTreeDelegate { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) const; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; - public virtual ~ShadowTreeDelegate() noexcept = default; -} - -class facebook::react::ShadowTreeRegistry { - public ShadowTreeRegistry() = default; - public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; - public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; - public void add(std::unique_ptr&& shadowTree) const; - public void enumerate(const std::function& callback) const; - public ~ShadowTreeRegistry(); -} - -class facebook::react::ShadowTreeRevision { - public facebook::react::RootShadowNode::Shared rootShadowNode; - public facebook::react::ShadowTreeRevision::Number number; - public facebook::react::TransactionTelemetry telemetry; - public using Number = int64_t; -} - -class facebook::react::ShadowTreeRevisionConsistencyManager { - public virtual void lockRevisions() = 0; - public virtual void unlockRevisions() = 0; - public virtual ~ShadowTreeRevisionConsistencyManager() = default; -} - -class facebook::react::ShadowTreeRevisionProvider { - public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual ~ShadowTreeRevisionProvider() = default; -} - class facebook::react::SharedColor { public Color& operator*(); public SharedColor(); @@ -3251,15 +1143,6 @@ class facebook::react::SharedColor { public std::string toString() const noexcept; } -class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::StackTraceParser { - public static std::vector parse(bool isHermes, const std::string& stackString); -} - class facebook::react::State { protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); @@ -3283,234 +1166,6 @@ class facebook::react::StateUpdate { public using FailureCallback = std::function; } -class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { - public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool isLayoutStyleUpdated() const noexcept; - public void collectViewUpdates(folly::dynamic& props); -} - -class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::SurfaceHandler { - public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; - public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; - public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; - public facebook::react::DisplayMode getDisplayMode() const noexcept; - public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; - public facebook::react::LayoutContext getLayoutContext() const noexcept; - public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; - public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; - public facebook::react::SurfaceHandler::Status getStatus() const noexcept; - public facebook::react::SurfaceId getSurfaceId() const noexcept; - public folly::dynamic getProps() const noexcept; - public std::shared_ptr getMountingCoordinator() const noexcept; - public std::string getModuleName() const noexcept; - public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; - public virtual ~SurfaceHandler() noexcept; - public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public void setContextContainer(std::shared_ptr contextContainer) const noexcept; - public void setProps(const folly::dynamic& props) const noexcept; - public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; - public void start() const noexcept; - public void stop() const noexcept; -} - -enum facebook::react::SurfaceHandler::Status { - Registered, - Running, - Unregistered, -} - -class facebook::react::SurfaceManager { - public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; - public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; - public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; - public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; - public std::unordered_set getRunningSurfaces() const noexcept; - public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; - public void stopAllSurfaces() noexcept; - public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; - public ~SurfaceManager() noexcept; -} - -struct facebook::react::SurfaceManager::SurfaceProps { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; - public facebook::react::SurfaceId surfaceId; - public folly::dynamic props; - public std::string moduleName; -} - -class facebook::react::SurfaceTelemetry { - public facebook::react::TelemetryDuration getCommitTime() const; - public facebook::react::TelemetryDuration getDiffTime() const; - public facebook::react::TelemetryDuration getLayoutTime() const; - public facebook::react::TelemetryDuration getMountTime() const; - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public int getLastRevisionNumber() const; - public int getNumberOfMutations() const; - public int getNumberOfTextMeasurements() const; - public int getNumberOfTransactions() const; - public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; - public std::vector getRecentTransactionTelemetries() const; - public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); -} - -class facebook::react::SwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public SwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::SwitchShadowNode : public facebook::react::ConcreteViewShadowNode { - public SwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; -} - -class facebook::react::TaskPriorityComparer { - public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); -} - -class facebook::react::TelemetryController { - public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; -} - -class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { - public Float fontSize; - public Float fontSizeMultiplier; - public Float letterSpacing; - public Float lineHeight; - public Float maxFontSizeMultiplier; - public Float opacity; - public Float textShadowRadius; - public bool operator==(const facebook::react::TextAttributes& rhs) const; - public facebook::react::SharedColor backgroundColor; - public facebook::react::SharedColor foregroundColor; - public facebook::react::SharedColor textDecorationColor; - public facebook::react::SharedColor textShadowColor; - public static facebook::react::TextAttributes defaultTextAttributes(); - public std::optional allowFontScaling; - public std::optional isHighlighted; - public std::optional isPressable; - public std::optional accessibilityRole; - public std::optional dynamicTypeRamp; - public std::optional fontStyle; - public std::optional fontVariant; - public std::optional fontWeight; - public std::optional layoutDirection; - public std::optional lineBreakMode; - public std::optional lineBreakStrategy; - public std::optional role; - public std::optional textShadowOffset; - public std::optional alignment; - public std::optional textDecorationLineType; - public std::optional textDecorationStyle; - public std::optional textTransform; - public std::optional baseWritingDirection; - public std::optional fontVariationSettings; - public std::string fontFamily; - public std::vector textEffects; - public void apply(facebook::react::TextAttributes textAttributes); -} - -class facebook::react::TextEffectProps : public facebook::react::Props { - public TextEffectProps() = default; - public TextEffectProps(const facebook::react::PropsParserContext& context, const facebook::react::TextEffectProps& sourceProps, const facebook::react::RawProps& rawProps); - public folly::dynamic effectProps; - public std::string effectName; -} - -class facebook::react::TextEffectShadowNode : public facebook::react::ConcreteShadowNode { -} - -class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; - public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; -} - -struct facebook::react::TextInputEventEmitter::KeyPressMetrics { - public int eventCount; - public std::string text; -} - -struct facebook::react::TextInputEventEmitter::Metrics { - public Float zoomScale; - public bool responderIgnoreScroll; - public facebook::react::AttributedString::Range selectionRange; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public facebook::react::Size layoutMeasurement; - public facebook::react::Tag target; - public int eventCount; - public std::string text; -} - -class facebook::react::TextInputState { - public TextInputState() = default; - public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); - public facebook::react::AttributedString reactTreeAttributedString; - public facebook::react::AttributedStringBox attributedStringBox; - public facebook::react::ParagraphAttributes paragraphAttributes; - public int64_t mostRecentEventCount; -} - -class facebook::react::TextMeasureCacheKey { - public Float pointScaleFactor; - public facebook::react::AttributedString attributedString; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::TextMeasurement { - public facebook::react::Size size; - public facebook::react::TextMeasurement::Attachments attachments; - public using Attachments = std::vector; -} - -class facebook::react::TextMeasurement::Attachment { - public bool isClipped; - public facebook::react::Rect frame; -} - -class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { - public TextProps() = default; - public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::TimerManager { - public TimerManager(const facebook::react::TimerManager&) = delete; - public TimerManager(facebook::react::TimerManager&&) = delete; - public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; - public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; - public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; - public void attachGlobals(facebook::jsi::Runtime& runtime); - public void callTimer(facebook::react::TimerHandle handle); - public void quit(); - public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; - public ~TimerManager() noexcept; -} - class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); public void onClick(facebook::react::PointerEvent event) const; @@ -3530,48 +1185,6 @@ class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter public void onTouchStart(facebook::react::TouchEvent event) const; } -class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { - public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::TransactionTelemetry { - public TransactionTelemetry(); - public TransactionTelemetry(std::function now); - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public facebook::react::TelemetryTimePoint getCommitEndTime() const; - public facebook::react::TelemetryTimePoint getCommitStartTime() const; - public facebook::react::TelemetryTimePoint getDiffEndTime() const; - public facebook::react::TelemetryTimePoint getDiffStartTime() const; - public facebook::react::TelemetryTimePoint getLayoutEndTime() const; - public facebook::react::TelemetryTimePoint getLayoutStartTime() const; - public facebook::react::TelemetryTimePoint getMountEndTime() const; - public facebook::react::TelemetryTimePoint getMountStartTime() const; - public int getAffectedLayoutNodesCount() const; - public int getNumberOfTextMeasurements() const; - public int getRevisionNumber() const; - public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); - public void didCommit(); - public void didDiff(); - public void didLayout(); - public void didLayout(int affectedLayoutNodesCount); - public void didMeasureText(); - public void didMount(); - public void setAsThreadLocal(); - public void setRevisionNumber(int revisionNumber); - public void unsetAsThreadLocal(); - public void willCommit(); - public void willDiff(); - public void willLayout(); - public void willMeasureText(); - public void willMount(); -} - -class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { - public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(folly::dynamic& props); -} - class facebook::react::TurboModule : public facebook::jsi::HostObject { protected const std::string name_; protected std::shared_ptr jsInvoker_; @@ -3602,184 +1215,6 @@ class facebook::react::TurboModuleWithJSIBindings { public virtual ~TurboModuleWithJSIBindings() = default; } -class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { - public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); - public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; - public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; - public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; - public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); - public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); - public facebook::react::UIManagerDelegate* getDelegate(); - public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; - public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; - public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; - public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) const noexcept override; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; - public void addEventListener(std::shared_ptr listener); - public void addOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); - public void animationTick() const; - public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; - public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); - public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; - public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); - public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); - public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); - public void setDelegate(facebook::react::UIManagerDelegate* delegate); - public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; - public void setNativeAnimatedDelegate(std::weak_ptr delegate); - public void setSurfaceProps(facebook::react::SurfaceId surfaceId, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); - public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; - public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; - public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); - public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); - public void updateShadowTree(std::unordered_map&& tagToProps); - public void updateState(const facebook::react::StateUpdate& stateUpdate) const; - public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; - public ~UIManager() override; -} - -class facebook::react::UIManagerAnimationBackend { - public using Callback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) = 0; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; - public virtual void stop(facebook::react::CallbackId callbackId) = 0; - public virtual void trigger() = 0; - public virtual ~UIManagerAnimationBackend() = default; -} - -class facebook::react::UIManagerAnimationDelegate { - public virtual bool shouldAnimateFrame() const = 0; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; - public virtual ~UIManagerAnimationDelegate() = default; -} - -class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { - public UIManagerBinding(std::shared_ptr uiManager); - public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); - public facebook::react::UIManager& getUIManager(); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; - public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; - public void invalidate() const; - public ~UIManagerBinding() override; -} - -class facebook::react::UIManagerCommitHook { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) noexcept; - public virtual ~UIManagerCommitHook() noexcept = default; -} - -class facebook::react::UIManagerDelegate { - public using OnSurfaceStartCallback = std::function; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidClearPendingSnapshots() = 0; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~UIManagerDelegate() noexcept = default; -} - -class facebook::react::UIManagerMountHook { - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; - public virtual ~UIManagerMountHook() noexcept = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegate { - public virtual void runAnimationFrame() = 0; - public virtual ~UIManagerNativeAnimatedDelegate() = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { - public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); - public virtual void runAnimationFrame() override; -} - -class facebook::react::UIManagerViewTransitionDelegate { - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag) const; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); - public virtual void createViewTransitionInstance(const std::string&, facebook::react::Tag); - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); - public virtual void startViewTransitionEnd(); - public virtual void startViewTransitionReadyFinished(); - public virtual void suspendOnActiveViewTransition(); - public virtual void transitionAnimationFinished(int animationId); - public virtual void waitForTransitionAnimation(int animationId); - public virtual ~UIManagerViewTransitionDelegate() = default; -} - -struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { - public Float height; - public Float width; - public Float x; - public Float y; - public facebook::react::Tag nativeTag; -} - -class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::ComponentHandle getComponentHandle() const override; - public virtual facebook::react::ComponentName getComponentName() const override; - public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; -} - -class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { - public facebook::react::ComponentName getComponentName() const; - public void setComponentName(facebook::react::ComponentName componentName); -} - -class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { - protected bool isColorValue_; - public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool getIsColorValue() const noexcept; - public bool setOffset(double offset) noexcept; - public bool setRawValue(double value) noexcept; - public double getOffset() const noexcept; - public double getRawValue() const noexcept; - public double getValue() const noexcept; - public void extractOffset() noexcept; - public void flattenOffset() noexcept; - public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; -} - class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { public ValueFactoryEventPayload(facebook::react::ValueFactory factory); public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; @@ -3795,54 +1230,6 @@ class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShad public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); } -class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate, public facebook::react::UIManagerCommitHook, public facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const override; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag tag) const override; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void createViewTransitionInstance(const std::string& name, facebook::react::Tag pseudoElementTag) override; - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; - public virtual void startViewTransitionEnd() override; - public virtual void startViewTransitionReadyFinished() override; - public virtual void suspendOnActiveViewTransition() override; - public virtual void transitionAnimationFinished(int animationId) override; - public virtual void waitForTransitionAnimation(int animationId) override; - public void initialize(facebook::react::UIManager* uiManager, std::weak_ptr weakThis); - public ~ViewTransitionModule() override; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; - public uint32_t transitionId; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { - public Float pointScaleFactor; - public facebook::react::Point originFromRoot; - public facebook::react::Size size; -} - -class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::WeakFamilyRegistry { - public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; - public using WeakFamilies = std::vector; - public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; - public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; -} - class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { protected facebook::yoga::Config yogaConfig_; protected mutable facebook::yoga::Node yogaNode_; @@ -3961,54 +1348,6 @@ enum facebook::react::AccessibilityTraits : uint32_t { UpdatesFrequently, } -enum facebook::react::AnimatedNodeType { - Addition, - Color, - Diffclamp, - Division, - Interpolation, - Modulus, - Multiplication, - Object, - Props, - Round, - Style, - Subtraction, - Tracking, - Transform, - Value, -} - -enum facebook::react::AnimationConfigurationType { - Create, - Delete, - Update, -} - -enum facebook::react::AnimationDriverType { - Decay, - Frames, - Spring, -} - -enum facebook::react::AnimationProperty { - NotApplicable, - Opacity, - ScaleX, - ScaleXY, - ScaleY, -} - -enum facebook::react::AnimationType { - EaseIn, - EaseInEaseOut, - EaseOut, - Keyboard, - Linear, - None, - Spring, -} - enum facebook::react::BackfaceVisibility : uint8_t { Auto, Hidden, @@ -4058,294 +1397,11 @@ enum facebook::react::BorderStyle : uint8_t { Solid, } -enum facebook::react::CSSAngleUnit : uint8_t { - Deg, - Grad, - Rad, - Turn, -} - -enum facebook::react::CSSDelimiter { - Comma, - CommaOrWhitespace, - None, - OptionalWhitespace, - Solidus, - SolidusOrWhitespace, - Whitespace, -} - -enum facebook::react::CSSFontVariant : std::underlying_type_t { - CommonLigatures, - Contextual, - DiscretionaryLigatures, - HistoricalLigatures, - LiningNums, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { - At, -} - -enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { - Bottom, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { - To, -} - -enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { - Inset, -} - -enum facebook::react::CSSKeyword : uint8_t { - Absolute, - At, - Auto, - Baseline, - Block, - Bottom, - Center, - Clip, - Column, - ColumnReverse, - CommonLigatures, - Content, - Contents, - Contextual, - Dashed, - DiscretionaryLigatures, - Dotted, - Double, - End, - Fixed, - Flex, - FlexEnd, - FlexStart, - Grid, - Groove, - Hidden, - HistoricalLigatures, - Inherit, - Initial, - Inline, - InlineBlock, - InlineFlex, - InlineGrid, - Inset, - Left, - LiningNums, - Ltr, - MaxContent, - Medium, - MinContent, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - NoWrap, - None, - Normal, - OldstyleNums, - Outset, - ProportionalNums, - Relative, - Ridge, - Right, - Row, - RowReverse, - Rtl, - Scroll, - SmallCaps, - Solid, - SpaceAround, - SpaceBetween, - SpaceEvenly, - Start, - Static, - Sticky, - Stretch, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, - Thick, - Thin, - To, - Top, - Unset, - Visible, - Wrap, - WrapReverse, -} - -enum facebook::react::CSSLengthUnit : uint8_t { - Cap, - Ch, - Cm, - Dvb, - Dvh, - Dvi, - Dvmax, - Dvmin, - Dvw, - Em, - Ex, - Ic, - In, - Lh, - Lvb, - Lvh, - Lvi, - Lvmax, - Lvmin, - Lvw, - Mm, - Pc, - Pt, - Px, - Q, - Rcap, - Rch, - Rem, - Rex, - Ric, - Rlh, - Svb, - Svh, - Svi, - Svmax, - Svmin, - Svw, - Vb, - Vh, - Vi, - Vmax, - Vmin, - Vw, -} - -enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { - ToBottomLeft, - ToBottomRight, - ToTopLeft, - ToTopRight, -} - -enum facebook::react::CSSRadialGradientShape : uint8_t { - Circle, - Ellipse, -} - -enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { - ClosestCorner, - ClosestSide, - FarthestCorner, - FarthestSide, -} - -enum facebook::react::CSSTokenType { - CloseCurly, - CloseParen, - CloseSquare, - Comma, - Delim, - Dimension, - EndOfFile, - Function, - Hash, - Ident, - Number, - OpenCurly, - OpenParen, - OpenSquare, - Percentage, - WhiteSpace, -} - -enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSWideKeyword : std::underlying_type_t { - Inherit, - Initial, - Unset, -} - enum facebook::react::ColorSpace { DisplayP3, sRGB, } -enum facebook::react::ContentInsetAdjustmentBehavior { - Always, - Automatic, - Never, - ScrollableAxes, -} - enum facebook::react::Cursor : uint8_t { Alias, AllScroll, @@ -4398,27 +1454,6 @@ enum facebook::react::DisplayType { None, } -enum facebook::react::DynamicTypeRamp : uint8_t { - Body, - Callout, - Caption1, - Caption2, - Footnote, - Headline, - LargeTitle, - Subheadline, - Title1, - Title2, - Title3, -} - -enum facebook::react::EllipsizeMode { - Clip, - Head, - Middle, - Tail, -} - enum facebook::react::EventPayloadType { PointerEvent, ScrollEvent, @@ -4438,63 +1473,6 @@ enum facebook::react::FilterType { Sepia, } -enum facebook::react::FontStyle : uint8_t { - Italic, - Normal, - Oblique, -} - -enum facebook::react::FontVariant : int { - Default, - LiningNums, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::FontWeight : uint16_t { - Black, - Bold, - Demibold, - Heavy, - Light, - Medium, - Regular, - Semibold, - Thin, - UltraLight, - Weight100, - Weight200, - Weight300, - Weight400, - Weight500, - Weight600, - Weight700, - Weight800, - Weight900, -} - enum facebook::react::GradientDirectionType { Angle, Keyword, @@ -4507,12 +1485,6 @@ enum facebook::react::GradientKeyword : uint8_t { ToTopRight, } -enum facebook::react::HyphenationFrequency { - Full, - None, - Normal, -} - enum facebook::react::ImageResizeMode : int8_t { Center, Contain, @@ -4545,22 +1517,6 @@ enum facebook::react::LayoutDirection { Undefined, } -enum facebook::react::LineBreakMode : uint8_t { - Char, - Clip, - Head, - Middle, - Tail, - Word, -} - -enum facebook::react::LineBreakStrategy : uint8_t { - HangulWordPriority, - None, - PushOut, - Standard, -} - enum facebook::react::NullValueStrategy { Ignore, Override, @@ -4572,15 +1528,6 @@ enum facebook::react::OutlineStyle : uint8_t { Solid, } -enum facebook::react::PerformanceEntryType { - EVENT, - LONGTASK, - MARK, - MEASURE, - RESOURCE, - _NEXT, -} - enum facebook::react::PointerEventsMode : uint8_t { Auto, BoxNone, @@ -4594,61 +1541,6 @@ enum facebook::react::PositionType { Static, } -enum facebook::react::PropName { - ALIGN_CONTENT, - ALIGN_ITEMS, - ALIGN_SELF, - ASPECT_RATIO, - BACKFACE_VISIBILITY, - BACKGROUND_COLOR, - BORDER_COLOR, - BORDER_CURVES, - BORDER_RADII, - BORDER_STYLES, - BORDER_WIDTH, - BOX_SHADOW, - BOX_SIZING, - COLUMN_GAP, - CURSOR, - DIRECTION, - DISPLAY, - FILTER, - FLEX, - FLEX_BASIS, - FLEX_DIRECTION, - FLEX_GROW, - FLEX_SHRINK, - FLEX_WRAP, - HEIGHT, - ISOLATION, - JUSTIFY_CONTENT, - MARGIN, - MAX_HEIGHT, - MAX_WIDTH, - MIN_HEIGHT, - MIN_WIDTH, - MIX_BLEND_MODE, - OPACITY, - OUTLINE_COLOR, - OUTLINE_OFFSET, - OUTLINE_STYLE, - OUTLINE_WIDTH, - PADDING, - POINTER_EVENTS, - POSITION, - POSITION_TYPE, - ROW_GAP, - SHADOW_COLOR, - SHADOW_OFFSET, - SHADOW_OPACITY, - SHADOW_RADIUS, - STYLE_OVERFLOW, - TRANSFORM, - TRANSFORM_ORIGIN, - WIDTH, - Z_INDEX, -} - enum facebook::react::RadialGradientShape { Circle, Ellipse, @@ -4661,12 +1553,6 @@ enum facebook::react::ReactEventPriority { Idle, } -enum facebook::react::ResizeObserverBoxOptions { - BorderBox, - ContentBox, - DevicePixelContentBox, -} - enum facebook::react::Role : uint8_t { Alert, Alertdialog, @@ -4748,107 +1634,6 @@ enum facebook::react::ScriptTag { String, } -enum facebook::react::ScrollViewIndicatorStyle { - Black, - Default, - White, -} - -enum facebook::react::ScrollViewKeyboardDismissMode { - Interactive, - None, - OnDrag, -} - -enum facebook::react::ScrollViewSnapToAlignment { - Center, - End, - Start, -} - -enum facebook::react::ShadowTreeCommitMode { - Normal, - Suspended, -} - -enum facebook::react::ShadowTreeCommitSource { - AnimationEndSync, - React, - ReactRevisionMerge, - Unknown, -} - -enum facebook::react::ShadowTreeCommitStatus { - Cancelled, - Failed, - Succeeded, -} - -enum facebook::react::SubmitBehavior { - BlurAndSubmit, - Default, - Newline, - Submit, -} - -enum facebook::react::TextAlignment : uint8_t { - Center, - End, - Justified, - Left, - Natural, - Right, - Start, -} - -enum facebook::react::TextAlignmentVertical { - Auto, - Bottom, - Center, - Top, -} - -enum facebook::react::TextBreakStrategy { - Balanced, - HighQuality, - Simple, -} - -enum facebook::react::TextDecorationLineType : uint8_t { - None, - Strikethrough, - Underline, - UnderlineStrikethrough, -} - -enum facebook::react::TextDecorationStyle : uint8_t { - Dashed, - Dotted, - Double, - Solid, - Wavy, -} - -enum facebook::react::TextTransform : uint8_t { - Capitalize, - Lowercase, - None, - Unset, - Uppercase, -} - -enum facebook::react::TextWidthMode { - Auto, - LongestLine, -} - -enum facebook::react::TimerSource { - RequestAnimationFrame, - SetInterval, - SetTimeout, - Unknown, -} - enum facebook::react::TransformOperationType : uint8_t { Arbitrary, Identity, @@ -4877,18 +1662,6 @@ enum facebook::react::UnitType { Undefined, } -enum facebook::react::WritingDirection : uint8_t { - LeftToRight, - Natural, - RightToLeft, -} - -struct facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public std::string name; -} - struct facebook::react::AccessibilityAction { public std::optional label; public std::string name; @@ -4920,123 +1693,13 @@ struct facebook::react::AccessibilityValue { public std::optional text; } -struct facebook::react::ActivePointer { - public bool shouldLeaveWhenReleased; - public facebook::react::PointerEvent event; -} - -struct facebook::react::AnimatedPropBase { - public AnimatedPropBase(facebook::react::PropName propName); - public facebook::react::PropName propName; - public virtual ~AnimatedPropBase() = default; -} - -struct facebook::react::AnimatedProps { - public std::unique_ptr rawProps; - public std::vector> props; -} - -struct facebook::react::AnimatedPropsBuilder { - public facebook::react::AnimatedProps get(); - public std::unique_ptr rawProps; - public std::vector> props; - public void setAlignContent(facebook::yoga::Align value); - public void setAlignItems(facebook::yoga::Align value); - public void setAlignSelf(facebook::yoga::Align value); - public void setAspectRatio(facebook::yoga::FloatOptional value); - public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); - public void setBackgroundColor(facebook::react::SharedColor value); - public void setBorderColor(facebook::react::CascadedBorderColors& value); - public void setBorderCurves(facebook::react::CascadedBorderCurves& value); - public void setBorderRadii(facebook::react::CascadedBorderRadii& value); - public void setBorderStyles(facebook::react::CascadedBorderStyles& value); - public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); - public void setBoxShadow(const std::vector& value); - public void setBoxSizing(facebook::yoga::BoxSizing value); - public void setColumnGap(facebook::yoga::Style::Length value); - public void setCursor(facebook::react::Cursor value); - public void setDirection(facebook::yoga::Direction value); - public void setDisplay(facebook::yoga::Display value); - public void setFilter(const std::vector& value); - public void setFlex(facebook::yoga::FloatOptional value); - public void setFlexBasis(facebook::yoga::Style::SizeLength value); - public void setFlexDirection(facebook::yoga::FlexDirection value); - public void setFlexGrow(facebook::yoga::FloatOptional value); - public void setFlexShrink(facebook::yoga::FloatOptional value); - public void setFlexWrap(facebook::yoga::Wrap value); - public void setHeight(facebook::yoga::Style::SizeLength value); - public void setIsolation(facebook::react::Isolation value); - public void setJustifyContent(facebook::yoga::Justify value); - public void setMargin(facebook::react::CascadedRectangleEdges& value); - public void setMaxHeight(facebook::yoga::Style::SizeLength value); - public void setMaxWidth(facebook::yoga::Style::SizeLength value); - public void setMinHeight(facebook::yoga::Style::SizeLength value); - public void setMinWidth(facebook::yoga::Style::SizeLength value); - public void setMixBlendMode(facebook::react::BlendMode value); - public void setOpacity(Float value); - public void setOutlineColor(facebook::react::SharedColor value); - public void setOutlineOffset(Float value); - public void setOutlineStyle(facebook::react::OutlineStyle value); - public void setOutlineWidth(Float value); - public void setOverflow(facebook::yoga::Overflow value); - public void setPadding(facebook::react::CascadedRectangleEdges& value); - public void setPointerEvents(facebook::react::PointerEventsMode value); - public void setPosition(facebook::react::CascadedRectangleEdges& value); - public void setPositionType(facebook::yoga::PositionType value); - public void setRowGap(facebook::yoga::Style::Length value); - public void setShadowColor(facebook::react::SharedColor value); - public void setShadowOffset(facebook::react::Size value); - public void setShadowOpacity(Float value); - public void setShadowRadius(Float value); - public void setTransform(const facebook::react::Transform& t); - public void setTransformOrigin(const facebook::react::TransformOrigin& value); - public void setWidth(facebook::yoga::Style::SizeLength value); - public void setZIndex(std::optional value); - public void storeDynamic(folly::dynamic& d); - public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); -} - -struct facebook::react::AnimationConfig { - public Float initialVelocity; - public Float springDamping; - public double delay; - public double duration; - public facebook::react::AnimationProperty animationProperty; - public facebook::react::AnimationType animationType; -} - -struct facebook::react::AnimationKeyFrame { - public bool generateFinalSyntheticMutations; - public bool invalidated; - public double initialProgress; - public facebook::react::AnimationConfigurationType type; - public facebook::react::ShadowView viewEnd; - public facebook::react::ShadowView viewPrev; - public facebook::react::ShadowView viewStart; - public facebook::react::Tag parentTag; - public facebook::react::Tag tag; - public std::vector finalMutationsForKeyFrame; -} - -struct facebook::react::AnimationMutation { - public bool hasLayoutUpdates; - public facebook::react::AnimatedProps props; - public facebook::react::Tag tag; - public std::shared_ptr family; -} - -struct facebook::react::AnimationMutations { - public std::set asyncFlushSurfaces; - public std::vector batch; -} - -struct facebook::react::BackgroundPosition { - public BackgroundPosition(); - public bool operator==(const facebook::react::BackgroundPosition& other) const = default; - public std::optional bottom; - public std::optional left; - public std::optional right; - public std::optional top; +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; } struct facebook::react::BackgroundRepeat { @@ -5125,13 +1788,6 @@ struct facebook::react::Bridging { public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); } -struct facebook::react::BufferEvent { - public std::string name; - public std::string track; - public uint64_t end; - public uint64_t start; -} - struct facebook::react::BundleHeader { public BundleHeader(); public facebook::react::Magic32 magic32; @@ -5139,286 +1795,6 @@ struct facebook::react::BundleHeader { public uint64_t magic64; } -struct facebook::react::CSSAngle { - public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSBlurFilter { - public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; - public facebook::react::CSSLength amount; -} - -struct facebook::react::CSSBrightnessFilter { - public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSColor { - public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; - public static constexpr facebook::react::CSSColor black(); - public uint8_t a; - public uint8_t b; - public uint8_t g; - public uint8_t r; -} - -struct facebook::react::CSSColorHint { - public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; - public std::variant position; -} - -struct facebook::react::CSSColorStop { - public bool operator==(const facebook::react::CSSColorStop& rhs) const; - public facebook::react::CSSColor color; - public std::optional> endPosition; - public std::optional> startPosition; -} - -struct facebook::react::CSSContrastFilter { - public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSDropShadowFilter { - public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength standardDeviation; -} - -struct facebook::react::CSSFunctionBlock { - public std::string_view name; -} - -struct facebook::react::CSSGrayscaleFilter { - public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSHueRotateFilter { - public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSInvertFilter { - public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSLength { - public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; - public facebook::react::CSSLengthUnit unit; - public float value; -} - -struct facebook::react::CSSLinearGradientDirection { - public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSLinearGradientFunction { - public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; - public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); - public std::optional direction; - public std::vector> items; -} - -struct facebook::react::CSSMatrix { - public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; - public std::array values; -} - -struct facebook::react::CSSNumber { - public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; - public float value; -} - -struct facebook::react::CSSOpacityFilter { - public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSPercentage { - public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; - public float value; -} - -struct facebook::react::CSSPerspective { - public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; - public facebook::react::CSSLength length; -} - -struct facebook::react::CSSRadialGradientExplicitSize { - public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; - public std::variant sizeX; - public std::variant sizeY; -} - -struct facebook::react::CSSRadialGradientFunction { - public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; - public std::optional position; - public std::optional shape; - public std::optional size; - public std::vector> items; -} - -struct facebook::react::CSSRadialGradientPosition { - public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; - public std::optional> bottom; - public std::optional> left; - public std::optional> right; - public std::optional> top; -} - -struct facebook::react::CSSRatio { - public constexpr bool isDegenerate() const; - public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; - public float denominator; - public float numerator; -} - -struct facebook::react::CSSRotate { - public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateX { - public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateY { - public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateZ { - public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSaturateFilter { - public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSScale { - public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; - public float x; - public float y; -} - -struct facebook::react::CSSScaleX { - public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; - public float value; -} - -struct facebook::react::CSSScaleY { - public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; - public float value; -} - -struct facebook::react::CSSSepiaFilter { - public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSShadow { - public bool inset; - public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength blurRadius; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength spreadDistance; -} - -struct facebook::react::CSSSimpleBlock { - public facebook::react::CSSTokenType openBracketType; -} - -struct facebook::react::CSSSkewX { - public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSkewY { - public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSTransformOrigin { - public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate3D { - public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate { - public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslateX { - public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSTranslateY { - public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSZero { - public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; -} - -struct facebook::react::CallbackWithId { - public facebook::react::Callback callback; - public facebook::react::CallbackId callbackId; -} - -struct facebook::react::CascadedRectangleCornersNames { - public const char* all; - public const char* bottomEnd; - public const char* bottomLeft; - public const char* bottomRight; - public const char* bottomStart; - public const char* endEnd; - public const char* endStart; - public const char* startEnd; - public const char* startStart; - public const char* topEnd; - public const char* topLeft; - public const char* topRight; - public const char* topStart; -} - -struct facebook::react::CascadedRectangleEdgesNames { - public const char* all; - public const char* block; - public const char* blockEnd; - public const char* blockStart; - public const char* bottom; - public const char* end; - public const char* horizontal; - public const char* left; - public const char* right; - public const char* start; - public const char* top; - public const char* vertical; -} - struct facebook::react::ColorComponents { public facebook::react::ColorSpace colorSpace; public float alpha; @@ -5439,21 +1815,9 @@ struct facebook::react::CornerRadii { public float vertical; } -struct facebook::react::CullingContext { - public bool operator==(const facebook::react::CullingContext& rhs) const = default; - public bool shouldConsiderCulling() const; - public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; - public facebook::react::Rect frame; - public facebook::react::Transform transform; -} - struct facebook::react::DebugStringConvertibleOptions { } -struct facebook::react::DefaultTurboModules { - public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); -} - struct facebook::react::DropShadowParams { public Float offsetX; public Float offsetY; @@ -5462,11 +1826,6 @@ struct facebook::react::DropShadowParams { public facebook::react::SharedColor color; } -struct facebook::react::DummyTraceSection { - template - public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); -} - struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { protected folly::dynamic payload_; public DynamicEventPayload(folly::dynamic&& payload); @@ -5481,12 +1840,6 @@ struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEve public const std::optional>& getHitPathForEventListener() const; } -struct facebook::react::EventAnimationDriverKey { - public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; - public facebook::react::Tag viewTag; - public std::string eventName; -} - struct facebook::react::EventPayload { public EventPayload() = default; public EventPayload(const facebook::react::EventPayload&) = default; @@ -5505,43 +1858,6 @@ struct facebook::react::FilterFunction { public std::variant parameters; } -struct facebook::react::InspectorData { - public folly::dynamic props; - public int columnNumber; - public int lineNumber; - public int selectedIndex; - public std::string fileName; - public std::vector hierarchy; -} - -struct facebook::react::IntersectionObserverEntry { - public bool isIntersectingAboveThresholds; - public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; - public facebook::react::HighResTimeStamp time; - public facebook::react::IntersectionObserverObserverId intersectionObserverId; - public facebook::react::Rect intersectionRect; - public facebook::react::Rect rootRect; - public facebook::react::Rect targetRect; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; -} - -struct facebook::react::LayoutAnimation { - public bool completed; - public facebook::react::LayoutAnimationCallbackWrapper failureCallback; - public facebook::react::LayoutAnimationCallbackWrapper successCallback; - public facebook::react::LayoutAnimationConfig layoutAnimationConfig; - public facebook::react::SurfaceId surfaceId; - public std::vector keyFrames; - public uint64_t startTime; -} - -struct facebook::react::LayoutAnimationConfig { - public double duration; - public facebook::react::AnimationConfig createConfig; - public facebook::react::AnimationConfig deleteConfig; - public facebook::react::AnimationConfig updateConfig; -} - struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { public LayoutConformanceProps() = default; public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -5581,19 +1897,6 @@ struct facebook::react::LayoutMetrics { public facebook::react::Rect getPaddingFrame() const; } -struct facebook::react::LineMeasurement { - public Float ascender; - public Float capHeight; - public Float descender; - public Float xHeight; - public LineMeasurement(const folly::dynamic& data); - public LineMeasurement(std::string text, facebook::react::Rect frame, Float descender, Float capHeight, Float ascender, Float xHeight); - public bool operator==(const facebook::react::LineMeasurement& rhs) const; - public facebook::react::Rect frame; - public static Float baseline(const std::vector& lines); - public std::string text; -} - struct facebook::react::LinearGradient { public bool operator==(const facebook::react::LinearGradient& other) const = default; public facebook::react::GradientDirection direction; @@ -5605,91 +1908,6 @@ struct facebook::react::Magic32 { public uint32_t value; } -struct facebook::react::MarginValue { - public Float value; - public bool isPercentage; -} - -struct facebook::react::MeasuredPreparedTextLayout { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::TextMeasurement measurement; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; -} - -struct facebook::react::MutationRecord { - public facebook::react::MutationObserverId mutationObserverId; - public std::shared_ptr targetShadowNode; - public std::vector> addedShadowNodes; - public std::vector> removedShadowNodes; -} - -struct facebook::react::NativePerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional fetchStart; - public std::optional processingEnd; - public std::optional processingStart; - public std::optional requestStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::optional interactionId; - public std::optional decodedBodySize; - public std::optional encodedBodySize; - public std::optional responseStatus; - public std::optional contentType; - public std::string name; -} - -struct facebook::react::PerformanceEntrySorter { - public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs) const; -} - -struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp processingEnd; - public facebook::react::HighResTimeStamp processingStart; - public facebook::react::HighResTimeStamp taskEndTime; - public facebook::react::PerformanceEntryInteractionId interactionId; - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceObserverObserveMultipleOptions { - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceObserverObserveSingleOptions { - public bool buffered; - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public static constexpr facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::string contentType; -} - struct facebook::react::Point { public Float x; public Float y; @@ -5728,11 +1946,6 @@ struct facebook::react::PointerEvent : public facebook::react::EventPayload { public virtual facebook::react::EventPayloadType getType() const override; } -struct facebook::react::PointerEventTarget { - public facebook::react::PointerEvent event; - public std::shared_ptr target; -} - struct facebook::react::ProcessedColorStop { public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; public facebook::react::SharedColor color; @@ -5755,12 +1968,6 @@ struct facebook::react::PropsParserContext { public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; } -struct facebook::react::PropsSnapshot { - public std::unique_ptr props; - public std::unique_ptr rawProps; - public std::unordered_set propNames; -} - struct facebook::react::RadialGradient { public bool operator==(const facebook::react::RadialGradient& other) const = default; public facebook::react::RadialGradientPosition position; @@ -5823,13 +2030,6 @@ struct facebook::react::ReactNativeVersionType { public std::string_view Prerelease; } -struct facebook::react::RecoverableError : public std::exception { - public RecoverableError(const std::string& what_); - public virtual const char* what() const noexcept override; - template - public static void runRethrowingAsRecoverable(std::function act); -} - struct facebook::react::Rect { public Float getMaxX() const noexcept; public Float getMaxY() const noexcept; @@ -5847,82 +2047,6 @@ struct facebook::react::Rect { public void unionInPlace(const facebook::react::Rect& rect) noexcept; } -struct facebook::react::RequestInfo { - public std::optional headers; - public std::optional httpBody; - public std::string httpMethod; - public std::string url; -} - -struct facebook::react::ResizeObservationResult { - public bool detached; - public facebook::react::Size observedSize; - public size_t targetDepth; - public std::optional entry; -} - -struct facebook::react::ResizeObserverEntry { - public facebook::react::Rect contentRect; - public facebook::react::ResizeObserverObserverId resizeObserverId; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; - public facebook::react::Size borderBoxSize; - public facebook::react::Size contentBoxSize; - public facebook::react::Size devicePixelContentBoxSize; -} - -struct facebook::react::ResourceTimingData { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseStart; - public std::string contentType; - public std::string url; -} - -struct facebook::react::ResponseInfo { - public std::optional headers; - public std::string url; - public uint16_t statusCode; -} - -struct facebook::react::SchedulerToolbox { - public facebook::react::ComponentRegistryFactory componentRegistryFactory; - public facebook::react::EventBeat::Factory eventBeatFactory; - public facebook::react::RuntimeExecutor runtimeExecutor; - public std::optional bridgelessBindingsExecutor; - public std::shared_ptr contextContainer; - public std::shared_ptr animationChoreographer; - public std::vector> commitHooks; -} - -struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { - public ScrollEndDragEvent() = default; - public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); - public facebook::react::Point targetContentOffset; - public facebook::react::Point velocity; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; -} - -struct facebook::react::ScrollEvent : public facebook::react::EventPayload { - public Float timestamp; - public Float zoomScale; - public ScrollEvent() = default; - public bool responderIgnoreScroll; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; - public virtual facebook::react::EventPayloadType getType() const override; - public virtual std::optional extractValue(const std::vector&) const override; -} - struct facebook::react::ShadowNodeFamilyFragment { public const facebook::react::SurfaceId surfaceId; public const facebook::react::Tag tag; @@ -5939,82 +2063,12 @@ struct facebook::react::ShadowNodeFragment { public static const std::shared_ptr>>& childrenPlaceholder(); } -struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { - public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); - public std::shared_ptr>> shadowNodeList; - public ~ShadowNodeListWrapper() override; -} - struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { public ShadowNodeWrapper(std::shared_ptr shadowNode); public std::shared_ptr shadowNode; public ~ShadowNodeWrapper() override; } -struct facebook::react::ShadowTreeCommitOptions { - public bool enableStateReconciliation; - public bool mountSynchronously; - public facebook::react::ShadowTreeCommitSource source; -} - -struct facebook::react::ShadowView { - public ShadowView() = default; - public ShadowView(const facebook::react::ShadowNode& shadowNode); - public ShadowView(const facebook::react::ShadowView& shadowView) = default; - public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; - public bool operator==(const facebook::react::ShadowView& rhs) const; - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::EventEmitter::Shared eventEmitter; - public facebook::react::LayoutMetrics layoutMetrics; - public facebook::react::Props::Shared props; - public facebook::react::ShadowNodeTraits traits; - public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; - public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; - public facebook::react::State::Shared state; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; -} - -struct facebook::react::ShadowViewMutation { - public ShadowViewMutation() = delete; - public bool mutatedViewIsVirtual() const; - public facebook::react::ShadowView newChildShadowView; - public facebook::react::ShadowView oldChildShadowView; - public facebook::react::ShadowViewMutation::Type type; - public facebook::react::Tag parentTag; - public int index; - public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); - public using List = std::vector; -} - -enum facebook::react::ShadowViewMutation::Type : std::uint8_t { - Create, - Delete, - Insert, - Remove, - Update, -} - -struct facebook::react::ShadowViewNodePair { - public bool flattened; - public bool inOtherTree() const; - public bool isConcreteView; - public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; - public const facebook::react::ShadowNode* shadowNode; - public facebook::react::Point contextOrigin; - public facebook::react::ShadowView shadowView; - public mutable const facebook::react::ShadowViewNodePair* otherTreePair; - public size_t mountIndex; -} - struct facebook::react::Size { public Float height; public Float width; @@ -6026,44 +2080,6 @@ struct facebook::react::StateData { public using Shared = std::shared_ptr; } -struct facebook::react::SurfaceContext { - public std::unordered_map> map; - public std::unordered_map> pendingMap; - public std::unordered_set> families; - public std::unordered_set> pendingFamilies; -} - -struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { - template - public SystraceSection(const char* name, ConvertsToStringPiece &&... args); -} - -struct facebook::react::Task : public facebook::jsi::NativeState { - public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); - public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); -} - -struct facebook::react::TextEffectInfo { - public bool operator==(const facebook::react::TextEffectInfo&) const = default; - public folly::dynamic props; - public std::string name; -} - -struct facebook::react::TextLayoutContext { - public Float pointScaleFactor; - public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; - public facebook::react::SurfaceId surfaceId; -} - -struct facebook::react::TimerCallback { - public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); - public bool repeat; - public const std::vector args_; - public facebook::jsi::Function callback_; - public facebook::react::TimerSource source; - public void invoke(facebook::jsi::Runtime& runtime); -} - struct facebook::react::TouchEvent { public facebook::react::Touches changedTouches; public facebook::react::Touches targetTouches; @@ -6097,12 +2113,6 @@ struct facebook::react::Transform { public std::vector operations; } -struct facebook::react::TransformConfig { - public double value; - public facebook::react::Tag nodeTag; - public std::string property; -} - struct facebook::react::TransformOperation { public bool operator==(const facebook::react::TransformOperation& other) const = default; public facebook::react::TransformOperationType type; @@ -6179,64 +2189,6 @@ enum facebook::react::ViewEvents::Offset : std::size_t { TouchStart, } -template -struct facebook::react::CSSList : public std::vector { -} - -template -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSList { -} - -template ... VisitorsT> -struct facebook::react::CSSComponentValueVisitorDispatcher { - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); - public constexpr std::optional visitFunction(); - public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitPreservedToken(); - public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public facebook::react::CSSSyntaxParser& parser; -} - -template -struct facebook::react::CSSList : public std::vector { -} - -template -class facebook::react::CircularBuffer { - public CircularBuffer(size_t maxSize); - public T& operator[](size_t idx); - public bool add(const T& el); - public size_t size() const; - public std::vector getEntries() const; - public std::vector getEntries(std::function predicate) const; - public void clear(); - public void clear(std::function predicate); - public void getEntries(std::vector& res) const; - public void getEntries(std::vector& res, std::function predicate) const; -} - -template -class facebook::react::MoveWrapper { - public MoveWrapper() = default; - public MoveWrapper(T&& t); - public MoveWrapper(const facebook::react::MoveWrapper& other); - public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; - public T& operator*(); - public T&& move(); - public T* operator->(); - public const T& operator*() const; - public const T* operator->() const; - public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; - public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; -} - template class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); @@ -6249,20 +2201,6 @@ class facebook::react::ConcreteViewShadowNode : public facebook::react::Concrete public virtual facebook::react::Transform getTransform() const override; } -template -class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; - protected std::shared_ptr textLayoutManager_; - protected virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - protected virtual void layout(facebook::react::LayoutContext layoutContext) override; - public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - template class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { protected facebook::react::Props::Shared props_; @@ -6293,17 +2231,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging { } -template -struct facebook::react::TemplateStringLiteral { - public constexpr TemplateStringLiteral(const char(&str)[N]); - public constexpr operator std::string_view() const; - public std::array value; -} - -template -struct facebook::react::CSSDataTypeParser { -} - template class facebook::react::ConcreteState : public facebook::react::State { public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); @@ -6321,25 +2248,6 @@ template class facebook::react::SyncCallback { } -template -class facebook::react::SimpleThreadSafeCache { - public SimpleThreadSafeCache(); - public SimpleThreadSafeCache(unsigned long size); - public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; - public std::optional get(const KeyT& key) const; - public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; -} - -template -class facebook::react::OnScopeExit { - public OnScopeExit(const Lambda&& lambda) noexcept; - public OnScopeExit(const facebook::react::OnScopeExit&) = delete; - public OnScopeExit(facebook::react::OnScopeExit&&) = delete; - public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; - public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; - public ~OnScopeExit() noexcept; -} - template class facebook::react::SyncCallback { public R call(Args... args) const; @@ -6360,13 +2268,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging> { } -template -class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::ComponentName getComponentName() const override; -} - template class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; @@ -6390,2188 +2291,283 @@ class facebook::react::ConcreteComponentDescriptor : public facebook::react::Com public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; } -template -class facebook::react::Element { - public Element(); - public facebook::react::Element& children(std::vector children); - public facebook::react::Element& finalize(std::function finalizeCallback); - public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); - public facebook::react::Element& props(std::function callback); - public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); - public facebook::react::Element& reference(std::function callback); - public facebook::react::Element& stateData(std::function callback); - public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); - public facebook::react::Element& tag(facebook::react::Tag tag); - public operator facebook::react::ElementFragment(); - public using ConcreteProps = typename ShadowNodeT::ConcreteProps; - public using ConcreteReferenceCallback = std::function& shadowNode)>; - public using ConcreteShadowNode = ShadowNodeT; - public using ConcreteState = typename ShadowNodeT::ConcreteState; - public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; - public using ConcreteUnsharedShadowNode = std::shared_ptr; - public using SharedConcreteProps = std::shared_ptr; - public using SharedConcreteState = std::shared_ptr; -} - template struct facebook::react::Bridging { } -template -struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { - public AnimatedProp() = default; - public AnimatedProp(facebook::react::PropName propName, const T& value); - public T value; -} - -template -struct facebook::react::CascadedRectangleCorners { - public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; - public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; - public facebook::react::CascadedRectangleCorners::OptionalT all; - public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; - public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; - public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; - public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; - public facebook::react::CascadedRectangleCorners::OptionalT endEnd; - public facebook::react::CascadedRectangleCorners::OptionalT endStart; - public facebook::react::CascadedRectangleCorners::OptionalT startEnd; - public facebook::react::CascadedRectangleCorners::OptionalT startStart; - public facebook::react::CascadedRectangleCorners::OptionalT topEnd; - public facebook::react::CascadedRectangleCorners::OptionalT topLeft; - public facebook::react::CascadedRectangleCorners::OptionalT topRight; - public facebook::react::CascadedRectangleCorners::OptionalT topStart; - public using Counterpart = facebook::react::RectangleCorners; - public using OptionalT = std::optional; -} - -template -struct facebook::react::CascadedRectangleEdges { - public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; - public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; - public facebook::react::CascadedRectangleEdges::OptionalT all; - public facebook::react::CascadedRectangleEdges::OptionalT block; - public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; - public facebook::react::CascadedRectangleEdges::OptionalT blockStart; - public facebook::react::CascadedRectangleEdges::OptionalT bottom; - public facebook::react::CascadedRectangleEdges::OptionalT end; - public facebook::react::CascadedRectangleEdges::OptionalT horizontal; - public facebook::react::CascadedRectangleEdges::OptionalT left; - public facebook::react::CascadedRectangleEdges::OptionalT right; - public facebook::react::CascadedRectangleEdges::OptionalT start; - public facebook::react::CascadedRectangleEdges::OptionalT top; - public facebook::react::CascadedRectangleEdges::OptionalT vertical; - public using Counterpart = facebook::react::RectangleEdges; - public using OptionalT = std::optional; -} - -template -struct facebook::react::RectangleCorners { - public T bottomLeft; - public T bottomRight; - public T topLeft; - public T topRight; - public bool isUniform() const noexcept; - public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; -} - -template -struct facebook::react::RectangleEdges { - public T bottom; - public T left; - public T right; - public T top; - public bool isUniform() const noexcept; - public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; - public static const facebook::react::RectangleEdges ZERO; -} - -template -class facebook::react::AsyncCallback { - public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); - public void call(Args... args) const noexcept; - public void call(std::function&& callImpl) const noexcept; - public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; - public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; - public void operator()(Args... args) const noexcept; -} - -template -class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { - public AsyncEventEmitter(); - public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; - public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; - public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; - public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; - public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; - public void emit(Args... value); - public void emit(std::function&& converter); - public ~AsyncEventEmitter() override = default; -} - -template -class facebook::react::SharedFunction { - public SharedFunction(const facebook::react::SharedFunction& other) = default; - public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; - public SharedFunction(std::function&& function = nullptr); - public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; - public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; - public void assign(std::function function) const; - public void operator()(ArgumentT... args) const; -} - -template -class facebook::react::AsyncPromise { - public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); - public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; - public void reject(facebook::react::Error error); - public void resolve(T... value); -} - -template -class facebook::react::EventListenerContainerT { - public bool willDispatchEvent(TArgs... args); - public void addListener(std::shared_ptr> listener); - public void removeListener(const std::shared_ptr>& listener); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); - public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); -} - -struct facebook::react::Bridging { - public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); -} - -struct facebook::react::Bridging { - public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); - public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); -} - -template -struct facebook::react::Bridging> { - public static constexpr size_t kArgumentCount; - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); - public using Func = std::function; - public using IndexSequence = std::index_sequence_for; -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { - public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { - public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); - public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); - template - public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { - public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { - public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { -} - -struct facebook::react::Bridging { - public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); -} - -struct facebook::react::Bridging { - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); - public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); -} - -struct facebook::react::Bridging : public NativeAnimatedTurboModuleEndResultBridging { -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); - public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); - public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); - public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging : public NativeIntersectionObserverNativeIntersectionObserverEntryBridging { -} - -struct facebook::react::Bridging : public NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public NativeMutationObserverNativeMutationObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public NativeMutationObserverNativeMutationRecordBridging { -} - -struct facebook::react::Bridging : public NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public NativePerformanceRawPerformanceEntryBridging { -} - -struct facebook::react::Bridging : public NativePerformancePerformanceObserverInitBridging { -} - -struct facebook::react::Bridging : public NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public NativeIdleCallbacksRequestIdleCallbackOptionsBridging { -} - -struct facebook::react::Bridging { - public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); - public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSDataTypeParser> { - public static std::optional> consume(facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); - public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); - public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); -} - -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); -} - -template -struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - - -bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); -bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); -bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); - - -constexpr bool facebook::react::detail::isHexDigit(char c); -constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); -constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); -constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); -constexpr uint8_t facebook::react::detail::clamp255Component(float f); -constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); -constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); -float facebook::react::detail::normalizeHue(float hue); -std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); -std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); -std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); -template -constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); -template -C facebook::react::detail::memberFunctionClass(T C::*); -template -constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); - -class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { - public OwnedBytesBuffer(std::vector bytes) noexcept; - public virtual size_t size() const override; - public virtual uint8_t* data() override; -} - -enum facebook::react::detail::HexColorType { - Long, - Short, -} - -template -struct facebook::react::detail::merge_data_types { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types { -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = typename T::PreparedTextLayout; -} - -template -struct facebook::react::detail::CSSVariantComponentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSAngleTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSFilterSimpleAmountParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSNumberPercentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = std::nullptr_t; -} - -template -struct facebook::react::detail::is_variant_of_data_types : public std::false_type { -} - -template -class facebook::react::detail::TextLayoutManagerExtended { - public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); - public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public static constexpr bool supportsLineMeasurement(); - public static constexpr bool supportsPreparedTextLayout(); - public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; -} - -template -struct facebook::react::detail::merge_variant { -} - -template -struct facebook::react::detail::merge_data_types, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_variant, RestT...> { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types> { - public using type = std::variant; -} - -template -struct facebook::react::detail::is_variant_of_data_types> : public std::true_type { -} - -template -struct facebook::react::detail::merge_data_types, std::variant, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - - -constexpr std::string_view facebook::react::detail::css::keywords::Absolute; -constexpr std::string_view facebook::react::detail::css::keywords::At; -constexpr std::string_view facebook::react::detail::css::keywords::Auto; -constexpr std::string_view facebook::react::detail::css::keywords::Baseline; -constexpr std::string_view facebook::react::detail::css::keywords::Block; -constexpr std::string_view facebook::react::detail::css::keywords::Bottom; -constexpr std::string_view facebook::react::detail::css::keywords::Center; -constexpr std::string_view facebook::react::detail::css::keywords::Clip; -constexpr std::string_view facebook::react::detail::css::keywords::Column; -constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; -constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Content; -constexpr std::string_view facebook::react::detail::css::keywords::Contents; -constexpr std::string_view facebook::react::detail::css::keywords::Contextual; -constexpr std::string_view facebook::react::detail::css::keywords::Dashed; -constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Dotted; -constexpr std::string_view facebook::react::detail::css::keywords::Double; -constexpr std::string_view facebook::react::detail::css::keywords::End; -constexpr std::string_view facebook::react::detail::css::keywords::Fixed; -constexpr std::string_view facebook::react::detail::css::keywords::Flex; -constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; -constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; -constexpr std::string_view facebook::react::detail::css::keywords::Grid; -constexpr std::string_view facebook::react::detail::css::keywords::Groove; -constexpr std::string_view facebook::react::detail::css::keywords::Hidden; -constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Inherit; -constexpr std::string_view facebook::react::detail::css::keywords::Initial; -constexpr std::string_view facebook::react::detail::css::keywords::Inline; -constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; -constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; -constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; -constexpr std::string_view facebook::react::detail::css::keywords::Inset; -constexpr std::string_view facebook::react::detail::css::keywords::Left; -constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; -constexpr std::string_view facebook::react::detail::css::keywords::Ltr; -constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; -constexpr std::string_view facebook::react::detail::css::keywords::Medium; -constexpr std::string_view facebook::react::detail::css::keywords::MinContent; -constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; -constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; -constexpr std::string_view facebook::react::detail::css::keywords::None; -constexpr std::string_view facebook::react::detail::css::keywords::Normal; -constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; -constexpr std::string_view facebook::react::detail::css::keywords::Outset; -constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; -constexpr std::string_view facebook::react::detail::css::keywords::Relative; -constexpr std::string_view facebook::react::detail::css::keywords::Ridge; -constexpr std::string_view facebook::react::detail::css::keywords::Right; -constexpr std::string_view facebook::react::detail::css::keywords::Row; -constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; -constexpr std::string_view facebook::react::detail::css::keywords::Rtl; -constexpr std::string_view facebook::react::detail::css::keywords::Scroll; -constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; -constexpr std::string_view facebook::react::detail::css::keywords::Solid; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; -constexpr std::string_view facebook::react::detail::css::keywords::Start; -constexpr std::string_view facebook::react::detail::css::keywords::Static; -constexpr std::string_view facebook::react::detail::css::keywords::Sticky; -constexpr std::string_view facebook::react::detail::css::keywords::Stretch; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; -constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; -constexpr std::string_view facebook::react::detail::css::keywords::Thick; -constexpr std::string_view facebook::react::detail::css::keywords::Thin; -constexpr std::string_view facebook::react::detail::css::keywords::To; -constexpr std::string_view facebook::react::detail::css::keywords::Top; -constexpr std::string_view facebook::react::detail::css::keywords::Unset; -constexpr std::string_view facebook::react::detail::css::keywords::Visible; -constexpr std::string_view facebook::react::detail::css::keywords::Wrap; -constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; -template -concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); -template -concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); -template -concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); -template -concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); -template -concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); -template -concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); -template -concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); -template -concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); -template -concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); -template -concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); -template -concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); -template -concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); -template -concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); -template -concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); -template -concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); -template -concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); -template -concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); -template -concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); -template -concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); -template -concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); -template -concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); -template -concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); -template -concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); -template -concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); -template -concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); -template -concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); -template -concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); -template -concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); -template -concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); -template -concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); -template -concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); -template -concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); -template -concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); -template -concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); -template -concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); -template -concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); -template -concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); -template -concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); -template -concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); -template -concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); -template -concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); -template -concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); -template -concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); -template -concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); -template -concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); -template -concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); -template -concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); -template -concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); -template -concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); -template -concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); -template -concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); -template -concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); -template -concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); -template -concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); -template -concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); -template -concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); -template -concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); -template -concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); -template -concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); -template -concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); -template -concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); -template -concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); -template -concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); -template -concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); -template -concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); -template -concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); -template -concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); -template -concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); -template -concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); - - -constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; -template -using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; -typedef std::function facebook::react::jsinspector_modern::FrontendChannel; -typedef std::map facebook::react::jsinspector_modern::Headers; -using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; -using facebook::react::jsinspector_modern::IOReadError = const std::string; -using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; -using facebook::react::jsinspector_modern::StreamID = const std::string; -using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; -bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); -facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); -folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); -folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); -std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); -std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); -std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); -template -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); -template -facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); -void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); -void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); -void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); -void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); - -class facebook::react::jsinspector_modern::BoundedRequestBuffer { - public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; - public std::shared_ptr get(const std::string& requestId) const; - public void clear(); -} - -struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { - public bool base64Encoded; - public std::string data; -} - -class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { - public CallbackLocalConnection(std::function handler); - public virtual void disconnect() override; - public virtual void sendMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public CallbackRemoteConnection(std::function handler); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::ConsoleTask { - public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; - public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; - public ConsoleTask(std::shared_ptr taskContext); - public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; - public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; - public ~ConsoleTask(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { - public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); - public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskId id() const; - public std::optional getSerializedStackTrace() const; - public void schedule(); - public ~ConsoleTaskContext(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskId { - public ConsoleTaskId() = default; - public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public operator bool() const; - public operator void *() const; - public ~ConsoleTaskId() = default; -} - -class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { - public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); - public std::shared_ptr top() const; - public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); - public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public ~ConsoleTaskOrchestrator() = default; -} - -class facebook::react::jsinspector_modern::EmulationAgent { - public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); -} - -class facebook::react::jsinspector_modern::ExecutionContextManager { - public int32_t allocateExecutionContextId(); -} - -class facebook::react::jsinspector_modern::ExecutionContextSelector { - public ExecutionContextSelector() = delete; - public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; - public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); - public ~ExecutionContextSelector() = default; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public FallbackRuntimeTargetDelegate(std::string engineDescription); - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; -} - -class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); - public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; - public ~HermesRuntimeTargetDelegate() override; -} - -class facebook::react::jsinspector_modern::HostAgent { - public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); - public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public bool isEligibleForBackgroundTrace() const; - public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public void emitSystemStateChanged(bool isSingleHost); - public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void setCurrentInstanceAgent(std::shared_ptr agent); - public ~HostAgent(); -} - -class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public bool stopAndMaybeEmitBackgroundTrace(); - public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public std::unique_ptr connect(std::unique_ptr connectionToFrontend); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); - public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); - public ~HostTarget(); -} - -class facebook::react::jsinspector_modern::HostTargetController { - public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); - public bool decrementPauseOverlayCounter(); - public bool hasInstance() const; - public bool maybeEmitStashedBackgroundTrace(); - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public void incrementPauseOverlayCounter(); -} - -class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public HostTargetDelegate() = default; - public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&); - public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; - public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); - public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&); - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; - public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; - public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; - public virtual ~HostTargetDelegate() override; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; - public std::optional message; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest { - public std::optional quality; - public std::optional format; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; - public std::optional ignoreCache; - public std::optional scriptToEvaluateOnLoad; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest& rhs) const; - public std::string colorScheme; -} - -class facebook::react::jsinspector_modern::HostTargetTraceRecording { - public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public bool isBackgroundInitiated() const; - public bool isUserInitiated() const; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); - public void start(); -} - -class facebook::react::jsinspector_modern::HostTargetTracingDelegate { - public HostTargetTracingDelegate() = default; - public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); - public virtual void onTracingStopped(); - public virtual ~HostTargetTracingDelegate() = default; -} - -class facebook::react::jsinspector_modern::HostTracingAgent { - public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); -} - -class facebook::react::jsinspector_modern::IDestructible { - public virtual ~IDestructible() = 0; -} - -class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { - public using ConnectFunc = std::function(std::unique_ptr)>; - public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; - public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; - public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; - public virtual std::vector getPages() const = 0; - public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; - public virtual void removePage(int pageId) = 0; - public virtual ~IInspector() = 0; -} - -class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void disconnect() = 0; - public virtual void sendMessage(std::string message) = 0; - public virtual ~ILocalConnection() = 0; -} - -class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onPageRemoved(int); - public virtual ~IPageStatusListener() = 0; -} - -class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onDisconnect() = 0; - public virtual void onMessage(std::string message) = 0; - public virtual ~IRemoteConnection() = 0; -} - -class facebook::react::jsinspector_modern::IWebSocket { - public virtual void send(std::string_view message) = 0; - public virtual ~IWebSocket() = default; -} - -class facebook::react::jsinspector_modern::IWebSocketDelegate { - public virtual void didClose() = 0; - public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; - public virtual void didOpen() = 0; - public virtual void didReceiveMessage(std::string_view message) = 0; - public virtual ~IWebSocketDelegate() = default; -} - -class facebook::react::jsinspector_modern::InspectorFlags { - public InspectorFlags(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public bool getAssertSingleHostState() const; - public bool getFrameRecordingEnabled() const; - public bool getFuseboxEnabled() const; - public bool getIsProfilingBuild() const; - public bool getPerfIssuesEnabled() const; - public bool getScreenshotCaptureEnabled() const; - public facebook::react::jsinspector_modern::InspectorFlags& operator=(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); - public void dangerouslyDisableFuseboxForTest(); - public void dangerouslyResetFlags(); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection { - public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public bool isConnected() const; - public void closeQuietly(); - public void connect(); - public void sendEventToAllConnections(std::string event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { - public bool isConnected() const; - public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public using SessionId = uint32_t; - public void closeQuietly(); - public void connect(); - public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); - public void sendEventToAllConnections(const std::string& event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { - public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; - public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; - public virtual ~InspectorPackagerConnectionDelegate() = default; -} - -class facebook::react::jsinspector_modern::InstanceAgent { - public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); -} - -class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); - public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); - public ~InstanceTarget(); -} - -class facebook::react::jsinspector_modern::InstanceTargetDelegate { - public InstanceTargetDelegate() = default; - public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public virtual ~InstanceTargetDelegate(); -} - -class facebook::react::jsinspector_modern::InstanceTracingAgent { - public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); - public ~InstanceTracingAgent(); -} - -class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public LoadNetworkResourceDelegate() = default; - public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; - public virtual ~LoadNetworkResourceDelegate() = default; -} - -class facebook::react::jsinspector_modern::NetworkHandler { - public bool isEnabled() const; - public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); - public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); - public std::optional> getResponseBody(const std::string& requestId); - public void disableAgent(size_t agentId); - public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); - public void onLoadingFailed(const std::string& requestId, bool cancelled); - public void onLoadingFinished(const std::string& requestId, int encodedDataLength); - public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); - public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); - public void onWebSocketClosed(const std::string& requestId); - public void onWebSocketCreated(const std::string& requestId, const std::string& url); - public void onWebSocketFrameReceived(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketFrameSent(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t status, const facebook::react::jsinspector_modern::Headers& headers); - public void onWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::jsinspector_modern::NetworkIOAgent { - public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); - public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public ~NetworkIOAgent(); -} - -class facebook::react::jsinspector_modern::NetworkRequestListener { - public NetworkRequestListener() = default; - public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public virtual void onCompletion() = 0; - public virtual void onData(std::string_view data) = 0; - public virtual void onError(const std::string& message) = 0; - public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; - public virtual void setCancelFunction(std::function cancelFunction) = 0; - public virtual ~NetworkRequestListener() = default; -} - -class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { - public NotImplementedException(std::string message); - public const char* what() const noexcept override; -} - -class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { -} - -class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { - public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); - public void handlePerfIssueAdded(const std::string& message); -} - -class facebook::react::jsinspector_modern::RAIIRemoteConnection { - public RAIIRemoteConnection(std::unique_ptr remote); - public void onMessage(std::string message); - public ~RAIIRemoteConnection(); -} - -class facebook::react::jsinspector_modern::RuntimeAgent { - public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); - public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); - public void notifyFastRefreshComplete(); - public ~RuntimeAgent(); -} - -struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { - public std::unique_ptr delegateState; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; - public virtual std::unique_ptr getExportedState(); - public virtual ~RuntimeAgentDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { - public virtual ~ExportedState() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public ~RuntimeTarget(); -} - -class facebook::react::jsinspector_modern::RuntimeTargetController { - public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); - public void disableSamplingProfiler(); - public void emitTracingStateChange(bool isTracing); - public void enableSamplingProfiler(); - public void installBindingHandler(const std::string& bindingName); - public void installScriptToEvaluateOnNewDocument(const std::string& source); - public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); -} - -enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { - Log, - Network, - Runtime, - kMaxValue, -} - -class facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public virtual bool supportsConsole() const = 0; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; - public virtual void disableSamplingProfiler() = 0; - public virtual void enableSamplingProfiler() = 0; - public virtual ~RuntimeTargetDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); - public ~RuntimeTracingAgent(); -} - -class facebook::react::jsinspector_modern::StackTrace { - public StackTrace() = default; - public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public static std::unique_ptr empty(); - public virtual ~StackTrace() = default; -} - -class facebook::react::jsinspector_modern::TracingAgent { - public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public ~TracingAgent(); -} - -enum facebook::react::jsinspector_modern::ConsoleAPIType { - kAssert, - kClear, - kCount, - kDebug, - kDir, - kDirXML, - kEndGroup, - kError, - kInfo, - kLog, - kStartGroup, - kStartGroupCollapsed, - kTable, - kTimeEnd, - kTrace, - kWarning, -} - -enum facebook::react::jsinspector_modern::HostCommand { - DebuggerResume, - DebuggerStepOver, -} - -struct facebook::react::jsinspector_modern::ConsoleMessage { - public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); - public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public std::unique_ptr stackTrace; - public std::vector args; - public ~ConsoleMessage() = default; -} - -struct facebook::react::jsinspector_modern::ExecutionContextDescription { - public int32_t id; - public std::optional uniqueId; - public std::string name; - public std::string origin; -} - -struct facebook::react::jsinspector_modern::GetResponseBodyResult { - public bool base64Encoded; - public folly::dynamic toDynamic() const; - public std::string body; -} - -struct facebook::react::jsinspector_modern::HostTargetMetadata { - public std::optional appDisplayName; - public std::optional appIdentifier; - public std::optional deviceName; - public std::optional integrationName; - public std::optional platform; - public std::optional reactNativeVersion; +template +struct facebook::react::CascadedRectangleCorners { + public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; + public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleCorners::OptionalT all; + public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; + public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; + public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; + public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; + public facebook::react::CascadedRectangleCorners::OptionalT endEnd; + public facebook::react::CascadedRectangleCorners::OptionalT endStart; + public facebook::react::CascadedRectangleCorners::OptionalT startEnd; + public facebook::react::CascadedRectangleCorners::OptionalT startStart; + public facebook::react::CascadedRectangleCorners::OptionalT topEnd; + public facebook::react::CascadedRectangleCorners::OptionalT topLeft; + public facebook::react::CascadedRectangleCorners::OptionalT topRight; + public facebook::react::CascadedRectangleCorners::OptionalT topStart; + public using Counterpart = facebook::react::RectangleCorners; + public using OptionalT = std::optional; } -struct facebook::react::jsinspector_modern::IOReadResult { - public bool base64Encoded; - public bool eof; - public folly::dynamic toDynamic() const; - public std::string data; +template +struct facebook::react::CascadedRectangleEdges { + public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; + public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleEdges::OptionalT all; + public facebook::react::CascadedRectangleEdges::OptionalT block; + public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; + public facebook::react::CascadedRectangleEdges::OptionalT blockStart; + public facebook::react::CascadedRectangleEdges::OptionalT bottom; + public facebook::react::CascadedRectangleEdges::OptionalT end; + public facebook::react::CascadedRectangleEdges::OptionalT horizontal; + public facebook::react::CascadedRectangleEdges::OptionalT left; + public facebook::react::CascadedRectangleEdges::OptionalT right; + public facebook::react::CascadedRectangleEdges::OptionalT start; + public facebook::react::CascadedRectangleEdges::OptionalT top; + public facebook::react::CascadedRectangleEdges::OptionalT vertical; + public using Counterpart = facebook::react::RectangleEdges; + public using OptionalT = std::optional; } -struct facebook::react::jsinspector_modern::InspectorPageDescription { - public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; - public const int id; - public const std::string description; - public const std::string vm; +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; } -struct facebook::react::jsinspector_modern::InspectorSystemState { - public int registeredHostsCount; +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; } -struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { - public bool nativePageReloads; - public bool nativeSourceCodeFetching; +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; } -struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { - public std::string url; +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; } -struct facebook::react::jsinspector_modern::NetworkResource { - public bool success; - public folly::dynamic toDynamic() const; - public std::optional headers; - public std::optional netErrorName; - public std::optional stream; - public std::optional httpStatusCode; +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; } -struct facebook::react::jsinspector_modern::PerfIssuePayload { - public std::optional description; - public std::optional learnMoreUrl; - public std::optional severity; - public std::string name; +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); } -struct facebook::react::jsinspector_modern::ReadStreamParams { - public facebook::react::jsinspector_modern::StreamID handle; - public std::optional offset; - public std::optional size; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); } -struct facebook::react::jsinspector_modern::SessionState { - public bool hasPendingTraceRecording; - public bool isDebuggerDomainEnabled; - public bool isLogDomainEnabled; - public bool isNetworkDomainEnabled; - public bool isReactNativeApplicationDomainEnabled; - public bool isRuntimeDomainEnabled; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; - public std::unordered_map subscribedBindings; - public std::vector scriptsToEvaluateOnNewDocument; - public std::vector pendingSimpleConsoleMessages; - public unsigned int nextScriptToEvaluateOnNewDocumentId; +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); } -struct facebook::react::jsinspector_modern::SessionState::ScriptToEvaluateOnNewDocument { - public std::string identifier; - public std::string source; +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); } -struct facebook::react::jsinspector_modern::SimpleConsoleMessage { - public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public std::vector args; - public ~SimpleConsoleMessage() = default; +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); } -template -class facebook::react::jsinspector_modern::EnumArray { - public constexpr ValueType& operator[](IndexType i); - public constexpr const ValueType& operator[](IndexType i) const; - public constexpr int size() const; +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; } -template -struct facebook::react::jsinspector_modern::UniqueMonostate { - public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -template -class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { - public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); - public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); - template - public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } template -class facebook::react::jsinspector_modern::WeakList { - public bool empty() const; - public size_t size() const; - public void insert(std::weak_ptr ptr); - template - public bool anyOf(Fn&& fn) const; - template - public bool anyOf(Fn&& fn); - template - public void forEach(Fn&& fn) const; - template - public void forEach(Fn&& fn); -} - - -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; -using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; -using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; -using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; -using facebook::react::jsinspector_modern::tracing::Headers = std::map; -using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; -using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; -using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; -int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); -std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); -std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); -std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); -std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); - -class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { - public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { - public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); - public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); - public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); -} - -class facebook::react::jsinspector_modern::tracing::PerformanceTracer { - public bool isTracing() const; - public bool startTracing(); - public bool startTracing(facebook::react::HighResDuration maxDuration); - public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); - public std::optional> stopTracing(); - public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); - public using TracingStateCallback = std::function; - public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); - public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); - public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); - public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); - public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); - public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); - public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); - public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); -} - -class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { - public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); - public bool hasParent() const; - public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; - public static constexpr uint32_t NO_PARENT; - public uint32_t getId() const; - public uint32_t getParentId() const; -} - -enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { - JavaScript, - Other, -} - -class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public virtual ~RawRuntimeProfile() = default; -} - -class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { - public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); - public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); -} - -class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; - public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public bool isRunningInBackgroundMode(); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { - public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); - public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { - public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); - public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); - public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); - public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); - public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); - public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); - public static size_t estimateJsonSize(const folly::dynamic& value); -} - -enum facebook::react::jsinspector_modern::tracing::Category { - Frame, - HiddenTimeline, - JavaScriptSampling, - RuntimeExecution, - Screenshot, - Timeline, - UserTiming, -} - -enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { - Error, - Primary, - PrimaryDark, - PrimaryLight, - Secondary, - SecondaryDark, - SecondaryLight, - Tertiary, - TertiaryDark, - TertiaryLight, - Warning, -} - -enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { - Microtasks, - Task, -} - -enum facebook::react::jsinspector_modern::tracing::Mode { - Background, - CDP, -} - -struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { - public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public ~EventLoopReporter(); -} - -struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { - public FrameTimingSequence() = delete; - public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); - public facebook::react::HighResDuration vsyncInterval; - public facebook::react::HighResTimeStamp beginTimestamp; - public facebook::react::HighResTimeStamp endTimestamp; - public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::optional> screenshot; -} - -struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { - public HostTracingProfile() = default; - public HostTracingProfile(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public HostTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public std::vector frameTimings; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~HostTracingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::IdGenerator { - public uint32_t getNext(); -} - -struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { - public std::vector performanceTraceEvents; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { - public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public std::string runtimeName; - public std::unique_ptr rawRuntimeProfile; - public std::vector samples; - public ~RuntimeSamplingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { - public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::vector callStack; - public uint64_t timestamp; - public ~Sample() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { - public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; - public std::optional scriptURL; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string_view functionName; - public uint32_t scriptId; -} - -enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { - GarbageCollector, - HostFunction, - JSFunction, - NativeFunction, -} - -struct facebook::react::jsinspector_modern::tracing::TraceEvent { - public char ph; - public facebook::react::HighResTimeStamp ts; - public facebook::react::jsinspector_modern::tracing::Categories cat; - public facebook::react::jsinspector_modern::tracing::ProcessId pid; - public facebook::react::jsinspector_modern::tracing::ThreadId tid; - public folly::dynamic args; - public std::optional s; - public std::optional dur; - public std::optional id; - public std::string name; +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; - public using TimeDeltas = std::vector; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { - public std::vector nodes; - public std::vector samples; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; - public std::optional parentId; - public uint32_t id; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { - public std::optional url; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string codeType; - public std::string functionName; - public uint32_t scriptId; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { - public TraceRecordingState(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public facebook::react::jsinspector_modern::tracing::Mode mode; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public std::optional windowSize; - public std::set enabledCategories; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~TraceRecordingState() = default; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); } template -class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { - public TimeWindowedBuffer(); - public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); - public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); - public using TimestampAccessor = std::function; - public void clear(); - public void push(T&& element); - public void push(const T& element); +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -template -class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { - public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; - public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public ~PerformanceTracerSection() noexcept; -} - - -using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; -using facebook::react::jsinspector_modern::cdp::RequestId = long long; -using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; -facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); -std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); - -enum facebook::react::jsinspector_modern::cdp::ErrorCode { - InternalError, - InvalidParams, - InvalidRequest, - MethodNotFound, - ParseError, -} - -struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { - public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; - public facebook::react::jsinspector_modern::cdp::RequestId id; - public folly::dynamic params; - public std::string method; - public std::string toJson() const; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); } - -using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; -std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); - -struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { - public double requestTime; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { } -struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int dataLength; - public int encodedDataLength; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); } -struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { - public bool canceled; - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string errorText; - public std::string requestId; - public std::string type; +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); } -struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -struct facebook::react::jsinspector_modern::cdp::network::Request { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::optional postData; - public std::string method; - public std::string url; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { - public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { - public bool redirectHasExtraInfo; - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Request request; - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::optional redirectResponse; - public std::string documentURL; - public std::string loaderId; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::Response { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); - public std::string mimeType; - public std::string statusText; - public std::string url; - public uint16_t status; -} - -struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { - public bool hasExtraInfo; - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::Response response; - public folly::dynamic toDynamic() const; - public std::string loaderId; - public std::string requestId; - public std::string type; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketClosedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketCreatedParams { - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::string requestId; - public std::string url; +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrame { - public bool mask; - public folly::dynamic toDynamic() const; - public int opcode; - public std::string payloadData; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrameParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketFrame response; - public folly::dynamic toDynamic() const; - public std::string requestId; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketHandshakeResponseReceivedParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketResponse response; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketResponse { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public static facebook::react::jsinspector_modern::cdp::network::WebSocketResponse fromInputParams(uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers); - public std::string statusText; - public uint16_t status; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketWillSendHandshakeRequestParams { - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); } - -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; -bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); -facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); -std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); -std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); - -struct facebook::react::dom::DOMBorderWidthRounded { - public int bottom; - public int left; - public int right; - public int top; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -struct facebook::react::dom::DOMOffset { - public double left; - public double top; - public std::shared_ptr offsetParent; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -struct facebook::react::dom::DOMPoint { - public double x; - public double y; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); } -struct facebook::react::dom::DOMRect { - public double height; - public double width; - public double x; - public double y; +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { } -struct facebook::react::dom::DOMSizeRounded { - public int height; - public int width; +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); } -struct facebook::react::dom::RNMeasureRect { - public double height; - public double pageX; - public double pageY; - public double width; - public double x; - public double y; +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); template @@ -8707,6 +2703,16 @@ struct facebook::react::array_detail::BridgingDynamic { } +template +C facebook::react::detail::memberFunctionClass(T C::*); + +class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { + public OwnedBytesBuffer(std::vector bytes) noexcept; + public virtual size_t size() const override; + public virtual uint8_t* data() override; +} + + template struct facebook::react::map_detail::Bridging { public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); @@ -8714,109 +2720,6 @@ struct facebook::react::map_detail::Bridging { } -uint64_t facebook::react::oscompat::getCurrentProcessId(); -uint64_t facebook::react::oscompat::getCurrentThreadId(); - - -using facebook::react::ReactMarker::LogTaggedMarker = std::function; -using facebook::react::ReactMarker::LogTaggedMarkerBridgeless = facebook::react::ReactMarker::LogTaggedMarker; -void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); -void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -facebook::react::ReactMarker::AtomicLogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; - -class facebook::react::ReactMarker::StartupLogger { - public double getAppStartupEndTime(); - public double getAppStartupStartTime(); - public double getInitReactRuntimeStartTime(); - public double getRunJSBundleStartTime(); - public static facebook::react::ReactMarker::StartupLogger& getInstance(); - public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); - public void reset(); -} - -enum facebook::react::ReactMarker::ReactMarkerId { - APP_STARTUP_START, - APP_STARTUP_STOP, - CREATE_REACT_CONTEXT_STOP, - INIT_REACT_RUNTIME_START, - INIT_REACT_RUNTIME_STOP, - JS_BUNDLE_STRING_CONVERT_START, - JS_BUNDLE_STRING_CONVERT_STOP, - NATIVE_MODULE_SETUP_START, - NATIVE_MODULE_SETUP_STOP, - NATIVE_REQUIRE_START, - NATIVE_REQUIRE_STOP, - REACT_INSTANCE_INIT_START, - REACT_INSTANCE_INIT_STOP, - REGISTER_JS_SEGMENT_START, - REGISTER_JS_SEGMENT_STOP, - RUN_JS_BUNDLE_START, - RUN_JS_BUNDLE_STOP, -} - -struct facebook::react::ReactMarker::AtomicLogTaggedMarker { - public facebook::react::ReactMarker::AtomicLogTaggedMarker& operator=(facebook::react::ReactMarker::LogTaggedMarker marker); - public operator bool() const noexcept; - public void operator()(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag) const; -} - -struct facebook::react::ReactMarker::ReactMarkerEvent { - public const char* tag; - public const facebook::react::ReactMarker::ReactMarkerId markerId; - public double time; -} - - -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); -void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); - - -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); - - void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); @@ -8860,9 +2763,6 @@ void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); -std::unique_ptr facebook::jsc::makeJSCRuntime(); - - using facebook::jsi::HostFunctionType = std::function; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); @@ -10636,18 +4536,6 @@ struct facebook::yoga::LayoutableChildren::Iterator { } -struct std::hash { - public size_t operator()(const facebook::react::AttributedString& attributedString) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; } @@ -10656,30 +4544,14 @@ struct std::hash { public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; } -struct std::hash { - public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; -} - struct std::hash { public size_t operator()(const facebook::react::Point& point) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Rect& rect) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::ShadowView& shadowView) const; -} - struct std::hash { public size_t operator()(const facebook::react::SharedColor& color) const; } @@ -10688,18 +4560,6 @@ struct std::hash { public size_t operator()(const facebook::react::Size& size) const; } -struct std::hash { - public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextEffectInfo& info) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Transform& transform) const; } @@ -10712,21 +4572,4 @@ struct std::hash> { template struct std::hash> { public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; -} - -struct std::hash { - public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; -} - -template -struct std::hash> { - public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; } \ No newline at end of file diff --git a/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api index f9313a060c5f..05433e06a97a 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonReleaseCxx.api @@ -17,86 +17,6 @@ struct YGValue { } -bool facebook::xplat::jsArgAsBool(const folly::dynamic& args, size_t n); -double facebook::xplat::jsArgAsDouble(const folly::dynamic& args, size_t n); -int64_t facebook::xplat::jsArgAsInt(const folly::dynamic& args, size_t n); -std::string facebook::xplat::jsArgAsString(const folly::dynamic& args, size_t n); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const &, const T &... desc); -template -R facebook::xplat::jsArg(const folly::dynamic& arg, R(folly::dynamic::*asFoo)() const, const T &... desc); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const &); -template -R facebook::xplat::jsArgN(const folly::dynamic& args, size_t n, R(folly::dynamic::*asFoo)() const); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsArray(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsDynamic(T&& args, size_t n); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::jsArgAsObject(T&& args, size_t n); - -class facebook::xplat::JsArgumentException : public std::logic_error { - public JsArgumentException(const std::string& msg); -} - - -class facebook::xplat::module::CxxModule { - public static constexpr AsyncTagType AsyncTag; - public static constexpr SyncTagType SyncTag; - public std::weak_ptr getInstance(); - public using Callback = std::function)>; - public using Provider = std::function()>; - public virtual std::map getConstants(); - public virtual std::string getName() = 0; - public virtual std::vector getMethods() = 0; - public virtual ~CxxModule() = default; - public void setInstance(std::weak_ptr instance); -} - -struct facebook::xplat::module::CxxModule::Method { - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc, SyncTagType); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc); - public Method(std::string aname, std::function&& afunc, AsyncTagType); - public bool isPromise; - public const char* getType(); - public size_t callbacks; - public std::function syncFunc; - public std::function func; - public std::string name; - template - public Method(std::string aname, T* t, void(T::*method)()); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback)); - template - public Method(std::string aname, T* t, void(T::*method)(folly::dynamic, facebook::xplat::module::CxxModule::Callback, facebook::xplat::module::CxxModule::Callback), AsyncTagType); -} - - -std::string facebook::xplat::detail::toStringHelper(); -template -R facebook::xplat::detail::jsArg1(const folly::dynamic& arg, M asFoo, const T &... desc); -template -std::string facebook::xplat::detail::toStringHelper(const T& value, const Rest &... rest); -template -facebook::xplat::detail::is_dynamic::type& facebook::xplat::detail::jsArgAsType(T&& args, size_t n, const char* required, bool(folly::dynamic::*isFoo)() const); -template -std::string facebook::xplat::detail::toStringHelper(const char* value, const Rest &... rest); - -template -struct facebook::xplat::detail::is_dynamic { - public using type = typename std::enable_if::value, T>::type; -} - - class facebook::hermes::IHermes : public facebook::jsi::ICast { protected ~IHermes() = default; public static constexpr facebook::jsi::UUID uuid; @@ -151,67 +71,16 @@ struct facebook::hermes::ISetEventLoopControl : public facebook::jsi::ICast { } -const char facebook::react::AndroidProgressBarComponentName[]; -const char facebook::react::AndroidSwitchComponentName[]; -const char facebook::react::AppleSwitchComponentName[]; -const char facebook::react::ImageComponentName[]; -const char facebook::react::ImageManagerKey[]; -const char facebook::react::InputAccessoryComponentName[]; -const char facebook::react::LegacyViewManagerAndroidInteropComponentName[]; -const char facebook::react::LegacyViewManagerInteropComponentName[]; -const char facebook::react::ModalHostViewComponentName[]; -const char facebook::react::ParagraphComponentName[]; -const char facebook::react::RawTextComponentName[]; -const char facebook::react::RootComponentName[]; -const char facebook::react::RuntimeSchedulerKey[]; -const char facebook::react::SafeAreaViewComponentName[]; -const char facebook::react::ScrollViewComponentName[]; -const char facebook::react::TextComponentName[]; -const char facebook::react::TextEffectComponentName[]; -const char facebook::react::UnimplementedViewComponentName[]; const char facebook::react::ViewComponentName[]; const facebook::react::EventTag facebook::react::EMPTY_EVENT_TAG; -constexpr auto facebook::react::kSimpleThreadSafeCacheSizeCap; constexpr char facebook::react::LayoutConformanceShadowNodeComponentName[]; -constexpr char facebook::react::VirtualViewComponentName[]; -constexpr char* const facebook::react::TextLayoutManagerKey; -constexpr facebook::react::HighResDuration facebook::react::DEFAULT_DURATION_THRESHOLD; -constexpr facebook::react::HighResDuration facebook::react::LONG_TASK_DURATION_THRESHOLD; constexpr facebook::react::ReactNativeVersionType facebook::react::ReactNativeVersion; constexpr facebook::react::Tag facebook::react::kNoTag; -constexpr float facebook::react::kDefaultEpsilon; -constexpr size_t facebook::react::EVENT_BUFFER_SIZE; -constexpr size_t facebook::react::LONG_TASK_BUFFER_SIZE; -constexpr size_t facebook::react::RESOURCE_TIMING_BUFFER_SIZE; constexpr uint32_t facebook::react::INITIAL_BUCKETS_SIZE; static const facebook::react::LayoutMetrics facebook::react::EmptyLayoutMetrics; static const facebook::react::TelemetryTimePoint facebook::react::kTelemetryUndefinedTimePoint; static constexpr auto facebook::react::kPropNameLengthHardCap; -static constexpr double facebook::react::SingleFrameIntervalMs; -static constexpr double facebook::react::TicksPerMs; static constexpr facebook::react::RawPropsValueIndex facebook::react::kRawPropsValueIndexEmpty; -static constexpr std::string_view facebook::react::ExtrapolateTypeClamp; -static constexpr std::string_view facebook::react::ExtrapolateTypeExtend; -static constexpr std::string_view facebook::react::ExtrapolateTypeIdentity; -template -using facebook::react::CSSCompoundDataType = std::variant; -template -using facebook::react::CSSCommaSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSWhitespaceSeparatedList = facebook::react::CSSList; -template -using facebook::react::CSSMergedDataTypes = typename facebook::react::detail::merge_data_types::type; -template -using facebook::react::CSSVariantWithTypes = typename facebook::react::detail::merge_variant::type; -template -using facebook::react::EventListenerT = std::function; -typedef std::function facebook::react::ValueListenerCallback; -typedef std::tuple facebook::react::RectAsTuple; -typedef void(*facebook::react::WarnOnUsageLogger)(std::string message); -using facebook::react::ActivePointerRegistry = std::unordered_map; -using facebook::react::AnimationEndCallback = facebook::react::AsyncCallback; -using facebook::react::AnimationTimestamp = std::chrono::duration; -using facebook::react::BackgroundExecutor = std::function&& callback)>; using facebook::react::BackgroundImage = std::variant; using facebook::react::BackgroundSize = std::variant; using facebook::react::BorderColors = facebook::react::RectangleEdges; @@ -219,22 +88,7 @@ using facebook::react::BorderCurves = facebook::react::RectangleCorners; using facebook::react::BorderStyles = facebook::react::RectangleEdges; using facebook::react::BorderWidths = facebook::react::RectangleEdges; -using facebook::react::CSSBackgroundImage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSBackgroundImageList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSFilterFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSFilterList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSFontVariantList = facebook::react::CSSWhitespaceSeparatedList; -using facebook::react::CSSLengthPercentage = facebook::react::CSSCompoundDataType; -using facebook::react::CSSPreservedToken = facebook::react::CSSToken; -using facebook::react::CSSRadialGradientSize = std::variant; -using facebook::react::CSSShadowList = facebook::react::CSSCommaSeparatedList; -using facebook::react::CSSTransformFunction = facebook::react::CSSCompoundDataType; -using facebook::react::CSSTransformList = facebook::react::CSSWhitespaceSeparatedList; using facebook::react::CallFunc = std::function; -using facebook::react::Callback = std::function; -using facebook::react::CallbackHandle = facebook::jsi::Object; -using facebook::react::CallbackId = uint64_t; -using facebook::react::CaptureTargetOverrideRegistry = std::unordered_map>; using facebook::react::CascadedBorderColors = facebook::react::CascadedRectangleEdges; using facebook::react::CascadedBorderCurves = facebook::react::CascadedRectangleCorners; using facebook::react::CascadedBorderRadii = facebook::react::CascadedRectangleCorners; @@ -244,172 +98,46 @@ using facebook::react::ComponentDescriptorConstructor = facebook::react::Compone using facebook::react::ComponentDescriptorProviderRequest = std::function; using facebook::react::ComponentHandle = int64_t; using facebook::react::ComponentName = const char*; -using facebook::react::ComponentRegistryFactory = std::function& contextContainer)>; using facebook::react::CornerInsets = facebook::react::RectangleCorners; -using facebook::react::DispatchEvent = std::function; using facebook::react::EdgeInsets = facebook::react::RectangleEdges; -using facebook::react::EndResult = NativeAnimatedTurboModuleEndResult, std::optional>; -using facebook::react::EventEmitterListener = facebook::react::EventListenerT; -using facebook::react::EventEmitterListenerContainer = facebook::react::EventListenerContainerT; using facebook::react::EventListener = std::function; using facebook::react::EventPipe = std::function; using facebook::react::EventPipeConclusion = std::function; using facebook::react::EventTag = unsigned int; -using facebook::react::GarbageCollectionTrigger = std::function; using facebook::react::GradientDirection = std::variant; -using facebook::react::HasComponentProviderFunctionType = std::function; -using facebook::react::Headers = std::map; using facebook::react::HostPlatformTouch = facebook::react::BaseTouch; using facebook::react::HostPlatformViewEventEmitter = facebook::react::BaseViewEventEmitter; using facebook::react::ImageSources = std::vector; -using facebook::react::InteractionTypesMap = std::unordered_map; -using facebook::react::IntersectionObserverObserverId = int32_t; -using facebook::react::JSIScopedTimeoutInvoker = std::function& invokee, std::function errorMessageProducer)>; using facebook::react::LayoutConformanceComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::LegacyViewManagerAndroidInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LegacyViewManagerInteropShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::LineMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::LinesMeasurements = std::vector; -using facebook::react::Logger = std::function; -using facebook::react::MeasureInWindowOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureLayoutOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MeasureOnSuccessCallback = facebook::react::SyncCallback; -using facebook::react::MethodCallResult = std::optional; -using facebook::react::MountingTransactionCallback = std::function; -using facebook::react::MutationObserverId = int32_t; -using facebook::react::NativeIntersectionObserverEntry = NativeIntersectionObserverNativeIntersectionObserverEntry; -using facebook::react::NativeIntersectionObserverIntersectionObserverId = int32_t; -using facebook::react::NativeIntersectionObserverObserveOptions = NativeIntersectionObserverNativeIntersectionObserverObserveOptions>, std::shared_ptr, std::vector, std::optional>, std::optional>; using facebook::react::NativeMethodCallFunc = std::function; -using facebook::react::NativeMutationObserverObserveOptions = NativeMutationObserverNativeMutationObserverObserveOptions, bool>; -using facebook::react::NativeMutationRecord = NativeMutationObserverNativeMutationRecord, std::vector>; -using facebook::react::NativePartialReloadAndProfileConfig = NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfig, std::optional>; -using facebook::react::NativePerformancePerformanceObserverCallback = facebook::react::AsyncCallback<>; -using facebook::react::NativePerformancePerformanceObserverObserveOptions = NativePerformancePerformanceObserverInit>, std::optional, std::optional, std::optional>; -using facebook::react::NativeReloadAndProfileConfig = NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfig; -using facebook::react::NativeRequestIdleCallbackOptions = NativeIdleCallbacksRequestIdleCallbackOptions>; -using facebook::react::NativeResizeObserverEntry = NativeResizeObserverNativeResizeObserverEntry; -using facebook::react::NativeResizeObserverNotifyCallback = facebook::react::SyncCallback; -using facebook::react::NativeResizeObserverObserveOptions = NativeResizeObserverNativeResizeObserverObserveOptions, std::optional>; -using facebook::react::OnMutations = std::function&)>; -using facebook::react::ParagraphProps = HostPlatformParagraphProps; -using facebook::react::PerformanceEntry = std::variant; -using facebook::react::PerformanceEntryInteractionId = uint32_t; -using facebook::react::PerformanceObserverCallback = std::function; -using facebook::react::PerformanceObserverEntryTypeFilter = std::unordered_set; -using facebook::react::PointerHoverTrackerRegistry = std::unordered_map; -using facebook::react::PointerIdentifier = int32_t; using facebook::react::PromiseSetupFunctionType = std::function)>; -using facebook::react::RawCallback = std::function; using facebook::react::RawPropsPropNameHash = uint32_t; using facebook::react::RawPropsPropNameLength = uint16_t; using facebook::react::RawPropsValueIndex = uint16_t; -using facebook::react::RawTextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ResizeObserverObserverId = int32_t; -using facebook::react::RootComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::RuntimeExecutor = std::function&& callback)>; -using facebook::react::RuntimeSchedulerRenderingUpdate = std::function; -using facebook::react::RuntimeSchedulerTaskErrorHandler = std::function; -using facebook::react::ScrollViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::ScrollViewProps = HostPlatformScrollViewProps; -using facebook::react::ShadowTreeCommitTransaction = std::function; -using facebook::react::ShadowViewMutationList = std::vector; using facebook::react::SharedComponentDescriptor = std::shared_ptr; using facebook::react::SharedComponentDescriptorRegistry = std::shared_ptr; using facebook::react::SharedEventEmitter = std::shared_ptr; using facebook::react::SharedEventPayload = std::shared_ptr; using facebook::react::SharedEventTarget = std::shared_ptr; -using facebook::react::SharedParagraphAttributes = std::shared_ptr; -using facebook::react::SharedRawTextProps = std::shared_ptr; -using facebook::react::SharedScrollViewProps = std::shared_ptr; using facebook::react::SharedShadowNodeFamily = std::shared_ptr; -using facebook::react::SharedTextAttributes = std::shared_ptr; using facebook::react::SharedTouchEventEmitter = std::shared_ptr; using facebook::react::SharedViewEventEmitter = std::shared_ptr; using facebook::react::SharedViewProps = std::shared_ptr; -using facebook::react::SizeAsTuple = std::tuple; -using facebook::react::SnapshotMap = std::unordered_map>; using facebook::react::StatePipe = std::function; using facebook::react::SurfaceId = int32_t; using facebook::react::Tag = int32_t; using facebook::react::TelemetryClock = std::chrono::steady_clock; using facebook::react::TelemetryDuration = std::chrono::nanoseconds; using facebook::react::TelemetryTimePoint = facebook::react::TelemetryClock::time_point; -using facebook::react::TextComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectComponentDescriptor = facebook::react::ConcreteComponentDescriptor; -using facebook::react::TextEffectEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextEventEmitter = facebook::react::TouchEventEmitter; -using facebook::react::TextLayoutManagerExtended = facebook::react::detail::TextLayoutManagerExtended; -using facebook::react::TextMeasureCache = facebook::react::SimpleThreadSafeCache; -using facebook::react::TimePointFunction = std::chrono::steady_clock::time_point(*)(); -using facebook::react::TimerHandle = int; -using facebook::react::TimerManagerDelegate = facebook::react::PlatformTimerRegistry; using facebook::react::Touch = facebook::react::HostPlatformTouch; using facebook::react::Touches = std::unordered_set; -using facebook::react::TraceSectionUnwrapped = facebook::react::DummyTraceSection; using facebook::react::TurboModuleProviderFunctionTypeWithRuntime = std::function(facebook::jsi::Runtime& runtime, const std::string& name)>; -using facebook::react::UiTask = std::function; -using facebook::react::UnimplementedViewShadowNode = facebook::react::ConcreteViewShadowNode; -using facebook::react::UserTimingDetailProvider = std::function; using facebook::react::ValueFactory = std::function; using facebook::react::ViewEventEmitter = facebook::react::HostPlatformViewEventEmitter; -using facebook::react::ViewNodePairScope = std::deque; using facebook::react::ViewProps = facebook::react::HostPlatformViewProps; using facebook::react::ViewShadowNodeProps = facebook::react::ViewProps; -using facebook::react::VirtualViewComponentDescriptor = facebook::react::ConcreteComponentDescriptor; using facebook::react::parsePlatformColorFn = facebook::react::SharedColor(*)(const facebook::react::ContextContainer&, int32_t, const facebook::react::RawValue&); -template -concept facebook::react::CacheGeneratorFunction = std::invocable && std::same_as, ValueT>; -template -concept facebook::react::CSSUniqueComponentValueVisitors = CSSSyntaxVisitorReturn&& (CSSComponentValueVisitor && ...) && - ((CSSFunctionVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSPreservedTokenVisitor ? 1 : 0) + ... + 0) <= 1&& - ((CSSSimpleBlockVisitor ? 1 : 0) + ... + 0) <= 1; -template -concept facebook::react::CSSFunctionBlockSink = requires(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser) { - { T::consumeFunctionBlock(func, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSParserSink = requires(facebook::react::CSSValueParser& parser) { - { T::consume(parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenSink = requires(const facebook::react::CSSPreservedToken& token) { - { T::consumePreservedToken(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockSink = requires(const facebook::react::CSSSimpleBlock& block, facebook::react::CSSValueParser& parser) { - { T::consumeSimpleBlock(block, parser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSValidDataTypeParser = ((CSSFunctionBlockSink || CSSSimpleBlockSink || CSSPreservedTokenSink) && - !CSSParserSink) || -CSSParserSink; -template -concept facebook::react::CSSComponentValueVisitor = CSSSyntaxVisitorReturn&& - (CSSFunctionVisitor || CSSPreservedTokenVisitor || CSSSimpleBlockVisitor); -template -concept facebook::react::CSSFunctionVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSFunctionBlock func, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(func, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSPreservedTokenVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSPreservedToken token) { - { visitor(token) } -> std::convertible_to; -}; -template -concept facebook::react::CSSSimpleBlockVisitor = CSSSyntaxVisitorReturn && requires(T visitor, facebook::react::CSSSimpleBlock block, facebook::react::CSSSyntaxParser& blockParser) { - { visitor(block, blockParser) } -> std::convertible_to; -}; -template -concept facebook::react::CSSDataType = CSSValidDataTypeParser, std::optional> && std::equality_comparable; -template -concept facebook::react::CSSKeywordSet = std::is_enum_v && std::is_same_v, std::underlying_type_t>; -template -concept facebook::react::CSSMaybeCompoundDataType = CSSDataType || CSSValidCompoundDataType; -template -concept facebook::react::CSSSyntaxVisitorReturn = std::is_default_constructible_v && std::equality_comparable; -template -concept facebook::react::CSSValidCompoundDataType = facebook::react::detail::is_variant_of_data_types::value; template concept facebook::react::DeclaresOwnSetProp = std::is_same_v; template @@ -427,167 +155,66 @@ template concept facebook::react::RawPropsFilterable = requires(facebook::react::RawProps& rawProps) { { T::filterRawProps(rawProps) } -> std::same_as; }; -template -concept facebook::react::TextLayoutManagerWithPreparedTextLayout = requires( - TextLayoutManagerT textLayoutManager, - facebook::react::AttributedString attributedString, - facebook::react::ParagraphAttributes paragraphAttributes, - facebook::react::TextLayoutContext layoutContext, - facebook::react::LayoutConstraints layoutConstraints, - typename TextLayoutManagerT::PreparedTextLayout preparedTextLayout) { - sizeof(typename TextLayoutManagerT::PreparedTextLayout); - { - textLayoutManager.prepareLayout(attributedString, paragraphAttributes, layoutContext, layoutConstraints) - } -> std::same_as; - { - textLayoutManager.measurePreparedLayout(preparedTextLayout, layoutContext, layoutConstraints) - } -> std::same_as; -}; Float facebook::react::floatFromYogaFloat(float value); Float facebook::react::floatFromYogaOptionalFloat(facebook::yoga::FloatOptional value); YGDirection facebook::react::yogaDirectionFromLayoutDirection(facebook::react::LayoutDirection direction); -bool facebook::react::areAttributedStringFragmentsEquivalentDisplayWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringFragmentsEquivalentLayoutWise(const facebook::react::AttributedString::Fragment& lhs, const facebook::react::AttributedString::Fragment& rhs); -bool facebook::react::areAttributedStringsEquivalentDisplayWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); -bool facebook::react::areAttributedStringsEquivalentLayoutWise(const facebook::react::AttributedString& lhs, const facebook::react::AttributedString& rhs); bool facebook::react::areBorderRadiiCircular(const facebook::react::BorderRadii& borderRadii); -bool facebook::react::areTextAttributesEquivalentLayoutWise(const facebook::react::TextAttributes& lhs, const facebook::react::TextAttributes& rhs); -bool facebook::react::hasAccurateCPUTimeNanosForBenchmarks(); bool facebook::react::isColorMeaningful(const facebook::react::SharedColor& color) noexcept; bool facebook::react::isHermesBytecodeBundle(const facebook::react::BundleHeader& header); bool facebook::react::isZero(Float n); const char* facebook::react::stringForScriptTag(const facebook::react::ScriptTag& tag); -const facebook::react::InteractionTypesMap& facebook::react::getInteractionTypes(); -const std::unordered_set& facebook::react::getDirectManipulationAllowlist(); constexpr auto facebook::react::to_underlying(auto e) noexcept; -constexpr bool facebook::react::iequals(std::string_view a, std::string_view b); constexpr char facebook::react::toLower(char c); -constexpr float facebook::react::canonicalize(float value, facebook::react::CSSAngleUnit unit); -constexpr std::optional facebook::react::parseCSSAngleUnit(std::string_view unit); -constexpr std::optional facebook::react::parseCSSLengthUnit(std::string_view unit); constexpr uint32_t facebook::react::fnv1aLowercase(std::string_view string); -double facebook::react::ceil(double value) noexcept; -double facebook::react::floor(double value) noexcept; -double facebook::react::getCPUTimeNanos(); -double facebook::react::interpolate(double inputValue, double inputMin, double inputMax, double outputMin, double outputMax, std::string_view extrapolateLeft, std::string_view extrapolateRight); -double facebook::react::round(double value) noexcept; facebook::jsi::Value facebook::react::createPromiseAsJSIValue(facebook::jsi::Runtime& rt, facebook::react::PromiseSetupFunctionType&& func); facebook::react::ColorComponents facebook::react::colorComponentsFromColor(facebook::react::SharedColor color); facebook::react::ColorSpace facebook::react::getDefaultColorSpace(); -facebook::react::ComponentBuilder facebook::react::simpleComponentBuilder(std::shared_ptr contextContainer = nullptr); -facebook::react::ComponentRegistryFactory facebook::react::getDefaultComponentRegistryFactory(); facebook::react::DisplayType facebook::react::displayTypeFromYGDisplay(YGDisplay display); facebook::react::LayoutMetrics facebook::react::layoutMetricsFromYogaNode(facebook::yoga::Node& yogaNode); -facebook::react::ParagraphAttributes facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const facebook::react::ParagraphAttributes& sourceParagraphAttributes, const facebook::react::ParagraphAttributes& defaultParagraphAttributes); facebook::react::Rect facebook::react::insetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& insets) noexcept; facebook::react::Rect facebook::react::outsetBy(const facebook::react::Rect& rect, const facebook::react::EdgeInsets& outsets) noexcept; facebook::react::ScriptTag facebook::react::parseTypeFromHeader(const facebook::react::BundleHeader& header); -facebook::react::ShadowView facebook::react::shadowViewFromShadowNode(const facebook::react::ShadowNode& shadowNode); -facebook::react::ShadowViewMutation::List facebook::react::calculateShadowViewMutations(const facebook::react::ShadowNode& oldRootShadowNode, const facebook::react::ShadowNode& newRootShadowNode); facebook::react::SharedColor facebook::react::blackColor(); facebook::react::SharedColor facebook::react::clearColor(); -facebook::react::SharedColor facebook::react::coerceColor(const facebook::react::RawValue& value, const facebook::react::PropsParserContext& context); facebook::react::SharedColor facebook::react::colorFromComponents(facebook::react::ColorComponents components); facebook::react::SharedColor facebook::react::colorFromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a); facebook::react::SharedColor facebook::react::whiteColor(); -facebook::react::Size facebook::react::ModalHostViewScreenSize(void); facebook::react::Size facebook::react::yogaMeassureToSize(int64_t value); facebook::react::SurfaceId facebook::react::getNextRootViewTag() noexcept; facebook::react::TurboModuleMethodValueKind facebook::react::getTurboModuleMethodValueKind(facebook::jsi::Runtime& rt, const facebook::jsi::Value* value); facebook::react::ValueUnit facebook::react::toValueUnit(const facebook::react::RawValue& value); facebook::yoga::FloatOptional facebook::react::convertAspectRatio(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value); facebook::yoga::FloatOptional facebook::react::yogaOptionalFloatFromFloat(Float value); -float facebook::react::ceil(float value) noexcept; -float facebook::react::floor(float value) noexcept; -float facebook::react::round(float value) noexcept; float facebook::react::yogaFloatFromFloat(Float value); folly::dynamic facebook::react::diffDynamicProps(const folly::dynamic& oldProps, const folly::dynamic& newProps); folly::dynamic facebook::react::mergeDynamicProps(const folly::dynamic& source, const folly::dynamic& patch, facebook::react::NullValueStrategy nullValueStrategy); -folly::dynamic facebook::react::toDynamic(const facebook::react::SubmitBehavior& value); int facebook::react::toInt(const facebook::react::DisplayType& displayType); int facebook::react::toInt(const facebook::react::LayoutDirection& layoutDirection); -long double facebook::react::ceil(long double value) noexcept; -long double facebook::react::floor(long double value) noexcept; -long double facebook::react::round(long double value) noexcept; -size_t facebook::react::attributedStringFragmentHashDisplayWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringFragmentHashLayoutWise(const facebook::react::AttributedString::Fragment& fragment); -size_t facebook::react::attributedStringHashDisplayWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::attributedStringHashLayoutWise(const facebook::react::AttributedString& attributedString); -size_t facebook::react::textAttributesHashLayoutWise(const facebook::react::TextAttributes& textAttributes); -std::function facebook::react::makeCallback(std::weak_ptr instance, const folly::dynamic& callbackId); -std::optional facebook::react::coerceLength(const facebook::react::RawValue& value); std::optional facebook::react::optionalFloatFromYogaValue(const facebook::yoga::Style::Length& length, std::optional base = {}); std::optional facebook::react::blendModeFromString(std::string_view blendModeName); std::optional facebook::react::filterTypeFromString(std::string_view filterName); -std::optional facebook::react::fontVariantFromCSSFontVariant(facebook::react::CSSFontVariant cssVariant); std::optional facebook::react::isolationFromString(std::string_view isolationSetting); -std::pair facebook::react::calculateAnimationProgress(uint64_t now, const facebook::react::LayoutAnimation& animation, const facebook::react::AnimationConfig& mutationConfig); -std::string facebook::react::base64Encode(const std::string_view s); -std::string facebook::react::componentNameByReactViewName(std::string viewName); -std::string facebook::react::generateRandomUuidString(); std::string facebook::react::toString(const double& value); std::string facebook::react::toString(const facebook::react::AccessibilityRole& accessibilityRole); -std::string facebook::react::toString(const facebook::react::AttributedString::Range& range); std::string facebook::react::toString(const facebook::react::BlendMode& blendMode); std::string facebook::react::toString(const facebook::react::DisplayType& displayType); -std::string facebook::react::toString(const facebook::react::DynamicTypeRamp& dynamicTypeRamp); -std::string facebook::react::toString(const facebook::react::EllipsizeMode& ellipsisMode); std::string facebook::react::toString(const facebook::react::FilterType& filterType); -std::string facebook::react::toString(const facebook::react::FontStyle& fontStyle); -std::string facebook::react::toString(const facebook::react::FontVariant& fontVariant); -std::string facebook::react::toString(const facebook::react::FontWeight& fontWeight); -std::string facebook::react::toString(const facebook::react::HyphenationFrequency& hyphenationFrequency); std::string facebook::react::toString(const facebook::react::ImageResizeMode& value); std::string facebook::react::toString(const facebook::react::ImageSource& value); std::string facebook::react::toString(const facebook::react::ImportantForAccessibility& importantForAccessibility); std::string facebook::react::toString(const facebook::react::LayoutDirection& layoutDirection); -std::string facebook::react::toString(const facebook::react::LineBreakMode& lineBreakMode); -std::string facebook::react::toString(const facebook::react::LineBreakStrategy& lineBreakStrategy); std::string facebook::react::toString(const facebook::react::Role& role); -std::string facebook::react::toString(const facebook::react::ScrollViewSnapToAlignment& value); std::string facebook::react::toString(const facebook::react::SharedColor& value); -std::string facebook::react::toString(const facebook::react::TextAlignment& textAlignment); -std::string facebook::react::toString(const facebook::react::TextAlignmentVertical& textAlignment); -std::string facebook::react::toString(const facebook::react::TextBreakStrategy& textBreakStrategy); -std::string facebook::react::toString(const facebook::react::TextDecorationLineType& textDecorationLineType); -std::string facebook::react::toString(const facebook::react::TextDecorationStyle& textDecorationStyle); -std::string facebook::react::toString(const facebook::react::TextTransform& textTransform); -std::string facebook::react::toString(const facebook::react::TextWidthMode& textWidthMode); -std::string facebook::react::toString(const facebook::react::WritingDirection& writingDirection); std::string facebook::react::toString(double doubleValue, char suffix); std::string facebook::react::toString(facebook::react::AccessibilityLiveRegion accessibilityLiveRegion); std::string facebook::react::toString(facebook::react::PointerEventsMode value); -std::string_view facebook::react::getInteractionTypeForEvent(std::string_view eventName); std::unordered_map(std::shared_ptr jsInvoker)>>& facebook::react::globalExportedCxxTurboModuleMap(); -std::vector facebook::react::parseNormalizedRootMargin(const std::string& marginStr); -std::vector facebook::react::parseMethodCalls(folly::dynamic&& jsonData); -std::vector facebook::react::sliceChildShadowNodeViewPairs(const facebook::react::ShadowViewNodePair& shadowNodePair, facebook::react::ViewNodePairScope& viewNodePairScope, bool allowFlattened, facebook::react::Point layoutOffset, const facebook::react::CullingContext& cullingContext); -template -constexpr std::optional facebook::react::parseCSSKeyword(std::string_view ident); -template -constexpr facebook::react::CSSVariantWithTypes, std::monostate> facebook::react::parseCSSProperty(std::string_view css); -template -Float facebook::react::roundToPixel(Float value, Float scaleFactor); -template -facebook::react::Point facebook::react::roundToPixel(facebook::react::Point value, Float scaleFactor); -template -facebook::react::Rect facebook::react::roundToPixel(facebook::react::Rect value, Float scaleFactor); -template -facebook::react::Size facebook::react::roundToPixel(facebook::react::Size value, Float scaleFactor); template std::size_t facebook::react::hash_combine(const T& v, const Args &... args); template void facebook::react::hash_combine(std::size_t& seed, const T& v, const Rest &... rest); template void facebook::react::hash_combine_optionals(std::size_t& seed, const std::optional &... optionals); -template ::type> -facebook::react::MoveWrapper facebook::react::makeMoveWrapper(T&& t); -template -constexpr std::optional facebook::react::parseCSSColorFunction(std::string_view colorFunction, facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::parseCSSHexColor(std::string_view hexColorValue); -template -constexpr std::optional facebook::react::parseCSSNamedColor(std::string_view name); template constexpr uint32_t facebook::react::fnv1a(std::string_view string) noexcept; template @@ -599,12 +226,6 @@ DestinationTimePointT facebook::react::clockCast(SourceTimePointT timePoint); template T facebook::react::convertRawProp(const facebook::react::PropsParserContext& context, const facebook::react::RawProps& rawProps, const char* name, const T& sourceValue, const U& defaultValue); template -T facebook::react::get(const facebook::react::AnimatedPropBase& animatedProp); -template -T facebook::react::get(const std::unique_ptr& animatedProp); -template -bool facebook::react::floatEquality(T a, T b, T epsilon = static_cast(facebook::react::kDefaultEpsilon)); -template void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, T& result, T defaultValue); template void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& rawValue, std::optional& result); @@ -620,11 +241,6 @@ uint8_t facebook::react::alphaFromColor(facebook::react::SharedColor color) noex uint8_t facebook::react::blueFromColor(facebook::react::SharedColor color) noexcept; uint8_t facebook::react::greenFromColor(facebook::react::SharedColor color) noexcept; uint8_t facebook::react::redFromColor(facebook::react::SharedColor color) noexcept; -void facebook::react::bindHasComponentProvider(facebook::jsi::Runtime& runtime, facebook::react::HasComponentProviderFunctionType&& provider); -void facebook::react::bindNativeLogger(facebook::jsi::Runtime& runtime, facebook::react::Logger logger); -void facebook::react::bindNativePerformanceNow(facebook::jsi::Runtime& runtime); -void facebook::react::cloneProp(facebook::react::BaseViewProps& viewProps, const facebook::react::AnimatedPropBase& animatedProp); -void facebook::react::defineReadOnlyGlobal(facebook::jsi::Runtime& runtime, const std::string& propName, facebook::jsi::Value&& value); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, YGValue& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityAction& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityLabelledBy& result); @@ -632,36 +248,17 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityRole& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityState& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AccessibilityTraits& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::AttributedString::Range& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BackfaceVisibility& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderCurve& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::BorderStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ContentInsetAdjustmentBehavior& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Cursor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::DynamicTypeRamp& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::EllipsizeMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontWeight& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::HyphenationFrequency& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ImportantForAccessibility& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::LineBreakStrategy& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::OutlineStyle& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::PointerEventsMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Role& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewIndicatorStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewKeyboardDismissMode& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewMaintainVisibleContentPosition& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::ScrollViewSnapToAlignment& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::SharedColor& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextAlignment& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextBreakStrategy& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationLineType& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextDecorationStyle& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TextTransform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::Transform& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::TransformOrigin& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::WritingDirection& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Align& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Direction& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Display& result); @@ -672,9 +269,6 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext& co void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::PositionType& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Style::Length& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::yoga::Wrap& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::AccessibilityValue& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::BlendMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::CornerInsets& result); @@ -683,12 +277,8 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ImageSource& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Isolation& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LayoutConformance& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::LineBreakMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Point& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::Size& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::SubmitBehavior& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextAlignmentVertical& result); -void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::TextWidthMode& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::ValueUnit& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::BoxSizing& result); void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::yoga::Style::SizeLength& result); @@ -697,32 +287,16 @@ void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, c void facebook::react::fromRawValue(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, std::vector& result); void facebook::react::fromRawValueShared(const facebook::react::ContextContainer& contextContainer, int32_t surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result, facebook::react::parsePlatformColorFn parsePlatformColor); void facebook::react::fromString(const std::string& string, facebook::react::AccessibilityTraits& result); -void facebook::react::g_setNativeAnimatedNowTimestampFunction(facebook::react::TimePointFunction nowFunction); -void facebook::react::handleJSError(facebook::jsi::Runtime& runtime, const facebook::jsi::JSError& error, bool isFatal); -void facebook::react::mergeAnimatedRawProps(folly::dynamic& target, const folly::dynamic& source); -void facebook::react::parseProcessedBackgroundImage(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, std::vector& result); -void facebook::react::parseProcessedFontVariant(const facebook::react::PropsParserContext&, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedBackgroundImageList(const facebook::react::PropsParserContext& context, const std::vector& value, std::vector& result); -void facebook::react::parseUnprocessedBackgroundImageString(const std::string& value, std::vector& result); -void facebook::react::parseUnprocessedFontVariant(const facebook::react::PropsParserContext& context, const facebook::react::RawValue& value, facebook::react::FontVariant& result); -void facebook::react::parseUnprocessedFontVariantString(const std::string& value, facebook::react::FontVariant& result); void facebook::react::parseUnprocessedTransformOriginString(const std::string& value, facebook::react::TransformOrigin& result); void facebook::react::registerCxxModuleToGlobalModuleMap(std::string name, std::function(std::shared_ptr jsInvoker)> moduleProviderFunc); void facebook::react::serializeTransformAxis(const facebook::react::TransformOperation& operation, const std::string& operationName, float defaultValue, folly::dynamic& resultTranslateArray); void facebook::react::serializeTransformOperationValue(const std::string& operationName, const facebook::react::ValueUnit& valueUnit, folly::dynamic& resultArray); void facebook::react::setDefaultColorSpace(facebook::react::ColorSpace newColorSpace); void facebook::react::setTouchPayloadOnObject(facebook::jsi::Object& object, facebook::jsi::Runtime& runtime, const facebook::react::BaseTouch& touch); -void facebook::react::updateMountedFlag(const std::vector>& oldChildren, const std::vector>& newChildren, facebook::react::ShadowTreeCommitSource commitSource); -void facebook::react::updateProp(const facebook::react::PropName propName, facebook::react::BaseViewProps& viewProps, const facebook::react::PropsSnapshot& snapshot); void facebook::react::updateTransformProps(const facebook::react::Transform& transform, const facebook::react::TransformOperation& operation, folly::dynamic& resultTranslateArray); -bool facebook::react::operator==(const facebook::react::AttributedStringBox& lhs, const facebook::react::AttributedStringBox& rhs); bool facebook::react::operator==(const facebook::react::LayoutConstraints& lhs, const facebook::react::LayoutConstraints& rhs); bool facebook::react::operator==(const facebook::react::LayoutContext& lhs, const facebook::react::LayoutContext& rhs); -bool facebook::react::operator==(const facebook::react::LineMeasureCacheKey& lhs, const facebook::react::LineMeasureCacheKey& rhs); -bool facebook::react::operator==(const facebook::react::PerformanceObserver& lhs, const facebook::react::PerformanceObserver& rhs); -bool facebook::react::operator==(const facebook::react::PreparedTextCacheKey& lhs, const facebook::react::PreparedTextCacheKey& rhs); bool facebook::react::operator==(const facebook::react::Size& rhs, const facebook::react::Size& lhs) noexcept; -bool facebook::react::operator==(const facebook::react::TextMeasureCacheKey& lhs, const facebook::react::TextMeasureCacheKey& rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityState& lhs, const facebook::react::AccessibilityState& rhs); constexpr bool facebook::react::operator==(const facebook::react::AccessibilityValue& lhs, const facebook::react::AccessibilityValue& rhs); constexpr enum facebook::react::AccessibilityTraits facebook::react::operator&(const enum facebook::react::AccessibilityTraits lhs, const enum facebook::react::AccessibilityTraits rhs); @@ -771,183 +345,6 @@ class facebook::react::AccessibilityProps { public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::AdditionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public AdditionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::AndroidProgressBarComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public AndroidProgressBarComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::AndroidProgressBarMeasurementsManager { - public AndroidProgressBarMeasurementsManager(const std::shared_ptr& contextContainer); - public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, const AndroidProgressBarProps& props, facebook::react::LayoutConstraints layoutConstraints) const; -} - -class facebook::react::AndroidProgressBarShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidProgressBarShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidProgressBarShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public void setAndroidProgressBarMeasurementsManager(const std::shared_ptr& measurementsManager); -} - -class facebook::react::AndroidSwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public AndroidSwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::AndroidSwitchMeasurementsManager { - public AndroidSwitchMeasurementsManager(const std::shared_ptr& contextContainer); - public facebook::react::Size measure(facebook::react::SurfaceId surfaceId, facebook::react::LayoutConstraints layoutConstraints) const; -} - -class facebook::react::AndroidSwitchShadowNode : public facebook::react::ConcreteViewShadowNode { - public AndroidSwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public AndroidSwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public void setAndroidSwitchMeasurementsManager(const std::shared_ptr& measurementsManager); -} - -class facebook::react::AnimatedModule : public NativeAnimatedModuleCxxSpec, public facebook::react::TurboModuleWithJSIBindings { - public AnimatedModule(std::shared_ptr jsInvoker, std::shared_ptr nodesManagerProvider); - public void addAnimatedEventToView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::jsi::Object eventMapping); - public void addListener(facebook::jsi::Runtime& rt, const std::string& eventName); - public void connectAnimatedNodeToShadowNodeFamily(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::jsi::Object shadowNode); - public void connectAnimatedNodeToView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void connectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void createAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); - public void disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, facebook::react::Tag viewTag); - public void disconnectAnimatedNodes(facebook::jsi::Runtime& rt, facebook::react::Tag parentTag, facebook::react::Tag childTag); - public void dropAnimatedNode(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void finishOperationBatch(facebook::jsi::Runtime& rt); - public void flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void getValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::react::AsyncCallback saveValueCallback); - public void queueAndExecuteBatchedOperations(facebook::jsi::Runtime& rt, facebook::jsi::Array operationsAndArgs); - public void removeAnimatedEventFromView(facebook::jsi::Runtime& rt, facebook::react::Tag viewTag, std::string eventName, facebook::react::Tag animatedNodeTag); - public void removeListeners(facebook::jsi::Runtime& rt, int count); - public void restoreDefaultValues(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag); - public void setAnimatedNodeOffset(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double offset); - public void setAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag nodeTag, double value); - public void startAnimatingNode(facebook::jsi::Runtime& rt, int animationId, facebook::react::Tag nodeTag, facebook::jsi::Object config, facebook::react::AnimationEndCallback endCallback); - public void startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void startOperationBatch(facebook::jsi::Runtime& rt); - public void stopAnimation(facebook::jsi::Runtime& rt, int animationId); - public void stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, facebook::react::Tag tag); - public void updateAnimatedNodeConfig(facebook::jsi::Runtime& rt, facebook::react::Tag tag, facebook::jsi::Object config); -} - -class facebook::react::AnimatedMountingOverrideDelegate : public facebook::react::MountingOverrideDelegate { - public AnimatedMountingOverrideDelegate(facebook::react::NativeAnimatedNodesManager& animatedManager, const facebook::react::Scheduler& scheduler); - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; -} - -class facebook::react::AnimatedNode { - protected facebook::react::AnimatedNode* getChildNode(facebook::react::Tag tag); - protected facebook::react::AnimatedNodeType type_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag tag_; - protected std::unordered_set children_; - public AnimatedNode(const facebook::react::AnimatedNode&) = default; - public AnimatedNode(facebook::react::AnimatedNode&&) noexcept = default; - public AnimatedNode(facebook::react::Tag tag, folly::dynamic config, facebook::react::NativeAnimatedNodesManager& manager, facebook::react::AnimatedNodeType type); - public const folly::dynamic& getConfig() const noexcept; - public const std::unordered_set& getChildren() const noexcept; - public facebook::react::AnimatedNode& operator=(const facebook::react::AnimatedNode&) = default; - public facebook::react::AnimatedNode& operator=(facebook::react::AnimatedNode&&) noexcept = default; - public facebook::react::AnimatedNodeType type() const noexcept; - public facebook::react::Tag tag() const noexcept; - public int activeIncomingNodes; - public int bfsColor; - public static constexpr int INITIAL_BFS_COLOR; - public static std::optional getNodeTypeByName(const std::string& nodeTypeName); - public virtual void onAttachToNode(facebook::react::Tag); - public virtual void onDetachedFromNode(facebook::react::Tag); - public virtual void update(); - public virtual ~AnimatedNode() = default; - public void addChild(facebook::react::Tag tag); - public void removeChild(facebook::react::Tag tag); -} - -class facebook::react::AnimatedPropsRegistry { - public std::pair>&, facebook::react::SnapshotMap&> getMap(facebook::react::SurfaceId surfaceId); - public void clear(facebook::react::SurfaceId surfaceId); - public void clearOnSurfaceStop(facebook::react::SurfaceId surfaceId); - public void initializeSurface(facebook::react::SurfaceId surfaceId); - public void update(const std::vector& batches); -} - -class facebook::react::AnimationBackend : public facebook::react::UIManagerAnimationBackend { - public AnimationBackend(std::shared_ptr animationChoreographer, std::shared_ptr uiManager); - public using PauseCallback = std::function; - public using ResumeCallback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) override; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) override; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) override; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) override; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) override; - public virtual void stop(facebook::react::CallbackId callbackId) override; - public virtual void trigger() override; - public void requestAsyncFlushForSurfaces(const std::set& surfaces); - public void synchronouslyUpdateProps(const std::unordered_map& updates); - public ~AnimationBackend() override; -} - -class facebook::react::AnimationBackendCommitHook : public facebook::react::UIManagerCommitHook { - public AnimationBackendCommitHook(facebook::react::UIManager& uiManager, std::shared_ptr animatedPropsRegistry); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; -} - -class facebook::react::AnimationChoreographer { - public virtual facebook::react::AnimationTimestamp now() const; - public virtual void pause() = 0; - public virtual void resume() = 0; - public virtual ~AnimationChoreographer() = default; - public void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) const; - public void setAnimationBackend(std::weak_ptr animationBackend); -} - -class facebook::react::AnimationDriver { - protected bool ignoreCompletedHandlers_; - protected bool isComplete_; - protected bool isStarted_; - protected double startFrameTimeMs_; - protected facebook::react::NativeAnimatedNodesManager* manager_; - protected facebook::react::Tag animatedValueTag_; - protected folly::dynamic config_; - protected int currentIteration_; - protected int id_; - protected int iterations_; - protected std::optional endCallback_; - protected virtual bool update(double, bool); - protected void markNodeUpdated(facebook::react::Tag tag); - public AnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); - public bool getIsComplete() const noexcept; - public facebook::react::Tag getAnimatedValueTag() const noexcept; - public int getId() const noexcept; - public static std::optional getDriverTypeByName(const std::string& driverTypeName); - public virtual void updateConfig(folly::dynamic config); - public virtual ~AnimationDriver() = default; - public void runAnimationStep(double renderingTime); - public void startAnimation(); - public void stopAnimation(bool ignoreCompletedHandlers = false); -} - -class facebook::react::AppRegistryBinding { - public AppRegistryBinding() = delete; - public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); -} - class facebook::react::AsyncArrayBuffer { public AsyncArrayBuffer(const facebook::react::AsyncArrayBuffer&) = delete; public AsyncArrayBuffer(facebook::react::AsyncArrayBuffer&&) noexcept = default; @@ -966,152 +363,6 @@ class facebook::react::AsyncArrayBuffer { public ~AsyncArrayBuffer() = default; } -class facebook::react::AttributedString : public facebook::react::Sealable, public facebook::react::DebugStringConvertible { - public bool compareTextAttributesWithoutFrame(const facebook::react::AttributedString& rhs) const; - public bool isContentEqual(const facebook::react::AttributedString& rhs) const; - public bool isEmpty() const; - public bool operator==(const facebook::react::AttributedString& rhs) const; - public const facebook::react::AttributedString::Fragments& getFragments() const; - public const facebook::react::TextAttributes& getBaseTextAttributes() const; - public facebook::react::AttributedString::Fragments& getFragments(); - public std::string getString() const; - public using Fragments = std::vector; - public void appendFragment(facebook::react::AttributedString::Fragment&& fragment); - public void prependFragment(facebook::react::AttributedString::Fragment&& fragment); - public void setBaseTextAttributes(const facebook::react::TextAttributes& defaultAttributes); -} - -class facebook::react::AttributedString::Fragment { - public bool isAttachment() const; - public bool isContentEqual(const facebook::react::AttributedString::Fragment& rhs) const; - public bool operator==(const facebook::react::AttributedString::Fragment& rhs) const; - public facebook::react::ShadowView parentShadowView; - public facebook::react::TextAttributes textAttributes; - public static std::string AttachmentCharacter(); - public std::string string; -} - -class facebook::react::AttributedString::Range { - public int length; - public int location; -} - -class facebook::react::AttributedStringBox { - public AttributedStringBox(); - public AttributedStringBox(const facebook::react::AttributedString& value); - public AttributedStringBox(const facebook::react::AttributedStringBox& other) = default; - public AttributedStringBox(facebook::react::AttributedStringBox&& other) noexcept; - public AttributedStringBox(std::shared_ptr opaquePointer); - public const facebook::react::AttributedString& getValue() const; - public facebook::react::AttributedStringBox& operator=(const facebook::react::AttributedStringBox& other) = default; - public facebook::react::AttributedStringBox& operator=(facebook::react::AttributedStringBox&& other) noexcept; - public facebook::react::AttributedStringBox::Mode getMode() const; - public std::shared_ptr getOpaquePointer() const; -} - -enum facebook::react::AttributedStringBox::Mode { - OpaquePointer, - Value, -} - -class facebook::react::BaseParagraphProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseParagraphProps() = default; - public BaseParagraphProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseParagraphProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool isSelectable; - public bool onTextLayout; - public facebook::react::ParagraphAttributes paragraphAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseScrollViewProps : public facebook::react::HostPlatformViewProps { - public BaseScrollViewProps() = default; - public BaseScrollViewProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseScrollViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public Float decelerationRate; - public Float endDraggingSensitivityMultiplier; - public Float maximumZoomScale; - public Float minimumZoomScale; - public Float scrollEventThrottle; - public Float snapToInterval; - public Float zoomScale; - public bool alwaysBounceHorizontal; - public bool alwaysBounceVertical; - public bool automaticallyAdjustContentInsets; - public bool automaticallyAdjustKeyboardInsets; - public bool automaticallyAdjustsScrollIndicatorInsets; - public bool bounces; - public bool bouncesZoom; - public bool canCancelContentTouches; - public bool centerContent; - public bool directionalLockEnabled; - public bool disableIntervalMomentum; - public bool horizontal; - public bool isInvertedVirtualizedList; - public bool pagingEnabled; - public bool persistentScrollbar; - public bool pinchGestureEnabled; - public bool scrollEnabled; - public bool scrollToOverflowEnabled; - public bool scrollsToTop; - public bool showsHorizontalScrollIndicator; - public bool showsVerticalScrollIndicator; - public bool snapToEnd; - public bool snapToStart; - public facebook::react::ContentInsetAdjustmentBehavior contentInsetAdjustmentBehavior; - public facebook::react::EdgeInsets contentInset; - public facebook::react::EdgeInsets scrollIndicatorInsets; - public facebook::react::Point contentOffset; - public facebook::react::ScrollViewIndicatorStyle indicatorStyle; - public facebook::react::ScrollViewKeyboardDismissMode keyboardDismissMode; - public facebook::react::ScrollViewSnapToAlignment snapToAlignment; - public std::optional maintainVisibleContentPosition; - public std::vector snapToOffsets; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextInputProps : public facebook::react::HostPlatformViewProps, public facebook::react::BaseTextProps { - public BaseTextInputProps() = default; - public BaseTextInputProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextInputProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool autoFocus; - public bool disableKeyboardShortcuts; - public bool editable; - public bool multiline; - public bool readOnly; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::SharedColor cursorColor; - public facebook::react::SharedColor placeholderTextColor; - public facebook::react::SharedColor selectionColor; - public facebook::react::SharedColor selectionHandleColor; - public facebook::react::SharedColor underlineColorAndroid; - public facebook::react::SubmitBehavior getNonDefaultSubmitBehavior() const; - public facebook::react::SubmitBehavior submitBehavior; - public facebook::react::TextAttributes getEffectiveTextAttributes(Float fontSizeMultiplier) const; - public int maxLength; - public int mostRecentEventCount; - public std::optional> acceptDragAndDropTypes; - public std::string autoCapitalize; - public std::string defaultValue; - public std::string placeholder; - public std::string text; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextProps { - public BaseTextProps() = default; - public BaseTextProps(const facebook::react::PropsParserContext& context, const facebook::react::BaseTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::TextAttributes textAttributes; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::BaseTextShadowNode { - public static void buildAttributedString(const facebook::react::TextAttributes& baseTextAttributes, const facebook::react::ShadowNode& parentNode, facebook::react::AttributedString& outAttributedString, facebook::react::BaseTextShadowNode::Attachments& outAttachments); - public using Attachments = std::vector; -} - -class facebook::react::BaseTextShadowNode::Attachment { - public const facebook::react::ShadowNode* shadowNode; - public size_t fragmentIndex; -} - class facebook::react::BaseViewEventEmitter : public facebook::react::TouchEventEmitter { public void onAccessibilityAction(const std::string& name) const; public void onAccessibilityEscape() const; @@ -1168,82 +419,6 @@ class facebook::react::BaseViewProps : public facebook::react::YogaStylableProps public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::BigStringBuffer : public facebook::jsi::Buffer { - public BigStringBuffer(std::unique_ptr script); - public virtual const uint8_t* data() const override; - public virtual size_t size() const override; -} - -class facebook::react::BindingsInstaller { - public virtual facebook::react::ReactInstance::BindingsInstallFunc getBindingsInstallFunc(); -} - -class facebook::react::BridgelessNativeMethodCallInvoker : public facebook::react::NativeMethodCallInvoker { - public BridgelessNativeMethodCallInvoker(std::shared_ptr messageQueueThread); - public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept override; - public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) override; -} - -class facebook::react::BufferedRuntimeExecutor : public std::enable_shared_from_this { - public BufferedRuntimeExecutor(facebook::react::BufferedRuntimeExecutor::Executor executor); - public facebook::react::RuntimeExecutor asRuntimeExecutor(); - public facebook::react::RuntimeExecutor asWeakRuntimeExecutor(); - public using Executor = std::function; - public using Work = std::function; - public void execute(facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void execute(facebook::react::SchedulerPriority priority, facebook::react::BufferedRuntimeExecutor::Work&& callback); - public void flush(); -} - -class facebook::react::CSSSyntaxParser { - public constexpr CSSSyntaxParser(const facebook::react::CSSSyntaxParser&) = default; - public constexpr CSSSyntaxParser(facebook::react::CSSSyntaxParser&&) = default; - public constexpr CSSSyntaxParser(std::string_view css); - public constexpr bool consumeDelimiter(facebook::react::CSSDelimiter delimiter); - public constexpr bool isFinished() const; - public constexpr const facebook::react::CSSToken& peek() const; - public constexpr facebook::react::CSSSyntaxParser& operator=(const facebook::react::CSSSyntaxParser&) = default; - public constexpr facebook::react::CSSSyntaxParser& operator=(facebook::react::CSSSyntaxParser&&) = default; - public constexpr void consumeWhitespace(); - template - public constexpr ReturnT consumeComponentValue(const facebook::react::CSSComponentValueVisitor auto &... visitors); - template - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const facebook::react::CSSComponentValueVisitor auto &... visitors); -} - -class facebook::react::CSSToken { - public constexpr CSSToken(const facebook::react::CSSToken& other) = default; - public constexpr CSSToken(facebook::react::CSSToken&& other) = default; - public constexpr CSSToken(facebook::react::CSSTokenType type); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value); - public constexpr CSSToken(facebook::react::CSSTokenType type, float value, std::string_view unit); - public constexpr CSSToken(facebook::react::CSSTokenType type, std::string_view value); - public constexpr bool operator==(const facebook::react::CSSToken& other) const = default; - public constexpr facebook::react::CSSToken& operator=(const facebook::react::CSSToken& other) = default; - public constexpr facebook::react::CSSToken& operator=(facebook::react::CSSToken&& other) = default; - public constexpr facebook::react::CSSTokenType type() const; - public constexpr float numericValue() const; - public constexpr std::string_view stringValue() const; - public constexpr std::string_view unit() const; -} - -class facebook::react::CSSTokenizer { - public constexpr CSSTokenizer(std::string_view characters); - public constexpr facebook::react::CSSToken next(); -} - -class facebook::react::CSSValueParser { - public constexpr CSSValueParser(const facebook::react::CSSValueParser&) = default; - public constexpr CSSValueParser(facebook::react::CSSSyntaxParser& parser); - public constexpr const facebook::react::CSSSyntaxParser& syntaxParser() const; - public constexpr facebook::react::CSSSyntaxParser& syntaxParser(); - public constexpr facebook::react::CSSValueParser& operator=(const facebook::react::CSSValueParser&) = default; - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> parseNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); - template - public constexpr facebook::react::CSSVariantWithTypes, std::monostate> peekNextValue(facebook::react::CSSDelimiter delimiter = facebook::react::CSSDelimiter::None); -} - class facebook::react::CallInvoker { public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept = 0; public virtual void invokeAsync(facebook::react::SchedulerPriority, facebook::react::CallFunc&& func) noexcept; @@ -1253,13 +428,6 @@ class facebook::react::CallInvoker { public virtual ~CallInvoker() = default; } -class facebook::react::CallInvokerImpl : public facebook::react::CallInvoker { - public CallInvokerImpl(std::shared_ptr bufferedRuntimeExecutor, std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject { public facebook::jsi::Function& callback() noexcept; public facebook::jsi::Runtime& runtime() noexcept; @@ -1269,32 +437,6 @@ class facebook::react::CallbackWrapper : public facebook::react::LongLivedObject public void destroy(); } -class facebook::react::CdpMetricsReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpMetricsReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming& entry) override; -} - -class facebook::react::CdpPerfIssuesReporter : public facebook::react::PerformanceEntryReporterEventListener { - public CdpPerfIssuesReporter(facebook::react::RuntimeExecutor runtimeExecutor); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure& entry, const std::optional& detailProvider) override; -} - -class facebook::react::ColorAnimatedNode : public facebook::react::AnimatedNode { - public Color getColor(); - public ColorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::ComponentBuilder { - public ComponentBuilder(const facebook::react::ComponentBuilder& componentBuilder) = default; - public ComponentBuilder(facebook::react::ComponentBuilder&& componentBuilder) noexcept = default; - public ComponentBuilder(facebook::react::ComponentDescriptorRegistry::Shared componentDescriptorRegistry); - public facebook::react::ComponentBuilder& operator=(const facebook::react::ComponentBuilder& other) = default; - public facebook::react::ComponentBuilder& operator=(facebook::react::ComponentBuilder&& other) = default; - template - public std::shared_ptr build(facebook::react::Element element) const; -} - class facebook::react::ComponentDescriptor { protected facebook::react::ComponentDescriptor::Flavor flavor_; protected facebook::react::EventDispatcher::Weak eventDispatcher_; @@ -1360,85 +502,15 @@ class facebook::react::ContextContainer { public void insert(const std::string& key, const T& instance) const; } -class facebook::react::CxxNativeModule : public facebook::react::NativeModule { - public CxxNativeModule(std::weak_ptr instance, std::string name, facebook::xplat::module::CxxModule::Provider provider, std::shared_ptr messageQueueThread); - public static void setShouldWarnOnUse(bool value); - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int hookId, folly::dynamic&& args) override; - public virtual folly::dynamic getConstants() override; - public virtual std::string getName() override; - public virtual std::string getSyncMethodName(unsigned int methodId) override; - public virtual std::vector getMethods() override; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) override; -} - class facebook::react::DebugStringConvertible { } -class facebook::react::DecayAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public DecayAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::DevToolsRuntimeSettings { - public DevToolsRuntimeSettings(const facebook::react::DevToolsRuntimeSettings&) = delete; - public DevToolsRuntimeSettings(facebook::react::DevToolsRuntimeSettings&&) = delete; - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig() const; - public static facebook::react::DevToolsRuntimeSettings& getInstance(); - public void operator=(const facebook::react::DevToolsRuntimeSettings&) = delete; - public void operator=(facebook::react::DevToolsRuntimeSettings&&) = delete; - public void setReloadAndProfileConfig(facebook::react::NativePartialReloadAndProfileConfig config); - public ~DevToolsRuntimeSettings() = default; -} - -class facebook::react::DevToolsRuntimeSettingsModule : public NativeReactDevToolsRuntimeSettingsModuleCxxSpec { - public DevToolsRuntimeSettingsModule(std::shared_ptr jsInvoker); - public facebook::react::NativeReloadAndProfileConfig getReloadAndProfileConfig(facebook::jsi::Runtime& rt); - public void setReloadAndProfileConfig(facebook::jsi::Runtime& rt, facebook::react::NativePartialReloadAndProfileConfig config); -} - -class facebook::react::DiffClampAnimatedNode : public facebook::react::ValueAnimatedNode { - public DiffClampAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::DivisionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public DivisionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::ElementFragment { - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::ElementFragment::FinalizeCallback finalizeCallback; - public facebook::react::ElementFragment::List children; - public facebook::react::ElementFragment::ReferenceCallback referenceCallback; - public facebook::react::ElementFragment::StateCallback stateCallback; - public facebook::react::Props::Shared props; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public using FinalizeCallback = std::function; - public using List = std::vector; - public using ListOfShared = std::vector; - public using ReferenceCallback = std::function& shadowNode)>; - public using Shared = std::shared_ptr; - public using StateCallback = std::function; -} - class facebook::react::Error { public Error(const char* message); public Error(std::string message); public const std::string& message() const; } -class facebook::react::EventAnimationDriver { - protected const facebook::react::Tag animatedValueTag_; - protected std::vector eventPath_; - public EventAnimationDriver(const std::vector& eventPath, facebook::react::Tag animatedValueTag); - public facebook::react::Tag getAnimatedNodeTag() const; - public std::optional getValueFromPayload(const facebook::react::EventPayload& eventPayload); - public ~EventAnimationDriver() = default; -} - class facebook::react::EventBeat { protected facebook::react::EventBeat::BeatCallback beatCallback_; protected mutable std::atomic isEventBeatRequested_; @@ -1509,15 +581,6 @@ class facebook::react::EventLogger { public virtual ~EventLogger() = default; } -class facebook::react::EventPerformanceLogger : public facebook::react::EventLogger, public facebook::react::RuntimeSchedulerEventTimingDelegate, public facebook::react::UIManagerMountHook { - public EventPerformanceLogger(std::weak_ptr performanceEntryReporter); - public virtual facebook::react::EventTag onEventStart(std::string_view name, facebook::react::SharedEventTarget target, std::optional eventStartTimeStamp = std::nullopt) override; - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public virtual void onEventProcessingEnd(facebook::react::EventTag tag) override; - public virtual void onEventProcessingStart(facebook::react::EventTag tag) override; - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept override; -} - class facebook::react::EventQueue { protected const std::unique_ptr eventBeat_; protected facebook::react::EventQueueProcessor eventProcessor_; @@ -1566,45 +629,6 @@ class facebook::react::EventTarget { public void setEnabled(bool enabled); } -class facebook::react::ExecutorDelegate { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(facebook::react::JSExecutor& executor, unsigned int moduleId, unsigned int methodId, folly::dynamic&& args) = 0; - public virtual std::shared_ptr getModuleRegistry() = 0; - public virtual void callNativeModules(facebook::react::JSExecutor& executor, folly::dynamic&& calls, bool isEndOfBatch) = 0; - public virtual ~ExecutorDelegate() = default; -} - -class facebook::react::FrameAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - protected virtual void updateConfig(folly::dynamic config) override; - public FrameAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::FuseboxTracer { - public FuseboxTracer(const facebook::react::FuseboxTracer&) = delete; - public bool isTracing(); - public bool startTracing(); - public bool stopTracing(const std::function& resultCallback); - public bool stopTracingAndWriteToFile(const std::string& path); - public static facebook::react::FuseboxTracer& getFuseboxTracer(); - public void addEvent(const std::string_view& name, uint64_t start, uint64_t end, const std::optional& track); -} - -class facebook::react::HermesExecutor : public facebook::react::JSIExecutor { - public HermesExecutor(std::shared_ptr runtime, std::shared_ptr delegate, std::shared_ptr jsQueue, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, hermes::HermesRuntime& hermesRuntime); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate() override; -} - -class facebook::react::HermesExecutorFactory : public facebook::react::JSExecutorFactory { - public HermesExecutorFactory(facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker = facebook::react::JSIExecutor::defaultTimeoutInvoker, hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig()); - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) override; - public void setDebuggerName(const std::string& debuggerName); - public void setEnableDebugger(bool enableDebugger); -} - -class facebook::react::HermesInstance { - public static std::unique_ptr createJSRuntime(std::shared_ptr crashManager, std::shared_ptr msgQueueThread, bool allocInOldGenBeforeTTI) noexcept; -} - class facebook::react::HighResDuration { public constexpr HighResDuration(); public constexpr bool operator!=(const facebook::react::HighResDuration& rhs) const; @@ -1674,26 +698,12 @@ class facebook::react::IAsyncEventEmitter { public virtual ~IAsyncEventEmitter() noexcept = default; } -class facebook::react::ImageComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ImageComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - class facebook::react::ImageErrorInfo { public int responseCode; public std::string error; public std::vector> httpResponseHeaders; } -class facebook::react::ImageEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onError(const facebook::react::ImageErrorInfo& error) const; - public void onLoad(const facebook::react::ImageSource& source) const; - public void onLoadEnd() const; - public void onLoadStart() const; - public void onPartialLoad() const; - public void onProgress(double progress, int64_t loaded, int64_t total) const; -} - class facebook::react::ImageLoadError { public ImageLoadError(std::shared_ptr error); public std::shared_ptr getError() const; @@ -1705,25 +715,6 @@ class facebook::react::ImageManager { public virtual ~ImageManager(); } -class facebook::react::ImageProps : public facebook::react::HostPlatformViewProps { - public Float blurRadius; - public Float resizeMultiplier; - public ImageProps() = default; - public ImageProps(const facebook::react::PropsParserContext& context, const facebook::react::ImageProps& sourceProps, const facebook::react::RawProps& rawProps); - public bool shouldNotifyLoadEvents; - public facebook::react::EdgeInsets capInsets; - public facebook::react::ImageResizeMode resizeMode; - public facebook::react::ImageSource defaultSource; - public facebook::react::ImageSource loadingIndicatorSource; - public facebook::react::ImageSources sources; - public facebook::react::SharedColor overlayColor; - public std::optional fadeDuration; - public std::optional progressiveRenderingEnabled; - public std::optional tintColor; - public std::string resizeMethod; - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - class facebook::react::ImageRequest { public ImageRequest(const facebook::react::ImageRequest& other) = delete; public ImageRequest(facebook::react::ImageRequest&& other) noexcept = default; @@ -1767,15 +758,6 @@ class facebook::react::ImageResponseObserverCoordinator { public void removeObserver(const std::shared_ptr& observer) const; } -class facebook::react::ImageShadowNode : public facebook::react::ConcreteViewShadowNode { - public ImageShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ImageShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ImageState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared&, const facebook::react::ComponentDescriptor& componentDescriptor); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setImageManager(const std::shared_ptr& imageManager); -} - class facebook::react::ImageSource { public Float scale; public bool operator==(const facebook::react::ImageSource& rhs) const; @@ -1802,60 +784,12 @@ enum facebook::react::ImageSource::Type { Remote, } -class facebook::react::ImageState { - public ImageState(const facebook::react::ImageSource& imageSource, facebook::react::ImageRequest imageRequest, const ImageRequestParams& imageRequestParams); - public const ImageRequestParams& getImageRequestParams() const; - public const facebook::react::ImageRequest& getImageRequest() const; - public facebook::react::ImageSource getImageSource() const; -} - class facebook::react::ImageTelemetry { public ImageTelemetry(const facebook::react::SurfaceId surfaceId); public facebook::react::SurfaceId getSurfaceId() const; public facebook::react::TelemetryTimePoint getWillRequestUrlTime() const; } -class facebook::react::InputAccessoryComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public InputAccessoryComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::InputAccessoryShadowNode : public facebook::react::ConcreteViewShadowNode { - public InputAccessoryShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public InputAccessoryShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::InputAccessoryState { - public InputAccessoryState(); - public InputAccessoryState(facebook::react::Size viewportSize_); - public const facebook::react::Size viewportSize; -} - -class facebook::react::Instance { - public bool isBatchActive(); - public bool isInspectable(); - public bool supportsProfiling(); - public const facebook::react::ModuleRegistry& getModuleRegistry() const; - public facebook::react::ModuleRegistry& getModuleRegistry(); - public facebook::react::RuntimeExecutor getRuntimeExecutor(); - public std::shared_ptr getJSCallInvoker(); - public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker); - public void callJSCallback(uint64_t callbackId, folly::dynamic&& params); - public void callJSFunction(std::string&& module, std::string&& method, folly::dynamic&& params); - public void handleMemoryPressure(int pressureLevel); - public void initializeBridge(std::unique_ptr callback, std::shared_ptr jsef, std::shared_ptr jsQueue, std::shared_ptr moduleRegistry, facebook::react::jsinspector_modern::HostTarget* inspectorTarget = nullptr); - public void initializeRuntime(); - public void loadRAMBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string startupScriptSourceURL, bool loadSynchronously); - public void loadScriptFromString(std::unique_ptr string, std::string sourceURL, bool loadSynchronously); - public void registerBundle(uint32_t bundleId, const std::string& bundlePath); - public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); - public void setSourceURL(std::string sourceURL); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~Instance() override; -} - class facebook::react::InstanceHandle { public InstanceHandle(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& instanceHandle, facebook::react::Tag tag); public facebook::jsi::Value getInstanceHandle(facebook::jsi::Runtime& runtime) const; @@ -1863,43 +797,6 @@ class facebook::react::InstanceHandle { public using Shared = std::shared_ptr; } -class facebook::react::InterpolationAnimatedNode : public facebook::react::ValueAnimatedNode { - public InterpolationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void onAttachToNode(facebook::react::Tag animatedNodeTag) override; - public virtual void onDetachedFromNode(facebook::react::Tag animatedNodeTag) override; - public virtual void update() override; -} - -class facebook::react::IntersectionObserver { - public IntersectionObserver(facebook::react::IntersectionObserverObserverId intersectionObserverId, std::optional observationRootShadowNodeFamily, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, std::vector thresholds, std::optional> rootThresholds, std::vector rootMargins); - public facebook::react::IntersectionObserverObserverId getIntersectionObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public std::optional updateIntersectionObservation(const facebook::react::RootShadowNode& rootShadowNode, facebook::react::HighResTimeStamp time); - public std::optional updateIntersectionObservationForSurfaceUnmount(facebook::react::HighResTimeStamp time); - public std::vector getThresholds() const; -} - -class facebook::react::IntersectionObserverManager : public facebook::react::UIManagerMountHook, public facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public IntersectionObserverManager(); - public std::vector takeRecords(); - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId surfaceId, facebook::react::HighResTimeStamp time) noexcept override; - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyIntersectionObserversCallback); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::IntersectionObserverObserverId intersectionObserverId, const std::optional& observationRootShadowNode, const facebook::react::ShadowNodeFamily::Shared& shadowNode, std::vector thresholds, std::optional> rootThresholds, std::optional rootMargin, const facebook::react::UIManager& uiManager); - public void unobserve(facebook::react::IntersectionObserverObserverId intersectionObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNode); -} - -class facebook::react::IntersectionObserverState { - public bool isIntersecting() const; - public bool operator==(const facebook::react::IntersectionObserverState& other) const; - public static facebook::react::IntersectionObserverState Initial(); - public static facebook::react::IntersectionObserverState Intersecting(Float threshold); - public static facebook::react::IntersectionObserverState Intersecting(Float threshold, Float rootThreshold); - public static facebook::react::IntersectionObserverState NotIntersecting(); -} - class facebook::react::JSBigBufferString : public facebook::react::JSBigString { public JSBigBufferString(size_t size); public char* mutableData(); @@ -1939,149 +836,9 @@ class facebook::react::JSBigString : public facebook::jsi::Buffer { public ~JSBigString() override = default; } -class facebook::react::JSExecutor { - public static std::string getSyntheticBundlePath(uint32_t bundleId, const std::string& bundlePath); - public virtual bool isInspectable(); - public virtual facebook::react::jsinspector_modern::RuntimeTargetDelegate& getRuntimeTargetDelegate(); - public virtual std::string getDescription() = 0; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) = 0; - public virtual void destroy(); - public virtual void flush(); - public virtual void handleMemoryPressure(int pressureLevel); - public virtual void initializeRuntime() = 0; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) = 0; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) = 0; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) = 0; - public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) = 0; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) = 0; - public virtual void* getJavaScriptContext(); - public virtual ~JSExecutor() = default; -} - -class facebook::react::JSExecutorFactory { - public virtual std::unique_ptr createJSExecutor(std::shared_ptr delegate, std::shared_ptr jsQueue) = 0; - public virtual ~JSExecutorFactory() = default; -} - -class facebook::react::JSIExecutor : public facebook::react::JSExecutor { - public JSIExecutor(std::shared_ptr runtime, std::shared_ptr delegate, const facebook::react::JSIScopedTimeoutInvoker& timeoutInvoker, facebook::react::JSIExecutor::RuntimeInstaller runtimeInstaller); - public static void defaultTimeoutInvoker(const std::function& invokee, std::function errorMessageProducer); - public using RuntimeInstaller = std::function; - public virtual bool isInspectable() override; - public virtual std::string getDescription() override; - public virtual void callFunction(const std::string& moduleId, const std::string& methodId, const folly::dynamic& arguments) override; - public virtual void flush() override; - public virtual void handleMemoryPressure(int pressureLevel) override; - public virtual void initializeRuntime() override; - public virtual void invokeCallback(double callbackId, const folly::dynamic& arguments) override; - public virtual void loadBundle(std::unique_ptr script, std::string sourceURL) override; - public virtual void registerBundle(uint32_t bundleId, const std::string& bundlePath) override; - public virtual void setBundleRegistry(std::unique_ptr bundleRegistry) override; - public virtual void setGlobalVariable(std::string propName, std::unique_ptr jsonValue) override; - public virtual void* getJavaScriptContext() override; -} - -class facebook::react::JSINativeModules { - public JSINativeModules(std::shared_ptr moduleRegistry); - public facebook::jsi::Value getModule(facebook::jsi::Runtime& rt, const facebook::jsi::PropNameID& name); - public void reset(); -} - -class facebook::react::JSModulesUnbundle { - public JSModulesUnbundle(); - public virtual facebook::react::JSModulesUnbundle::Module getModule(uint32_t moduleId) const = 0; - public virtual ~JSModulesUnbundle() = default; -} - -class facebook::react::JSModulesUnbundle::ModuleNotFound : public std::out_of_range { - public ModuleNotFound(uint32_t moduleId); -} - -struct facebook::react::JSModulesUnbundle::Module { - public std::string code; - public std::string name; -} - -class facebook::react::JsErrorHandler { - public JsErrorHandler(facebook::react::JsErrorHandler::OnJsError onJsError); - public bool hasHandledFatalError(); - public bool inErrorHandler(); - public bool isRuntimeReady(); - public using OnJsError = std::function; - public void handleError(facebook::jsi::Runtime& runtime, facebook::jsi::JSError& error, bool isFatal, bool logToConsole = true); - public void notifyOfFatalError(); - public void registerErrorListener(const std::function& listener); - public void setRuntimeReady(); - public ~JsErrorHandler(); -} - -struct facebook::react::JsErrorHandler::ProcessedError { - public bool isFatal; - public facebook::jsi::Object extraData; - public int id; - public std::optional componentStack; - public std::optional name; - public std::optional originalMessage; - public std::string message; - public std::vector stack; -} - -struct facebook::react::JsErrorHandler::ProcessedError::StackFrame { - public std::optional column; - public std::optional lineNumber; - public std::optional file; - public std::string methodName; -} - -class facebook::react::LayoutAnimationCallbackWrapper { - public LayoutAnimationCallbackWrapper(); - public LayoutAnimationCallbackWrapper(facebook::jsi::Function&& callback); - public void call(facebook::jsi::Runtime& runtime) const; -} - -class facebook::react::LayoutAnimationDriver : public facebook::react::LayoutAnimationKeyFrameManager { - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const override; - public LayoutAnimationDriver(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); -} - -class facebook::react::LayoutAnimationKeyFrameManager : public facebook::react::UIManagerAnimationDelegate, public facebook::react::MountingOverrideDelegate { - protected bool hasComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected const facebook::react::ComponentDescriptor& getComponentDescriptorForShadowView(const facebook::react::ShadowView& shadowView) const; - protected facebook::react::ShadowView createInterpolatedShadowView(Float progress, const facebook::react::ShadowView& startingView, const facebook::react::ShadowView& finalView) const; - protected facebook::react::SharedComponentDescriptorRegistry componentDescriptorRegistry_; - protected mutable std::mutex currentAnimationMutex_; - protected mutable std::optional currentAnimation_; - protected mutable std::vector inflightAnimations_; - protected virtual void animationMutationsForFrame(facebook::react::SurfaceId surfaceId, facebook::react::ShadowViewMutation::List& mutationsList, uint64_t now) const = 0; - protected void callCallback(const facebook::react::LayoutAnimationCallbackWrapper& callback) const; - protected void queueFinalMutationsForCompletedKeyFrame(const facebook::react::AnimationKeyFrame& keyframe, facebook::react::ShadowViewMutation::List& mutationsList, bool interrupted, const std::string& logPrefix) const; - public LayoutAnimationKeyFrameManager(facebook::react::RuntimeExecutor runtimeExecutor, std::shared_ptr& contextContainer, facebook::react::LayoutAnimationStatusDelegate* delegate); - public virtual bool shouldAnimateFrame() const override; - public virtual bool shouldOverridePullTransaction() const override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) override; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallbackValue, const facebook::jsi::Value& failureCallbackValue) const override; - public void setClockNow(std::function now); - public void setLayoutAnimationStatusDelegate(facebook::react::LayoutAnimationStatusDelegate* delegate) const; - public void uiManagerDidConfigureNextLayoutAnimation(facebook::react::LayoutAnimation layoutAnimation) const; -} - -class facebook::react::LayoutAnimationStatusDelegate { - public virtual void onAllAnimationsComplete() = 0; - public virtual void onAnimationStarted() = 0; - public virtual ~LayoutAnimationStatusDelegate() = default; -} - class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { } -class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; -} - class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); @@ -2114,36 +871,6 @@ struct facebook::react::LayoutableShadowNode::LayoutInspectingPolicy { public bool includeViewportOffset; } -class facebook::react::LazyShadowTreeRevisionConsistencyManager : public facebook::react::ShadowTreeRevisionConsistencyManager, public facebook::react::ShadowTreeRevisionProvider { - public LazyShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRegistry& shadowTreeRegistry); - public std::shared_ptr updateCurrentRevision(facebook::react::SurfaceId surfaceId); - public virtual std::shared_ptr getCurrentRevision(facebook::react::SurfaceId surfaceId) override; - public virtual void lockRevisions() override; - public virtual void unlockRevisions() override; -} - -class facebook::react::LeakChecker { - public LeakChecker(facebook::react::RuntimeExecutor runtimeExecutor); - public void stopSurface(facebook::react::SurfaceId surfaceId); - public void uiManagerDidCreateShadowNodeFamily(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; -} - -class facebook::react::LegacyViewManagerInteropState { - public std::shared_ptr coordinator; -} - -class facebook::react::LegacyViewManagerInteropViewProps : public facebook::react::HostPlatformViewProps { - public LegacyViewManagerInteropViewProps() = default; - public LegacyViewManagerInteropViewProps(const facebook::react::PropsParserContext& context, const facebook::react::LegacyViewManagerInteropViewProps& sourceProps, const facebook::react::RawProps& rawProps); - public const folly::dynamic otherProps; -} - -class facebook::react::LineMeasureCacheKey { - public facebook::react::AttributedString attributedString; - public facebook::react::ParagraphAttributes paragraphAttributes; - public facebook::react::Size size; -} - class facebook::react::LongLivedObject { protected LongLivedObject(facebook::jsi::Runtime& runtime); protected facebook::jsi::Runtime& runtime_; @@ -2221,348 +948,12 @@ class facebook::react::MapBufferBuilder { public void putString(facebook::react::MapBuffer::Key key, const std::string& value); } -class facebook::react::MergedValueDispatcher { - public MergedValueDispatcher(facebook::react::MergedValueDispatcher::DispatchFunction dispatchFunction, facebook::react::MergedValueDispatcher::MergedValueFunction mergedValueFunction); - public using DispatchFunction = std::function&&)>; - public using MergedValueFunction = std::function&& tagToProps)>; - public void dispatch(const std::unordered_map& value); -} - -class facebook::react::MessageQueueThread { - public virtual void quitSynchronous() = 0; - public virtual void runOnQueue(std::function&&) = 0; - public virtual void runOnQueueSync(std::function&&) = 0; - public virtual ~MessageQueueThread() = default; -} - -class facebook::react::ModalHostViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public ModalHostViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::ModalHostViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ModalHostViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ModalHostViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::ModalHostViewState { - public ModalHostViewState(); - public ModalHostViewState(facebook::react::Size screenSize_); - public const facebook::react::Size screenSize; - public using Shared = std::shared_ptr; -} - -class facebook::react::ModuleRegistry { - public ModuleRegistry(std::vector> modules, facebook::react::ModuleRegistry::ModuleNotFoundCallback callback = nullptr); - public facebook::react::MethodCallResult callSerializableNativeHook(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params); - public std::optional getConfig(const std::string& name); - public std::string getModuleName(unsigned int moduleId); - public std::string getModuleSyncMethodName(unsigned int moduleId, unsigned int methodId); - public std::vector moduleNames(); - public using ModuleNotFoundCallback = std::function; - public void callNativeMethod(unsigned int moduleId, unsigned int methodId, folly::dynamic&& params, int callId); - public void registerModules(std::vector> modules); -} - -class facebook::react::ModulusAnimatedNode : public facebook::react::ValueAnimatedNode { - public ModulusAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MountingCoordinator { - public MountingCoordinator(const facebook::react::ShadowTreeRevision& baseRevision); - public bool hasPendingTransactions() const; - public bool waitForTransaction(std::chrono::duration timeout) const; - public const facebook::react::TelemetryController& getTelemetryController() const; - public facebook::react::ShadowTreeRevision getBaseRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional pullTransaction(bool willPerformAsynchronously = false) const; - public void didPerformAsyncTransactions() const; - public void setMountingOverrideDelegate(std::weak_ptr delegate) const; -} - -class facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const = 0; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const = 0; - public virtual ~MountingOverrideDelegate() = default; -} - -class facebook::react::MountingTransaction { - public MountingTransaction(const facebook::react::MountingTransaction& mountingTransaction) = default; - public MountingTransaction(facebook::react::MountingTransaction&& mountingTransaction) noexcept = default; - public MountingTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, facebook::react::ShadowViewMutationList&& mutations, facebook::react::TransactionTelemetry telemetry); - public const facebook::react::ShadowViewMutationList& getMutations() const; - public facebook::react::MountingTransaction& operator=(const facebook::react::MountingTransaction& other) = delete; - public facebook::react::MountingTransaction& operator=(facebook::react::MountingTransaction&& other) = default; - public facebook::react::MountingTransaction::Number getNumber() const; - public facebook::react::ShadowViewMutationList getMutations(); - public facebook::react::SurfaceId getSurfaceId() const; - public facebook::react::TransactionTelemetry& getTelemetry() const; - public using Number = int64_t; - public void mergeWith(facebook::react::MountingTransaction&& transaction); -} - -class facebook::react::MultiplicationAnimatedNode : public facebook::react::OperatorAnimatedNode { - public MultiplicationAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::MutationObserver { - public MutationObserver(const facebook::react::MutationObserver&) = delete; - public MutationObserver(facebook::react::MutationObserver&&) = default; - public MutationObserver(facebook::react::MutationObserverId mutationObserverId); - public facebook::react::MutationObserver& operator=(const facebook::react::MutationObserver&) = delete; - public facebook::react::MutationObserver& operator=(facebook::react::MutationObserver&&) = default; - public void observe(std::shared_ptr targetShadowNodeFamily, bool observeSubtree); - public void recordMutations(const facebook::react::RootShadowNode& oldRootShadowNode, const facebook::react::RootShadowNode& newRootShadowNode, std::vector& recordedMutations) const; -} - -class facebook::react::MutationObserverManager : public facebook::react::UIManagerCommitHook { - public MutationObserverManager(); - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) noexcept override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public void connect(facebook::react::UIManager& uiManager, facebook::react::OnMutations&& onMutations); - public void disconnect(facebook::react::UIManager& uiManager); - public void observe(facebook::react::MutationObserverId mutationObserverId, std::shared_ptr shadowNode, bool observeSubtree, const facebook::react::UIManager& uiManager); - public void unobserveAll(facebook::react::MutationObserverId mutationObserverId); -} - -class facebook::react::NativeAnimatedNodesManager : public std::enable_shared_from_this { - public NativeAnimatedNodesManager(const facebook::react::NativeAnimatedNodesManager&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager&&) = delete; - public NativeAnimatedNodesManager(facebook::react::NativeAnimatedNodesManager::DirectManipulationCallback&& directManipulationCallback, facebook::react::NativeAnimatedNodesManager::FabricCommitCallback&& fabricCommitCallback, facebook::react::NativeAnimatedNodesManager::ResolvePlatformColor&& resolvePlatformColor, facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback&& startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback&& stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback&& frameRateListenerCallback = nullptr) noexcept; - public NativeAnimatedNodesManager(std::shared_ptr animationBackend) noexcept; - public bool commitProps(); - public bool hasManagedProps() const noexcept; - public bool isOnRenderThread() const noexcept; - public bool useSharedAnimatedBackend() const noexcept; - public facebook::react::AnimationMutations onAnimationFrameForBackend(facebook::react::AnimatedPropsBuilder& propsBuilder, facebook::react::AnimationTimestamp timestamp); - public facebook::react::AnimationMutations pullAnimationMutations(facebook::react::AnimationTimestamp timestamp); - public facebook::react::NativeAnimatedNodesManager& operator=(const facebook::react::NativeAnimatedNodesManager&) = delete; - public facebook::react::NativeAnimatedNodesManager& operator=(facebook::react::NativeAnimatedNodesManager&&) = delete; - public folly::dynamic getManagedProps(facebook::react::Tag tag) const noexcept; - public std::optional getValue(facebook::react::Tag tag) noexcept; - public std::shared_ptr getEventEmitterListener() noexcept; - public using DirectManipulationCallback = std::function; - public using FabricCommitCallback = std::function&)>; - public using FrameRateListenerCallback = std::function; - public using ResolvePlatformColor = std::function; - public using StartOnRenderCallback = std::function&&, bool isAsync)>; - public using StopOnRenderCallback = std::function; - public void addAnimatedEventToView(facebook::react::Tag viewTag, const std::string& eventName, const folly::dynamic& eventMapping) noexcept; - public void connectAnimatedNodeToShadowNodeFamily(facebook::react::Tag propsNodeTag, std::shared_ptr family) noexcept; - public void connectAnimatedNodeToView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void connectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void createAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void createAnimatedNodeAsync(facebook::react::Tag tag, const folly::dynamic& config) noexcept; - public void disconnectAnimatedNodeFromView(facebook::react::Tag propsNodeTag, facebook::react::Tag viewTag) noexcept; - public void disconnectAnimatedNodes(facebook::react::Tag parentTag, facebook::react::Tag childTag) noexcept; - public void dropAnimatedNode(facebook::react::Tag tag) noexcept; - public void extractAnimatedNodeOffsetOp(facebook::react::Tag tag); - public void flattenAnimatedNodeOffset(facebook::react::Tag tag); - public void flushAnimatedNodesCreatedAsync() noexcept; - public void insertMutations(std::unordered_map>& updates, facebook::react::AnimationMutations& mutations, facebook::react::AnimatedPropsBuilder& propsBuilder, bool hasLayoutUpdates = false); - public void onManagedPropsRemoved(facebook::react::Tag tag) noexcept; - public void onRender(); - public void removeAnimatedEventFromView(facebook::react::Tag viewTag, const std::string& eventName, facebook::react::Tag animatedValueTag) noexcept; - public void resolvePlatformColor(facebook::react::SurfaceId surfaceId, const facebook::react::RawValue& value, facebook::react::SharedColor& result) const; - public void restoreDefaultValues(facebook::react::Tag tag) noexcept; - public void scheduleOnUI(facebook::react::UiTask&& task); - public void schedulePropsCommit(facebook::react::Tag viewTag, const folly::dynamic& props, bool layoutStyleUpdated, bool forceFabricCommit, facebook::react::ShadowNodeFamily::Weak shadowNodeFamily = {}) noexcept; - public void setAnimatedNodeOffset(facebook::react::Tag tag, double offset); - public void setAnimatedNodeValue(facebook::react::Tag tag, double value); - public void startAnimatingNode(int animationId, facebook::react::Tag animatedNodeTag, folly::dynamic config, std::optional endCallback) noexcept; - public void startListeningToAnimatedNodeValue(facebook::react::Tag tag, facebook::react::ValueListenerCallback&& callback) noexcept; - public void startRenderCallbackIfNeeded(bool isAsync); - public void stopAnimation(int animationId, bool isTrackingAnimation = false) noexcept; - public void stopListeningToAnimatedNodeValue(facebook::react::Tag tag) noexcept; - public void updateNodes(const std::set& finishedAnimationValueNodes = {}) noexcept; - public ~NativeAnimatedNodesManager() noexcept; - template >> - public T* getAnimatedNode(facebook::react::Tag tag) const; -} - -class facebook::react::NativeAnimatedNodesManagerProvider { - public NativeAnimatedNodesManagerProvider(facebook::react::NativeAnimatedNodesManager::StartOnRenderCallback startOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::StopOnRenderCallback stopOnRenderCallback = nullptr, facebook::react::NativeAnimatedNodesManager::FrameRateListenerCallback frameRateListenerCallback = nullptr); - public std::shared_ptr getEventEmitterListener(); - public std::shared_ptr getOrCreate(facebook::jsi::Runtime& runtime, std::shared_ptr jsInvoker); - public void addEventEmitterListener(const std::shared_ptr& listener); -} - -class facebook::react::NativeCPUTime : public NativeCPUTimeCxxSpec { - public NativeCPUTime(std::shared_ptr jsInvoker); - public bool hasAccurateCPUTimeNanosForBenchmarks(facebook::jsi::Runtime& runtime); - public double getCPUTimeNanos(facebook::jsi::Runtime& runtime); -} - -class facebook::react::NativeDOM : public NativeDOMCxxSpec { - public NativeDOM(std::shared_ptr jsInvoker); - public bool hasPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public bool isConnected(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public double compareDocumentPosition(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference, facebook::jsi::Value otherNativeNodeReference); - public facebook::jsi::Value getElementById(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, const std::string& id); - public facebook::jsi::Value getParentNode(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public facebook::jsi::Value linkRootNode(facebook::jsi::Runtime& rt, facebook::react::SurfaceId surfaceId, facebook::jsi::Value instanceHandle); - public std::string getTagName(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::string getTextContent(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBoundingClientRect(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, bool includeTransform); - public std::tuple getScrollPosition(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getOffset(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getBorderWidth(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getInnerSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::tuple getScrollSize(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode); - public std::vector getChildNodes(facebook::jsi::Runtime& rt, facebook::jsi::Value nativeNodeReference); - public void measure(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureOnSuccessCallback& callback); - public void measureInWindow(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, const facebook::react::MeasureInWindowOnSuccessCallback& callback); - public void measureLayout(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, std::shared_ptr relativeToShadowNode, facebook::jsi::Function onFail, const facebook::react::MeasureLayoutOnSuccessCallback& onSuccess); - public void releasePointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); - public void setNativeProps(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, facebook::jsi::Value updatePayload); - public void setPointerCapture(facebook::jsi::Runtime& rt, std::shared_ptr shadowNode, double pointerId); -} - -class facebook::react::NativeIdleCallbacks : public NativeIdleCallbacksCxxSpec { - public NativeIdleCallbacks(std::shared_ptr jsInvoker); - public facebook::react::CallbackHandle requestIdleCallback(facebook::jsi::Runtime& runtime, facebook::react::SyncCallback&& callback, std::optional options); - public void cancelIdleCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Object handle); -} - -class facebook::react::NativeIntersectionObserver : public NativeIntersectionObserverCxxSpec { - public NativeIntersectionObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observeV2(facebook::jsi::Runtime& runtime, facebook::react::NativeIntersectionObserverObserveOptions options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::AsyncCallback<> notifyIntersectionObserversCallback); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserveV2(facebook::jsi::Runtime& runtime, facebook::react::IntersectionObserverObserverId intersectionObserverId, facebook::jsi::Object targetToken); -} - class facebook::react::NativeMethodCallInvoker { public virtual void invokeAsync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) noexcept = 0; public virtual void invokeSync(const std::string& methodName, facebook::react::NativeMethodCallFunc&& func) = 0; public virtual ~NativeMethodCallInvoker() = default; } -class facebook::react::NativeMicrotasks : public NativeMicrotasksCxxSpec { - public NativeMicrotasks(std::shared_ptr jsInvoker); - public void queueMicrotask(facebook::jsi::Runtime& runtime, facebook::jsi::Function callback); -} - -class facebook::react::NativeModule { - public virtual facebook::react::MethodCallResult callSerializableNativeHook(unsigned int reactMethodId, folly::dynamic&& args) = 0; - public virtual folly::dynamic getConstants() = 0; - public virtual std::string getName() = 0; - public virtual std::string getSyncMethodName(unsigned int methodId) = 0; - public virtual std::vector getMethods() = 0; - public virtual void invoke(unsigned int reactMethodId, folly::dynamic&& params, int callId) = 0; - public virtual ~NativeModule() = default; -} - -class facebook::react::NativeModulePerfLogger { - public virtual void asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallBatchPreprocessEnd(int batchSize) = 0; - public virtual void asyncMethodCallBatchPreprocessStart() = 0; - public virtual void asyncMethodCallDispatch(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id) = 0; - public virtual void asyncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void asyncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual void moduleCreateCacheHit(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateConstructStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateFail(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateSetUpStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateEnd(const char* moduleName, int32_t id) = 0; - public virtual void moduleDataCreateStart(const char* moduleName, int32_t id) = 0; - public virtual void moduleJSRequireBeginningCacheHit(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningFail(const char* moduleName) = 0; - public virtual void moduleJSRequireBeginningStart(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingEnd(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingFail(const char* moduleName) = 0; - public virtual void moduleJSRequireEndingStart(const char* moduleName) = 0; - public virtual void syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallArgConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallExecutionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallFail(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName) = 0; - public virtual void syncMethodCallStart(const char* moduleName, const char* methodName) = 0; - public virtual ~NativeModulePerfLogger() = default; -} - -class facebook::react::NativeMutationObserver : public NativeMutationObserverCxxSpec { - public NativeMutationObserver(std::shared_ptr jsInvoker); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::jsi::Function notifyMutationObservers, facebook::react::SyncCallback getPublicInstanceFromInstanceHandle); - public void disconnect(facebook::jsi::Runtime& runtime); - public void observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeMutationObserverObserveOptions& options); - public void unobserveAll(facebook::jsi::Runtime& runtime, facebook::react::MutationObserverId mutationObserverId); -} - -class facebook::react::NativePerformance : public NativePerformanceCxxSpec { - public NativePerformance(std::shared_ptr jsInvoker); - public double getDroppedEntriesCount(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj); - public facebook::jsi::Object createObserver(facebook::jsi::Runtime& rt, facebook::react::NativePerformancePerformanceObserverCallback callback); - public facebook::react::HighResDuration timeOrigin(facebook::jsi::Runtime& rt); - public facebook::react::HighResTimeStamp now(facebook::jsi::Runtime& rt); - public std::optional getMarkTime(facebook::jsi::Runtime& rt, const std::string& name); - public std::unordered_map getReactNativeStartupTiming(facebook::jsi::Runtime& rt); - public std::unordered_map getSimpleMemoryInfo(facebook::jsi::Runtime& rt); - public std::vector getEntries(facebook::jsi::Runtime& rt); - public std::vector getEntriesByName(facebook::jsi::Runtime& rt, const std::string& entryName, std::optional entryType = std::nullopt); - public std::vector getEntriesByType(facebook::jsi::Runtime& rt, facebook::react::PerformanceEntryType entryType); - public std::vector takeRecords(facebook::jsi::Runtime& rt, facebook::jsi::Object observerObj, bool sort); - public std::vector getSupportedPerformanceEntryTypes(facebook::jsi::Runtime& rt); - public std::vector> getEventCounts(facebook::jsi::Runtime& rt); - public void clearEventCountsForTesting(facebook::jsi::Runtime& rt); - public void clearMarks(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void clearMeasures(facebook::jsi::Runtime& rt, std::optional entryName = std::nullopt); - public void disconnect(facebook::jsi::Runtime& rt, facebook::jsi::Object observer); - public void observe(facebook::jsi::Runtime& rt, facebook::jsi::Object observer, facebook::react::NativePerformancePerformanceObserverObserveOptions options); - public void reportMark(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp time, facebook::jsi::Value entry); - public void reportMeasure(facebook::jsi::Runtime& rt, const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::jsi::Value entry); -} - -class facebook::react::NativeResizeObserver : public NativeResizeObserverCxxSpec { - public NativeResizeObserver(std::shared_ptr jsInvoker); - public facebook::jsi::Object observe(facebook::jsi::Runtime& runtime, const facebook::react::NativeResizeObserverObserveOptions& options); - public std::vector takeRecords(facebook::jsi::Runtime& runtime); - public void connect(facebook::jsi::Runtime& runtime, facebook::react::NativeResizeObserverNotifyCallback notifyResizeObserversFunction); - public void disconnect(facebook::jsi::Runtime& runtime); - public void unobserve(facebook::jsi::Runtime& runtime, facebook::react::ResizeObserverObserverId resizeObserverId, facebook::jsi::Object targetToken); -} - -class facebook::react::NativeToJsBridge { - public NativeToJsBridge(facebook::react::JSExecutorFactory* jsExecutorFactory, std::shared_ptr registry, std::shared_ptr jsQueue, std::shared_ptr callback); - public bool isBatchActive(); - public bool isInspectable(); - public facebook::react::jsinspector_modern::RuntimeTargetDelegate& getInspectorTargetDelegate(); - public std::shared_ptr getDecoratedNativeMethodCallInvoker(std::shared_ptr nativeMethodCallInvoker) const; - public virtual ~NativeToJsBridge(); - public void callFunction(std::string&& module, std::string&& method, folly::dynamic&& arguments); - public void destroy(); - public void handleMemoryPressure(int pressureLevel); - public void initializeRuntime(); - public void invokeCallback(double callbackId, folly::dynamic&& arguments); - public void loadBundle(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); - public void loadBundleSync(std::unique_ptr bundleRegistry, std::unique_ptr startupScript, std::string sourceURL); - public void registerBundle(uint32_t bundleId, const std::string& bundlePath); - public void runOnExecutorQueue(std::function&& task) noexcept; - public void setGlobalVariable(std::string propName, std::unique_ptr jsonValue); - public void* getJavaScriptContext(); -} - class facebook::react::NativeViewTransition : public NativeViewTransitionCxxSpec { public NativeViewTransition(std::shared_ptr jsInvoker); public facebook::jsi::Value findPseudoElementShadowNodeByTag(facebook::jsi::Runtime& rt, double reactTag); @@ -2571,193 +962,6 @@ class facebook::react::NativeViewTransition : public NativeViewTransitionCxxSpec public void waitForTransitionAnimation(facebook::jsi::Runtime& rt, double animationId); } -class facebook::react::NetworkReporter { - public bool isDebuggingEnabled() const; - public static facebook::react::NetworkReporter& getInstance(); - public void reportConnectionTiming(const std::string& requestId, const std::optional& headers); - public void reportDataReceived(const std::string& requestId, int dataLength, const std::optional& encodedDataLength); - public void reportRequestFailed(const std::string& requestId, bool cancelled) const; - public void reportRequestStart(const std::string& requestId, const facebook::react::RequestInfo& requestInfo, int encodedDataLength, const std::optional& redirectResponse); - public void reportResponseEnd(const std::string& requestId, int encodedDataLength); - public void reportResponseStart(const std::string& requestId, const facebook::react::ResponseInfo& responseInfo, int encodedDataLength); - public void reportWebSocketClosed(const std::string& requestId) const; - public void reportWebSocketCreated(const std::string& requestId, const std::string& url) const; - public void reportWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t statusCode, const facebook::react::Headers& headers) const; - public void reportWebSocketMessageReceived(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketMessageSent(const std::string& requestId, const std::string& payloadData, bool isBinary) const; - public void reportWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::Headers& headers) const; - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::ObjectAnimatedNode : public facebook::react::AnimatedNode { - public ObjectAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(std::string propKey, folly::dynamic& props); -} - -class facebook::react::OperatorAnimatedNode : public facebook::react::ValueAnimatedNode { - protected std::vector inputNodes_; - public OperatorAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); -} - -class facebook::react::ParagraphAttributes : public facebook::react::DebugStringConvertible { - public Float minimumFontScale; - public Float minimumFontSize; - public bool adjustsFontSizeToFit; - public bool includeFontPadding; - public bool operator==(const facebook::react::ParagraphAttributes& rhs) const; - public facebook::react::EllipsizeMode ellipsizeMode; - public facebook::react::HyphenationFrequency android_hyphenationFrequency; - public facebook::react::TextBreakStrategy textBreakStrategy; - public facebook::react::TextWidthMode textWidthMode; - public int maximumNumberOfLines; - public std::optional textAlignVertical; -} - -class facebook::react::ParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public ParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::ParagraphEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onTextLayout(const facebook::react::LinesMeasurements& linesMeasurements) const; -} - -class facebook::react::ParagraphShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected virtual bool shouldNewRevisionDirtyMeasurement(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment) const override; - public ParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - -class facebook::react::ParagraphShadowNode::Content { - public facebook::react::AttributedString attributedString; - public facebook::react::BaseTextShadowNode::Attachments attachments; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::PerformanceEntryBuffer { - public PerformanceEntryBuffer() = default; - public facebook::react::HighResDuration durationThreshold; - public size_t droppedEntriesCount; - public virtual void add(const facebook::react::PerformanceEntry& entry) = 0; - public virtual void clear() = 0; - public virtual void clear(const std::string& name) = 0; - public virtual void getEntries(std::vector& target) const = 0; - public virtual void getEntries(std::vector& target, const std::string& name) const = 0; - public virtual ~PerformanceEntryBuffer() = default; -} - -class facebook::react::PerformanceEntryCircularBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryCircularBuffer(size_t size); - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; - public ~PerformanceEntryCircularBuffer() override = default; -} - -class facebook::react::PerformanceEntryKeyedBuffer : public facebook::react::PerformanceEntryBuffer { - public PerformanceEntryKeyedBuffer() = default; - public std::optional find(const std::string& name) const; - public virtual void add(const facebook::react::PerformanceEntry& entry) override; - public virtual void clear() override; - public virtual void clear(const std::string& name) override; - public virtual void getEntries(std::vector& target) const override; - public virtual void getEntries(std::vector& target, const std::string& name) const override; -} - -class facebook::react::PerformanceEntryReporter { - public PerformanceEntryReporter(); - public const std::unordered_map& getEventCounts() const; - public facebook::react::PerformanceObserverRegistry& getObserverRegistry(); - public static std::shared_ptr& getInstance(); - public static std::vector getSupportedEntryTypes(); - public std::optional getMarkTime(const std::string& markName) const; - public std::vector getEntries() const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType) const; - public std::vector getEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public uint32_t getDroppedEntriesCount(facebook::react::PerformanceEntryType type) const noexcept; - public using UserTimingDetailProvider = std::function; - public void addEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void clearEntries(); - public void clearEntries(facebook::react::PerformanceEntryType entryType); - public void clearEntries(facebook::react::PerformanceEntryType entryType, const std::string& entryName); - public void clearEventCounts(); - public void getEntries(std::vector& dest) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType) const; - public void getEntries(std::vector& dest, facebook::react::PerformanceEntryType entryType, const std::string& entryName) const; - public void removeEventListener(facebook::react::PerformanceEntryReporterEventListener* listener); - public void reportEvent(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, facebook::react::HighResTimeStamp processingStart, facebook::react::HighResTimeStamp processingEnd, facebook::react::HighResTimeStamp taskEndTime, uint32_t interactionId); - public void reportLongTask(facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::PerformanceEntryReporter::UserTimingDetailProvider&& detailProvider = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp startTime, facebook::react::HighResDuration duration, const std::optional& detailProvider = std::nullopt); - public void reportResourceTiming(const std::string& url, facebook::react::HighResTimeStamp fetchStart, facebook::react::HighResTimeStamp requestStart, std::optional connectStart, std::optional connectEnd, facebook::react::HighResTimeStamp responseStart, facebook::react::HighResTimeStamp responseEnd, int responseStatus, const std::string& contentType, int encodedBodySize, int decodedBodySize); -} - -class facebook::react::PerformanceEntryReporterEventListener { - public virtual void onEventTimingEntry(const facebook::react::PerformanceEventTiming&); - public virtual void onMeasureEntry(const facebook::react::PerformanceMeasure&, const std::optional&); - public virtual ~PerformanceEntryReporterEventListener() = default; -} - -class facebook::react::PerformanceObserver : public std::enable_shared_from_this { - public PerformanceObserver(PrivateUseCreateMethod, facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public static std::shared_ptr create(facebook::react::PerformanceObserverRegistry& registry, facebook::react::PerformanceObserverCallback&& callback); - public std::vector takeRecords(); - public uint32_t getDroppedEntriesCount() noexcept; - public void disconnect() noexcept; - public void handleEntry(const facebook::react::PerformanceEntry& entry); - public void observe(facebook::react::PerformanceEntryType type, facebook::react::PerformanceObserverObserveSingleOptions options = {}); - public void observe(std::unordered_set types); - public ~PerformanceObserver() = default; -} - -class facebook::react::PerformanceObserverRegistry { - public PerformanceObserverRegistry() = default; - public void addObserver(std::shared_ptr observer); - public void queuePerformanceEntry(const facebook::react::PerformanceEntry& entry); - public void removeObserver(std::shared_ptr observer); -} - -class facebook::react::PlatformTimerRegistry { - public virtual void createRecurringTimer(uint32_t timerID, double delayMS) = 0; - public virtual void createTimer(uint32_t timerID, double delayMS) = 0; - public virtual void deleteTimer(uint32_t timerID) = 0; - public virtual void quit(); - public virtual void setTimerManager(std::weak_ptr); - public virtual ~PlatformTimerRegistry() noexcept = default; -} - -class facebook::react::PointerEventsProcessor { - public bool hasPointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public static std::shared_ptr getShadowNodeFromEventTarget(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* target); - public void interceptPointerEvent(const std::shared_ptr& target, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::PointerEvent& event, const facebook::react::DispatchEvent& eventDispatcher, const facebook::react::UIManager& uiManager); - public void releasePointerCapture(facebook::react::PointerIdentifier pointerId, const facebook::react::ShadowNode* shadowNode); - public void setPointerCapture(facebook::react::PointerIdentifier pointerId, const std::shared_ptr& shadowNode); -} - -class facebook::react::PointerHoverTracker { - public PointerHoverTracker(std::shared_ptr target, const facebook::react::UIManager& uiManager); - public bool areAnyTargetsListeningToEvents(std::initializer_list eventTypes, const facebook::react::UIManager& uiManager) const; - public bool hasSameTarget(const facebook::react::PointerHoverTracker& other) const; - public const facebook::react::ShadowNode* getTarget(const facebook::react::UIManager& uiManager) const; - public std::tuple diffEventPath(const facebook::react::PointerHoverTracker& other, const facebook::react::UIManager& uiManager) const; - public using EventPath = std::vector>; - public using Unique = std::unique_ptr; - public void markAsOld(); -} - -class facebook::react::PreparedTextCacheKey { - public Float pointScaleFactor; - public facebook::react::AttributedString attributedString; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - class facebook::react::Props : public virtual facebook::react::Sealable, public virtual facebook::react::DebugStringConvertible { public Props() = default; public Props(const facebook::react::Props& other) = default; @@ -2769,31 +973,6 @@ class facebook::react::Props : public virtual facebook::react::Sealable, public public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); } -class facebook::react::PropsAnimatedNode : public facebook::react::AnimatedNode { - public PropsAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public facebook::react::SurfaceId connectedRootTag() const; - public facebook::react::Tag connectedViewTag() const; - public folly::dynamic props(); - public virtual void update() override; - public void collectProps(); - public void connectToShadowNodeFamily(facebook::react::ShadowNodeFamily::Weak shadowNodeFamily); - public void connectToView(facebook::react::Tag viewTag); - public void disconnectFromShadowNodeFamily(); - public void disconnectFromView(facebook::react::Tag viewTag); - public void restoreDefaultValues(); - public void update(bool forceFabricCommit); -} - -class facebook::react::RAMBundleRegistry { - public RAMBundleRegistry(facebook::react::RAMBundleRegistry&&) = default; - public RAMBundleRegistry(std::unique_ptr mainBundle, std::function(std::string)> factory = nullptr); - public facebook::react::JSModulesUnbundle::Module getModule(uint32_t bundleId, uint32_t moduleId); - public facebook::react::RAMBundleRegistry& operator=(facebook::react::RAMBundleRegistry&&) = default; - public static constexpr uint32_t MAIN_BUNDLE_ID; - public virtual ~RAMBundleRegistry() = default; - public void registerBundle(uint32_t bundleId, std::string bundlePath); -} - class facebook::react::RawProps { public RawProps(); public RawProps(const facebook::react::RawProps& other) noexcept; @@ -2832,15 +1011,6 @@ class facebook::react::RawPropsParser { public void prepare() noexcept; } -class facebook::react::RawTextProps : public facebook::react::Props { - public RawTextProps() = default; - public RawTextProps(const facebook::react::PropsParserContext& context, const facebook::react::RawTextProps& sourceProps, const facebook::react::RawProps& rawProps); - public std::string text; -} - -class facebook::react::RawTextShadowNode : public facebook::react::ConcreteShadowNode { -} - class facebook::react::RawValue { public RawValue() noexcept; public RawValue(const folly::dynamic& dynamic) noexcept; @@ -2857,374 +1027,12 @@ class facebook::react::RawValue { public operator T() const; } -class facebook::react::ReactInstance { - public ReactInstance(const facebook::react::ReactInstance&) = delete; - public ReactInstance(facebook::react::ReactInstance&&) = delete; - public ReactInstance(std::unique_ptr runtime, std::shared_ptr jsMessageQueueThread, std::shared_ptr timerManager, facebook::react::JsErrorHandler::OnJsError onJsError, facebook::react::jsinspector_modern::HostTarget* parentInspectorTarget = nullptr); - public facebook::react::ReactInstance& operator=(const facebook::react::ReactInstance&) = delete; - public facebook::react::ReactInstance& operator=(facebook::react::ReactInstance&&) = delete; - public facebook::react::RuntimeExecutor getBufferedRuntimeExecutor() noexcept; - public facebook::react::RuntimeExecutor getUnbufferedRuntimeExecutor() noexcept; - public std::shared_ptr createJSCallInvoker() noexcept; - public std::shared_ptr getRuntimeScheduler() noexcept; - public using BindingsInstallFunc = std::function; - public void callFunctionOnModule(const std::string& moduleName, const std::string& methodName, folly::dynamic&& args); - public void handleMemoryPressureJs(int pressureLevel); - public void initializeRuntime(facebook::react::ReactInstance::JSRuntimeFlags options, facebook::react::ReactInstance::BindingsInstallFunc bindingsInstallFunc) noexcept; - public void loadScript(std::unique_ptr script, const std::string& sourceURL, std::function&& beforeLoad = nullptr, std::function&& afterLoad = nullptr); - public void registerSegment(uint32_t segmentId, const std::string& segmentPath); - public void unregisterFromInspector(); - public void* getJavaScriptContext(); - public ~ReactInstance() noexcept override; -} - -struct facebook::react::ReactInstance::JSRuntimeFlags { - public bool isProfiling; - public const std::string runtimeDiagnosticFlags; -} - -class facebook::react::ReactPerfettoLogger { - public static bool isTracing(); - public static void mark(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); - public static void measure(const std::string_view& eventName, facebook::react::HighResTimeStamp startTime, facebook::react::HighResTimeStamp endTime, const std::optional& trackName = std::nullopt, const std::optional& trackGroup = std::nullopt); -} - -class facebook::react::ResizeObserver { - public ResizeObserver(facebook::react::ResizeObserverObserverId resizeObserverId, facebook::react::ShadowNodeFamily::Shared targetShadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions, uint64_t observationSequence); - public bool hasDeliveredDetachedState() const; - public bool needsInitialDeliveryCheck() const; - public facebook::react::ResizeObservationResult computeActiveObservation(const facebook::react::RootShadowNode& rootShadowNode) const; - public facebook::react::ResizeObserverObserverId getResizeObserverId() const; - public facebook::react::ShadowNodeFamily::Shared getTargetShadowNodeFamily() const; - public uint64_t getObservationSequence() const; - public void markAsReported(const facebook::react::ResizeObservationResult& result); - public void updateDetachedState(bool detached); -} - -class facebook::react::ResizeObserverManager : public facebook::react::UIManagerCommitHook, public facebook::react::RuntimeSchedulerResizeObserverDelegate { - public ResizeObserverManager(); - public std::vector takeRecords(); - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept override; - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; - public void connect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager, std::function notifyResizeObserversFunction); - public void disconnect(facebook::react::RuntimeScheduler& runtimeScheduler, facebook::react::UIManager& uiManager); - public void observe(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily, facebook::react::ResizeObserverBoxOptions boxOptions); - public void unobserve(facebook::react::ResizeObserverObserverId resizeObserverId, const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily); -} - -class facebook::react::RootProps : public facebook::react::HostPlatformViewProps { - public RootProps() = default; - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext); - public RootProps(const facebook::react::PropsParserContext& context, const facebook::react::RootProps& sourceProps, const facebook::react::RawProps& rawProps); - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; -} - -class facebook::react::RootShadowNode : public facebook::react::ConcreteViewShadowNode { - public RootShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public RootShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public bool layoutIfNeeded(std::vector* affectedNodes = {}); - public facebook::react::RootShadowNode::Unshared clone(const facebook::react::PropsParserContext& propsParserContext, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using Shared = std::shared_ptr; - public using Unshared = std::shared_ptr; - public virtual facebook::react::Transform getTransform() const override; - public void setInstanceHandle(facebook::react::InstanceHandle::Shared instanceHandle) const; -} - -class facebook::react::RoundAnimatedNode : public facebook::react::ValueAnimatedNode { - public RoundAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::RunLoopObserver { - protected const facebook::react::RunLoopObserver::Activity activities_; - protected const facebook::react::RunLoopObserver::WeakOwner owner_; - protected mutable const facebook::react::RunLoopObserver::Delegate* delegate_; - protected mutable std::atomic enabled_; - protected virtual void startObserving() const noexcept = 0; - protected virtual void stopObserving() const noexcept = 0; - protected void activityDidChange(facebook::react::RunLoopObserver::Activity activity) const noexcept; - public RunLoopObserver(facebook::react::RunLoopObserver::Activity activities, facebook::react::RunLoopObserver::WeakOwner owner) noexcept; - public facebook::react::RunLoopObserver::WeakOwner getOwner() const noexcept; - public using Factory = std::function(facebook::react::RunLoopObserver::Activity activities, const facebook::react::RunLoopObserver::WeakOwner& owner)>; - public using Owner = std::shared_ptr; - public using WeakOwner = std::weak_ptr; - public virtual bool isOnRunLoopThread() const noexcept = 0; - public virtual ~RunLoopObserver() noexcept = default; - public void disable() const noexcept; - public void enable() const noexcept; - public void setDelegate(const facebook::react::RunLoopObserver::Delegate* delegate) const noexcept; -} - -class facebook::react::RunLoopObserver::Delegate { - public virtual void activityDidChange(const facebook::react::RunLoopObserver::Delegate* delegate, facebook::react::RunLoopObserver::Activity activity) const noexcept = 0; - public virtual ~Delegate() noexcept = default; -} - -enum facebook::react::RunLoopObserver::Activity : int32_t { - AfterWaiting, - BeforeWaiting, - None, -} - -class facebook::react::RuntimeScheduler : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler(const facebook::react::RuntimeScheduler&) = delete; - public RuntimeScheduler(facebook::react::RuntimeExecutor runtimeExecutor, std::function now = facebook::react::HighResTimeStamp::now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError = handleTaskErrorDefault); - public RuntimeScheduler(facebook::react::RuntimeScheduler&&) = delete; - public facebook::react::RuntimeScheduler& operator=(const facebook::react::RuntimeScheduler&) = delete; - public facebook::react::RuntimeScheduler& operator=(facebook::react::RuntimeScheduler&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeSchedulerBase : public facebook::hermes::IEventLoopControl { - public virtual bool getShouldYield() noexcept = 0; - public virtual facebook::react::HighResTimeStamp now() const noexcept = 0; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept = 0; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) = 0; - public virtual void cancelTask(facebook::react::Task& task) noexcept = 0; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) = 0; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) = 0; - public virtual void scheduleTask(const std::function& task) = 0; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept = 0; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) = 0; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) = 0; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* reporter) = 0; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) = 0; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* provider) = 0; - public virtual ~RuntimeSchedulerBase() = default; -} - -class facebook::react::RuntimeSchedulerBinding : public facebook::jsi::HostObject { - public RuntimeSchedulerBinding(std::shared_ptr runtimeScheduler); - public static std::shared_ptr createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& runtimeScheduler); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public std::shared_ptr getRuntimeScheduler() noexcept; - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; -} - -class facebook::react::RuntimeSchedulerCallInvoker : public facebook::react::CallInvoker { - public RuntimeSchedulerCallInvoker(std::weak_ptr runtimeScheduler); - public virtual void invokeAsync(facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeAsync(facebook::react::SchedulerPriority priority, facebook::react::CallFunc&& func) noexcept override; - public virtual void invokeSync(facebook::react::CallFunc&& func) override; -} - -class facebook::react::RuntimeSchedulerEventTimingDelegate { - public virtual void dispatchPendingEventTimingEntries(facebook::react::HighResTimeStamp taskEndTime, const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerEventTimingDelegate() = default; -} - -class facebook::react::RuntimeSchedulerIntersectionObserverDelegate { - public virtual void updateIntersectionObservations(const std::unordered_set& surfaceIdsWithPendingRenderingUpdates) = 0; - public virtual ~RuntimeSchedulerIntersectionObserverDelegate() = default; -} - -class facebook::react::RuntimeSchedulerResizeObserverDelegate { - public virtual void runResizeObservations(facebook::jsi::Runtime& runtime) = 0; - public virtual ~RuntimeSchedulerResizeObserverDelegate() = default; -} - -class facebook::react::RuntimeScheduler_Legacy : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Legacy(const facebook::react::RuntimeScheduler_Legacy&) = delete; - public RuntimeScheduler_Legacy(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Legacy(facebook::react::RuntimeScheduler_Legacy&&) = delete; - public facebook::react::RuntimeScheduler_Legacy& operator=(const facebook::react::RuntimeScheduler_Legacy&) = delete; - public facebook::react::RuntimeScheduler_Legacy& operator=(facebook::react::RuntimeScheduler_Legacy&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration timeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::RuntimeScheduler_Modern : public facebook::react::RuntimeSchedulerBase { - public RuntimeScheduler_Modern(const facebook::react::RuntimeScheduler_Modern&) = delete; - public RuntimeScheduler_Modern(facebook::react::RuntimeExecutor runtimeExecutor, std::function now, facebook::react::RuntimeSchedulerTaskErrorHandler onTaskError); - public RuntimeScheduler_Modern(facebook::react::RuntimeScheduler_Modern&&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(const facebook::react::RuntimeScheduler_Modern&) = delete; - public facebook::react::RuntimeScheduler_Modern& operator=(facebook::react::RuntimeScheduler_Modern&&) = delete; - public virtual bool getShouldYield() noexcept override; - public virtual facebook::react::HighResTimeStamp now() const noexcept override; - public virtual facebook::react::SchedulerPriority getCurrentPriorityLevel() const noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::jsi::Function&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleIdleTask(facebook::react::RawCallback&& callback, facebook::react::HighResDuration customTimeout = timeoutForSchedulerPriority(facebook::react::SchedulerPriority::IdlePriority)) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback) noexcept override; - public virtual std::shared_ptr scheduleTask(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback) noexcept override; - public virtual uint64_t registerTaskQueueSource() override; - public virtual void callExpiredTasks(facebook::jsi::Runtime& runtime) override; - public virtual void cancelTask(facebook::react::Task& task) noexcept override; - public virtual void executeNowOnTheSameThread(facebook::react::RawCallback&& callback) override; - public virtual void scheduleRenderingUpdate(facebook::react::SurfaceId surfaceId, facebook::react::RuntimeSchedulerRenderingUpdate&& renderingUpdate) override; - public virtual void scheduleTask(const std::function& task) override; - public virtual void scheduleWork(facebook::react::RawCallback&& callback) noexcept override; - public virtual void setEventTimingDelegate(facebook::react::RuntimeSchedulerEventTimingDelegate* eventTimingDelegate) override; - public virtual void setIntersectionObserverDelegate(facebook::react::RuntimeSchedulerIntersectionObserverDelegate* intersectionObserverDelegate) override; - public virtual void setPerformanceEntryReporter(facebook::react::PerformanceEntryReporter* performanceEntryReporter) override; - public virtual void setResizeObserverDelegate(facebook::react::RuntimeSchedulerResizeObserverDelegate* resizeObserverDelegate) override; - public virtual void setShadowTreeRevisionConsistencyManager(facebook::react::ShadowTreeRevisionConsistencyManager* shadowTreeRevisionConsistencyManager) override; - public virtual void unregisterTaskQueueSource(uint64_t sourceId) override; -} - -class facebook::react::SafeAreaViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { -} - -class facebook::react::SafeAreaViewShadowNode : public facebook::react::ConcreteViewShadowNode { -} - -class facebook::react::SafeAreaViewState { - public facebook::react::EdgeInsets padding; -} - -class facebook::react::Scheduler : public facebook::react::UIManagerDelegate { - public Scheduler(const facebook::react::SchedulerToolbox& schedulerToolbox, facebook::react::UIManagerAnimationDelegate* animationDelegate, facebook::react::SchedulerDelegate* delegate); - public facebook::react::SchedulerDelegate* getDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr getUIManager() const; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidClearPendingSnapshots() override; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) override; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) override; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) override; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) override; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) override; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) override; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) override; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) override; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) final; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) override; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) final; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) override; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) override; - public void addEventListener(std::shared_ptr listener); - public void animationTick() const; - public void registerSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void setDelegate(facebook::react::SchedulerDelegate* delegate); - public void unregisterSurface(const facebook::react::SurfaceHandler& surfaceHandler) const noexcept; - public ~Scheduler() override; -} - -class facebook::react::SchedulerDelegate { - public virtual void schedulerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidClearPendingSnapshots() = 0; - public virtual void schedulerDidDispatchCommand(const facebook::react::ShadowView& shadowView, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void schedulerDidFinishTransaction(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerDidRequestPreliminaryViewAllocation(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void schedulerDidSendAccessibilityEvent(const facebook::react::ShadowView& shadowView, const std::string& eventType) = 0; - public virtual void schedulerDidSetIsJSResponder(const facebook::react::ShadowView& shadowView, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void schedulerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void schedulerShouldMergeReactRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual void schedulerShouldRenderTransactions(const std::shared_ptr& mountingCoordinator) = 0; - public virtual void schedulerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public virtual void schedulerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~SchedulerDelegate() noexcept = default; -} - -class facebook::react::ScopedShadowTreeRevisionLock { - public ScopedShadowTreeRevisionLock(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ScopedShadowTreeRevisionLock(facebook::react::ShadowTreeRevisionConsistencyManager* consistencyManager) noexcept; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(const facebook::react::ScopedShadowTreeRevisionLock&) = delete; - public facebook::react::ScopedShadowTreeRevisionLock& operator=(facebook::react::ScopedShadowTreeRevisionLock&&) = delete; - public ~ScopedShadowTreeRevisionLock() noexcept; -} - -class facebook::react::ScrollViewEventEmitter : public facebook::react::BaseViewEventEmitter { - public using EndDragMetrics = facebook::react::ScrollEndDragEvent; - public using Metrics = facebook::react::ScrollEvent; - public void onMomentumScrollBegin(const facebook::react::ScrollEvent& scrollEvent) const; - public void onMomentumScrollEnd(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScroll(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollBeginDrag(const facebook::react::ScrollEvent& scrollEvent) const; - public void onScrollEndDrag(const facebook::react::ScrollEndDragEvent& scrollEvent) const; - public void onScrollToTop(const facebook::react::ScrollEvent& scrollEvent) const; -} - -class facebook::react::ScrollViewMaintainVisibleContentPosition { - public bool operator==(const facebook::react::ScrollViewMaintainVisibleContentPosition& rhs) const = default; - public int minIndexForVisible; - public std::optional autoscrollToTopThreshold; -} - -class facebook::react::ScrollViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public ScrollViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public ScrollViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ScrollViewState initialStateData(const facebook::react::Props::Shared& props, const facebook::react::ShadowNodeFamily::Shared& family, const facebook::react::ComponentDescriptor& componentDescriptor); - public virtual facebook::react::Point getContentOriginOffset(bool includeTransform) const override; - public virtual void layout(facebook::react::LayoutContext layoutContext) override; -} - -class facebook::react::ScrollViewState { - public ScrollViewState() = default; - public ScrollViewState(facebook::react::Point contentOffset, facebook::react::Rect contentBoundingRect, int scrollAwayPaddingTop); - public bool disableViewCulling; - public facebook::react::Point contentOffset; - public facebook::react::Rect contentBoundingRect; - public facebook::react::Size getContentSize() const; - public int scrollAwayPaddingTop; -} - class facebook::react::Sealable { public bool getSealed() const; public void ensureUnsealed() const; public void seal() const; } -class facebook::react::SelectableParagraphComponentDescriptor : public facebook::react::BaseParagraphComponentDescriptor { - public SelectableParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); -} - -class facebook::react::SelectableParagraphShadowNode : public facebook::react::ParagraphShadowNode { - public SelectableParagraphShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SelectableParagraphShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static constexpr facebook::react::ComponentName Name(); - public static facebook::react::ComponentHandle Handle(); -} - class facebook::react::ShadowNode : public facebook::react::Sealable, public facebook::react::DebugStringConvertible, public facebook::jsi::NativeState { protected facebook::react::Props::Shared props_; protected facebook::react::ShadowNodeTraits traits_; @@ -3324,63 +1132,6 @@ enum facebook::react::ShadowNodeTraits::Trait : int32_t { ViewKind, } -class facebook::react::ShadowTree { - public ShadowTree(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext, const facebook::react::ShadowTreeDelegate& delegate, const facebook::react::ContextContainer& contextContainer); - public bool promoteReactRevision() const; - public facebook::react::CommitMode getCommitMode() const; - public facebook::react::CommitStatus commit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::CommitStatus tryCommit(const facebook::react::ShadowTreeCommitTransaction& transaction, const facebook::react::ShadowTree::CommitOptions& commitOptions) const; - public facebook::react::ShadowTreeRevision getCurrentRevision() const; - public facebook::react::SurfaceId getSurfaceId() const; - public std::optional getCurrentReactRevision() const; - public std::shared_ptr getMountingCoordinator() const; - public using CommitMode = facebook::react::ShadowTreeCommitMode; - public using CommitOptions = facebook::react::ShadowTreeCommitOptions; - public using CommitSource = facebook::react::ShadowTreeCommitSource; - public using CommitStatus = facebook::react::ShadowTreeCommitStatus; - public using Unique = std::unique_ptr; - public void commitEmptyTree() const; - public void mergeReactRevision() const; - public void notifyDelegatesOfUpdates() const; - public void setCommitMode(facebook::react::CommitMode commitMode) const; - public ~ShadowTree(); -} - -class facebook::react::ShadowTreeDelegate { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) const = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) const; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const = 0; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const = 0; - public virtual ~ShadowTreeDelegate() noexcept = default; -} - -class facebook::react::ShadowTreeRegistry { - public ShadowTreeRegistry() = default; - public bool visit(facebook::react::SurfaceId surfaceId, const std::function& callback) const; - public std::unique_ptr remove(facebook::react::SurfaceId surfaceId) const; - public void add(std::unique_ptr&& shadowTree) const; - public void enumerate(const std::function& callback) const; - public ~ShadowTreeRegistry(); -} - -class facebook::react::ShadowTreeRevision { - public facebook::react::RootShadowNode::Shared rootShadowNode; - public facebook::react::ShadowTreeRevision::Number number; - public facebook::react::TransactionTelemetry telemetry; - public using Number = int64_t; -} - -class facebook::react::ShadowTreeRevisionConsistencyManager { - public virtual void lockRevisions() = 0; - public virtual void unlockRevisions() = 0; - public virtual ~ShadowTreeRevisionConsistencyManager() = default; -} - -class facebook::react::ShadowTreeRevisionProvider { - public virtual facebook::react::RootShadowNode::Shared getCurrentRevision(facebook::react::SurfaceId surfaceId) = 0; - public virtual ~ShadowTreeRevisionProvider() = default; -} - class facebook::react::SharedColor { public Color& operator*(); public SharedColor(); @@ -3392,15 +1143,6 @@ class facebook::react::SharedColor { public std::string toString() const noexcept; } -class facebook::react::SpringAnimationDriver : public facebook::react::AnimationDriver { - protected virtual bool update(double timeDeltaMs, bool restarting) override; - public SpringAnimationDriver(int id, facebook::react::Tag animatedValueTag, std::optional endCallback, folly::dynamic config, facebook::react::NativeAnimatedNodesManager* manager); -} - -class facebook::react::StackTraceParser { - public static std::vector parse(bool isHermes, const std::string& stackString); -} - class facebook::react::State { protected State(facebook::react::StateData::Shared data, const facebook::react::State& previousState); protected State(facebook::react::StateData::Shared data, facebook::react::ShadowNodeFamily::Weak family); @@ -3424,234 +1166,6 @@ class facebook::react::StateUpdate { public using FailureCallback = std::function; } -class facebook::react::StyleAnimatedNode : public facebook::react::AnimatedNode { - public StyleAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool isLayoutStyleUpdated() const noexcept; - public void collectViewUpdates(folly::dynamic& props); -} - -class facebook::react::SubtractionAnimatedNode : public facebook::react::OperatorAnimatedNode { - public SubtractionAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::SurfaceHandler { - public SurfaceHandler(const facebook::react::SurfaceHandler& SurfaceHandler) noexcept = delete; - public SurfaceHandler(const std::string& moduleName, facebook::react::SurfaceId surfaceId) noexcept; - public SurfaceHandler(facebook::react::SurfaceHandler&& other) noexcept = delete; - public facebook::react::DisplayMode getDisplayMode() const noexcept; - public facebook::react::LayoutConstraints getLayoutConstraints() const noexcept; - public facebook::react::LayoutContext getLayoutContext() const noexcept; - public facebook::react::Size measure(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public facebook::react::SurfaceHandler& operator=(const facebook::react::SurfaceHandler& other) noexcept = delete; - public facebook::react::SurfaceHandler& operator=(facebook::react::SurfaceHandler&& other) noexcept = delete; - public facebook::react::SurfaceHandler::Status getStatus() const noexcept; - public facebook::react::SurfaceId getSurfaceId() const noexcept; - public folly::dynamic getProps() const noexcept; - public std::shared_ptr getMountingCoordinator() const noexcept; - public std::string getModuleName() const noexcept; - public virtual void setDisplayMode(facebook::react::DisplayMode displayMode) const noexcept; - public virtual ~SurfaceHandler() noexcept; - public void constraintLayout(const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const; - public void setContextContainer(std::shared_ptr contextContainer) const noexcept; - public void setProps(const folly::dynamic& props) const noexcept; - public void setSurfaceId(facebook::react::SurfaceId surfaceId) const noexcept; - public void start() const noexcept; - public void stop() const noexcept; -} - -enum facebook::react::SurfaceHandler::Status { - Registered, - Running, - Unregistered, -} - -class facebook::react::SurfaceManager { - public SurfaceManager(const facebook::react::Scheduler& scheduler) noexcept; - public bool isSurfaceRunning(facebook::react::SurfaceId surfaceId) const noexcept; - public facebook::react::Size measureSurface(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public std::optional getSurfaceProps(facebook::react::SurfaceId surfaceId) const noexcept; - public std::shared_ptr findMountingCoordinator(facebook::react::SurfaceId surfaceId) const noexcept; - public std::unordered_set getRunningSurfaces() const noexcept; - public void constraintSurfaceLayout(facebook::react::SurfaceId surfaceId, const facebook::react::LayoutConstraints& layoutConstraints, const facebook::react::LayoutContext& layoutContext) const noexcept; - public void startSurface(facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& props, const facebook::react::LayoutConstraints& layoutConstraints = {}, const facebook::react::LayoutContext& layoutContext = {}) noexcept; - public void stopAllSurfaces() noexcept; - public void stopSurface(facebook::react::SurfaceId surfaceId) noexcept; - public ~SurfaceManager() noexcept; -} - -struct facebook::react::SurfaceManager::SurfaceProps { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::LayoutContext layoutContext; - public facebook::react::SurfaceId surfaceId; - public folly::dynamic props; - public std::string moduleName; -} - -class facebook::react::SurfaceTelemetry { - public facebook::react::TelemetryDuration getCommitTime() const; - public facebook::react::TelemetryDuration getDiffTime() const; - public facebook::react::TelemetryDuration getLayoutTime() const; - public facebook::react::TelemetryDuration getMountTime() const; - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public int getLastRevisionNumber() const; - public int getNumberOfMutations() const; - public int getNumberOfTextMeasurements() const; - public int getNumberOfTransactions() const; - public static constexpr size_t kMaxNumberOfRecordedCommitTelemetries; - public std::vector getRecentTransactionTelemetries() const; - public void incorporate(const facebook::react::TransactionTelemetry& telemetry, int numberOfMutations); -} - -class facebook::react::SwitchComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public SwitchComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; -} - -class facebook::react::SwitchShadowNode : public facebook::react::ConcreteViewShadowNode { - public SwitchShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public SwitchShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; -} - -class facebook::react::TaskPriorityComparer { - public bool operator()(const std::shared_ptr& lhs, const std::shared_ptr& rhs); -} - -class facebook::react::TelemetryController { - public bool pullTransaction(const facebook::react::MountingTransactionCallback& willMount, const facebook::react::MountingTransactionCallback& doMount, const facebook::react::MountingTransactionCallback& didMount) const; -} - -class facebook::react::TextAttributes : public facebook::react::DebugStringConvertible { - public Float fontSize; - public Float fontSizeMultiplier; - public Float letterSpacing; - public Float lineHeight; - public Float maxFontSizeMultiplier; - public Float opacity; - public Float textShadowRadius; - public bool operator==(const facebook::react::TextAttributes& rhs) const; - public facebook::react::SharedColor backgroundColor; - public facebook::react::SharedColor foregroundColor; - public facebook::react::SharedColor textDecorationColor; - public facebook::react::SharedColor textShadowColor; - public static facebook::react::TextAttributes defaultTextAttributes(); - public std::optional allowFontScaling; - public std::optional isHighlighted; - public std::optional isPressable; - public std::optional accessibilityRole; - public std::optional dynamicTypeRamp; - public std::optional fontStyle; - public std::optional fontVariant; - public std::optional fontWeight; - public std::optional layoutDirection; - public std::optional lineBreakMode; - public std::optional lineBreakStrategy; - public std::optional role; - public std::optional textShadowOffset; - public std::optional alignment; - public std::optional textDecorationLineType; - public std::optional textDecorationStyle; - public std::optional textTransform; - public std::optional baseWritingDirection; - public std::optional fontVariationSettings; - public std::string fontFamily; - public std::vector textEffects; - public void apply(facebook::react::TextAttributes textAttributes); -} - -class facebook::react::TextEffectProps : public facebook::react::Props { - public TextEffectProps() = default; - public TextEffectProps(const facebook::react::PropsParserContext& context, const facebook::react::TextEffectProps& sourceProps, const facebook::react::RawProps& rawProps); - public folly::dynamic effectProps; - public std::string effectName; -} - -class facebook::react::TextEffectShadowNode : public facebook::react::ConcreteShadowNode { -} - -class facebook::react::TextInputEventEmitter : public facebook::react::BaseViewEventEmitter { - public void onBlur(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onContentSizeChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onEndEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onFocus(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onKeyPress(const facebook::react::TextInputEventEmitter::KeyPressMetrics& keyPressMetrics) const; - public void onScroll(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSelectionChange(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; - public void onSubmitEditing(const facebook::react::TextInputEventEmitter::Metrics& textInputMetrics) const; -} - -struct facebook::react::TextInputEventEmitter::KeyPressMetrics { - public int eventCount; - public std::string text; -} - -struct facebook::react::TextInputEventEmitter::Metrics { - public Float zoomScale; - public bool responderIgnoreScroll; - public facebook::react::AttributedString::Range selectionRange; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public facebook::react::Size layoutMeasurement; - public facebook::react::Tag target; - public int eventCount; - public std::string text; -} - -class facebook::react::TextInputState { - public TextInputState() = default; - public TextInputState(facebook::react::AttributedStringBox attributedStringBox, facebook::react::AttributedString reactTreeAttributedString, facebook::react::ParagraphAttributes paragraphAttributes, int64_t mostRecentEventCount); - public facebook::react::AttributedString reactTreeAttributedString; - public facebook::react::AttributedStringBox attributedStringBox; - public facebook::react::ParagraphAttributes paragraphAttributes; - public int64_t mostRecentEventCount; -} - -class facebook::react::TextMeasureCacheKey { - public Float pointScaleFactor; - public facebook::react::AttributedString attributedString; - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::ParagraphAttributes paragraphAttributes; -} - -class facebook::react::TextMeasurement { - public facebook::react::Size size; - public facebook::react::TextMeasurement::Attachments attachments; - public using Attachments = std::vector; -} - -class facebook::react::TextMeasurement::Attachment { - public bool isClipped; - public facebook::react::Rect frame; -} - -class facebook::react::TextProps : public facebook::react::Props, public facebook::react::BaseTextProps { - public TextProps() = default; - public TextProps(const facebook::react::PropsParserContext& context, const facebook::react::TextProps& sourceProps, const facebook::react::RawProps& rawProps); - public void setProp(const facebook::react::PropsParserContext& context, facebook::react::RawPropsPropNameHash hash, const char* propName, const facebook::react::RawValue& value); -} - -class facebook::react::TextShadowNode : public facebook::react::ConcreteShadowNode, public facebook::react::BaseTextShadowNode { - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::TimerManager { - public TimerManager(const facebook::react::TimerManager&) = delete; - public TimerManager(facebook::react::TimerManager&&) = delete; - public TimerManager(std::unique_ptr platformTimerRegistry) noexcept; - public facebook::react::TimerManager& operator=(const facebook::react::TimerManager&) = delete; - public facebook::react::TimerManager& operator=(facebook::react::TimerManager&&) = delete; - public void attachGlobals(facebook::jsi::Runtime& runtime); - public void callTimer(facebook::react::TimerHandle handle); - public void quit(); - public void setRuntimeExecutor(facebook::react::RuntimeExecutor runtimeExecutor) noexcept; - public ~TimerManager() noexcept; -} - class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter { public TouchEventEmitter(facebook::react::SharedEventTarget eventTarget, facebook::react::EventDispatcher::Weak eventDispatcher); public void onClick(facebook::react::PointerEvent event) const; @@ -3671,48 +1185,6 @@ class facebook::react::TouchEventEmitter : public facebook::react::EventEmitter public void onTouchStart(facebook::react::TouchEvent event) const; } -class facebook::react::TrackingAnimatedNode : public facebook::react::AnimatedNode { - public TrackingAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public virtual void update() override; -} - -class facebook::react::TransactionTelemetry { - public TransactionTelemetry(); - public TransactionTelemetry(std::function now); - public facebook::react::TelemetryDuration getTextMeasureTime() const; - public facebook::react::TelemetryTimePoint getCommitEndTime() const; - public facebook::react::TelemetryTimePoint getCommitStartTime() const; - public facebook::react::TelemetryTimePoint getDiffEndTime() const; - public facebook::react::TelemetryTimePoint getDiffStartTime() const; - public facebook::react::TelemetryTimePoint getLayoutEndTime() const; - public facebook::react::TelemetryTimePoint getLayoutStartTime() const; - public facebook::react::TelemetryTimePoint getMountEndTime() const; - public facebook::react::TelemetryTimePoint getMountStartTime() const; - public int getAffectedLayoutNodesCount() const; - public int getNumberOfTextMeasurements() const; - public int getRevisionNumber() const; - public static facebook::react::TransactionTelemetry* threadLocalTelemetry(); - public void didCommit(); - public void didDiff(); - public void didLayout(); - public void didLayout(int affectedLayoutNodesCount); - public void didMeasureText(); - public void didMount(); - public void setAsThreadLocal(); - public void setRevisionNumber(int revisionNumber); - public void unsetAsThreadLocal(); - public void willCommit(); - public void willDiff(); - public void willLayout(); - public void willMeasureText(); - public void willMount(); -} - -class facebook::react::TransformAnimatedNode : public facebook::react::AnimatedNode { - public TransformAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public void collectViewUpdates(folly::dynamic& props); -} - class facebook::react::TurboModule : public facebook::jsi::HostObject { protected const std::string name_; protected std::shared_ptr jsInvoker_; @@ -3743,184 +1215,6 @@ class facebook::react::TurboModuleWithJSIBindings { public virtual ~TurboModuleWithJSIBindings() = default; } -class facebook::react::UIManager : public facebook::react::ShadowTreeDelegate { - public UIManager(const facebook::react::RuntimeExecutor& runtimeExecutor, std::shared_ptr contextContainer); - public const facebook::react::ShadowTreeRegistry& getShadowTreeRegistry() const; - public facebook::react::LayoutMetrics getRelativeLayoutMetrics(const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode* ancestorShadowNode, facebook::react::LayoutableShadowNode::LayoutInspectingPolicy policy) const; - public facebook::react::ShadowTree::Unique stopSurface(facebook::react::SurfaceId surfaceId) const; - public facebook::react::ShadowTreeRevisionConsistencyManager* getShadowTreeRevisionConsistencyManager(); - public facebook::react::ShadowTreeRevisionProvider* getShadowTreeRevisionProvider(); - public facebook::react::UIManagerDelegate* getDelegate(); - public facebook::react::UIManagerViewTransitionDelegate* getViewTransitionDelegate() const; - public std::shared_ptr getContextContainer() const; - public std::shared_ptr findNodeAtPoint(const std::shared_ptr& shadowNode, facebook::react::Point point) const; - public std::shared_ptr getNewestCloneOfShadowNode(const facebook::react::ShadowNode& shadowNode) const; - public std::shared_ptr cloneNode(const facebook::react::ShadowNode& shadowNode, const std::shared_ptr>>& children, facebook::react::RawProps rawProps) const; - public std::shared_ptr createNode(facebook::react::Tag tag, const std::string& componentName, facebook::react::SurfaceId surfaceId, facebook::react::RawProps props, facebook::react::InstanceHandle::Shared instanceHandle) const; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTree::CommitOptions& commitOptions) const override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) const noexcept override; - public virtual void shadowTreeDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) const override; - public virtual void shadowTreeDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) const override; - public void addEventListener(std::shared_ptr listener); - public void addOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback); - public void animationTick() const; - public void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const; - public void completeSurface(facebook::react::SurfaceId surfaceId, const std::shared_ptr>>& rootChildren, facebook::react::ShadowTree::CommitOptions commitOptions); - public void dispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) const; - public void registerCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void registerMountHook(facebook::react::UIManagerMountHook& mountHook); - public void removeEventListener(const std::shared_ptr& listener); - public void reportMount(facebook::react::SurfaceId surfaceId) const; - public void sendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType); - public void setAnimationDelegate(facebook::react::UIManagerAnimationDelegate* delegate); - public void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry); - public void setDelegate(facebook::react::UIManagerDelegate* delegate); - public void setIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) const; - public void setNativeAnimatedDelegate(std::weak_ptr delegate); - public void setSurfaceProps(facebook::react::SurfaceId surfaceId, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void setViewTransitionDelegate(facebook::react::UIManagerViewTransitionDelegate* delegate); - public void startEmptySurface(facebook::react::ShadowTree::Unique&& shadowTree) const noexcept; - public void startSurface(facebook::react::ShadowTree::Unique&& shadowTree, std::string moduleName, folly::dynamic props, facebook::react::DisplayMode displayMode) const noexcept; - public void stopSurfaceForAnimationDelegate(facebook::react::SurfaceId surfaceId) const; - public void synchronouslyUpdateAnimatedProps(const std::unordered_map& updates); - public void synchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props); - public void unregisterCommitHook(facebook::react::UIManagerCommitHook& commitHook); - public void unregisterMountHook(facebook::react::UIManagerMountHook& mountHook); - public void updateShadowTree(std::unordered_map&& tagToProps); - public void updateState(const facebook::react::StateUpdate& stateUpdate) const; - public void visitBinding(const std::function& callback, facebook::jsi::Runtime& runtime) const; - public ~UIManager() override; -} - -class facebook::react::UIManagerAnimationBackend { - public using Callback = std::function; - public virtual facebook::react::CallbackId start(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void clearRegistry(facebook::react::SurfaceId surfaceId) = 0; - public virtual void clearRegistryOnSurfaceStop(facebook::react::SurfaceId surfaceId) = 0; - public virtual void onAnimationFrame(facebook::react::AnimationTimestamp timestamp) = 0; - public virtual void pushAnimationMutations(const facebook::react::UIManagerAnimationBackend::Callback& callback) = 0; - public virtual void registerJSInvoker(std::shared_ptr jsInvoker) = 0; - public virtual void stop(facebook::react::CallbackId callbackId) = 0; - public virtual void trigger() = 0; - public virtual ~UIManagerAnimationBackend() = default; -} - -class facebook::react::UIManagerAnimationDelegate { - public virtual bool shouldAnimateFrame() const = 0; - public virtual void setComponentDescriptorRegistry(const facebook::react::SharedComponentDescriptorRegistry& componentDescriptorRegistry) = 0; - public virtual void stopSurface(facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidConfigureNextLayoutAnimation(facebook::jsi::Runtime& runtime, const facebook::react::RawValue& config, const facebook::jsi::Value& successCallback, const facebook::jsi::Value& failureCallback) const = 0; - public virtual ~UIManagerAnimationDelegate() = default; -} - -class facebook::react::UIManagerBinding : public facebook::jsi::HostObject { - public UIManagerBinding(std::shared_ptr uiManager); - public facebook::react::PointerEventsProcessor& getPointerEventsProcessor(); - public facebook::react::UIManager& getUIManager(); - public static std::shared_ptr getBinding(facebook::jsi::Runtime& runtime); - public static void createAndInstallIfNeeded(facebook::jsi::Runtime& runtime, const std::shared_ptr& uiManager); - public virtual facebook::jsi::Value get(facebook::jsi::Runtime& runtime, const facebook::jsi::PropNameID& name) override; - public void dispatchEvent(facebook::jsi::Runtime& runtime, facebook::react::EventTarget* eventTarget, const std::string& type, facebook::react::ReactEventPriority priority, const facebook::react::EventPayload& payload, facebook::react::HighResTimeStamp eventTimestamp) const; - public void invalidate() const; - public ~UIManagerBinding() override; -} - -class facebook::react::UIManagerCommitHook { - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions&) noexcept; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const facebook::react::RootShadowNode::Unshared& newRootShadowNode) noexcept; - public virtual void commitHookWasRegistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager& uiManager) noexcept = 0; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree&, const facebook::react::RootShadowNode::Shared&, const std::vector&) noexcept; - public virtual ~UIManagerCommitHook() noexcept = default; -} - -class facebook::react::UIManagerDelegate { - public using OnSurfaceStartCallback = std::function; - public virtual void uiManagerDidCaptureViewSnapshot(facebook::react::Tag tag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidClearPendingSnapshots() = 0; - public virtual void uiManagerDidCreateShadowNode(const facebook::react::ShadowNode& shadowNode) = 0; - public virtual void uiManagerDidDispatchCommand(const std::shared_ptr& shadowNode, const std::string& commandName, const folly::dynamic& args) = 0; - public virtual void uiManagerDidFinishReactCommit(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidFinishTransaction(std::shared_ptr mountingCoordinator, bool mountSynchronously) = 0; - public virtual void uiManagerDidSendAccessibilityEvent(const std::shared_ptr& shadowNode, const std::string& eventType) = 0; - public virtual void uiManagerDidSetIsJSResponder(const std::shared_ptr& shadowNode, bool isJSResponder, bool blockNativeResponder) = 0; - public virtual void uiManagerDidSetViewSnapshot(facebook::react::Tag sourceTag, facebook::react::Tag targetTag, facebook::react::SurfaceId surfaceId) = 0; - public virtual void uiManagerDidStartSurface(const facebook::react::ShadowTree& shadowTree) = 0; - public virtual void uiManagerDidUpdateShadowTree(const std::unordered_map& tagToProps) = 0; - public virtual void uiManagerShouldAddEventListener(std::shared_ptr listener) = 0; - public virtual void uiManagerShouldAddOnSurfaceStartCallback(facebook::react::UIManagerDelegate::OnSurfaceStartCallback&& callback) = 0; - public virtual void uiManagerShouldRemoveEventListener(const std::shared_ptr& listener) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateAnimatedProps(const std::unordered_map& updates) = 0; - public virtual void uiManagerShouldSynchronouslyUpdateViewOnUIThread(facebook::react::Tag tag, const folly::dynamic& props) = 0; - public virtual ~UIManagerDelegate() noexcept = default; -} - -class facebook::react::UIManagerMountHook { - public virtual void shadowTreeDidMount(const facebook::react::RootShadowNode::Shared& rootShadowNode, facebook::react::HighResTimeStamp mountTime) noexcept = 0; - public virtual void shadowTreeDidUnmount(facebook::react::SurfaceId, facebook::react::HighResTimeStamp) noexcept; - public virtual ~UIManagerMountHook() noexcept = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegate { - public virtual void runAnimationFrame() = 0; - public virtual ~UIManagerNativeAnimatedDelegate() = default; -} - -class facebook::react::UIManagerNativeAnimatedDelegateImpl : public facebook::react::UIManagerNativeAnimatedDelegate { - public UIManagerNativeAnimatedDelegateImpl(std::weak_ptr manager); - public virtual void runAnimationFrame() override; -} - -class facebook::react::UIManagerViewTransitionDelegate { - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo); - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag) const; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className); - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name); - public virtual void createViewTransitionInstance(const std::string&, facebook::react::Tag); - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode); - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback); - public virtual void startViewTransitionEnd(); - public virtual void startViewTransitionReadyFinished(); - public virtual void suspendOnActiveViewTransition(); - public virtual void transitionAnimationFinished(int animationId); - public virtual void waitForTransitionAnimation(int animationId); - public virtual ~UIManagerViewTransitionDelegate() = default; -} - -struct facebook::react::UIManagerViewTransitionDelegate::ViewTransitionInstance { - public Float height; - public Float width; - public Float x; - public Float y; - public facebook::react::Tag nativeTag; -} - -class facebook::react::UnimplementedViewComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - public UnimplementedViewComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); - public virtual facebook::react::ComponentHandle getComponentHandle() const override; - public virtual facebook::react::ComponentName getComponentName() const override; - public virtual facebook::react::Props::Shared cloneProps(const facebook::react::PropsParserContext& context, const facebook::react::Props::Shared& props, facebook::react::RawProps rawProps) const override; -} - -class facebook::react::UnimplementedViewProps : public facebook::react::HostPlatformViewProps { - public facebook::react::ComponentName getComponentName() const; - public void setComponentName(facebook::react::ComponentName componentName); -} - -class facebook::react::ValueAnimatedNode : public facebook::react::AnimatedNode { - protected bool isColorValue_; - public ValueAnimatedNode(facebook::react::Tag tag, const folly::dynamic& config, facebook::react::NativeAnimatedNodesManager& manager); - public bool getIsColorValue() const noexcept; - public bool setOffset(double offset) noexcept; - public bool setRawValue(double value) noexcept; - public double getOffset() const noexcept; - public double getRawValue() const noexcept; - public double getValue() const noexcept; - public void extractOffset() noexcept; - public void flattenOffset() noexcept; - public void setValueListener(facebook::react::ValueListenerCallback&& callback) noexcept; -} - class facebook::react::ValueFactoryEventPayload : public facebook::react::EventPayload { public ValueFactoryEventPayload(facebook::react::ValueFactory factory); public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; @@ -3936,54 +1230,6 @@ class facebook::react::ViewShadowNode : public facebook::react::ConcreteViewShad public ViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); } -class facebook::react::ViewTransitionModule : public facebook::react::UIManagerViewTransitionDelegate, public facebook::react::UIManagerCommitHook, public facebook::react::MountingOverrideDelegate { - public virtual bool shouldOverridePullTransaction() const override; - public virtual facebook::react::RootShadowNode::Unshared shadowTreeWillCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& oldRootShadowNode, const facebook::react::RootShadowNode::Unshared& newRootShadowNode, const facebook::react::ShadowTreeCommitOptions& commitOptions) noexcept override; - public virtual std::optional pullTransaction(facebook::react::SurfaceId surfaceId, facebook::react::MountingTransaction::Number number, const facebook::react::TransactionTelemetry& telemetry, facebook::react::ShadowViewMutationList mutations) const override; - public virtual std::optional getViewTransitionInstance(const std::string& name, const std::string& pseudo) override; - public virtual std::shared_ptr findPseudoElementShadowNodeByTag(facebook::react::Tag tag) const override; - public virtual void applyViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name, const std::string& className) override; - public virtual void cancelViewTransitionName(const facebook::react::ShadowNode& shadowNode, const std::string& name) override; - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void createViewTransitionInstance(const std::string& name, facebook::react::Tag pseudoElementTag) override; - public virtual void restoreViewTransitionName(const facebook::react::ShadowNode& shadowNode) override; - public virtual void startViewTransition(std::function mutationCallback, std::function onReadyCallback, std::function onCompleteCallback) override; - public virtual void startViewTransitionEnd() override; - public virtual void startViewTransitionReadyFinished() override; - public virtual void suspendOnActiveViewTransition() override; - public virtual void transitionAnimationFinished(int animationId) override; - public virtual void waitForTransitionAnimation(int animationId) override; - public void initialize(facebook::react::UIManager* uiManager, std::weak_ptr weakThis); - public ~ViewTransitionModule() override; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameView { - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; - public facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics layoutMetrics; - public uint32_t transitionId; -} - -struct facebook::react::ViewTransitionModule::AnimationKeyFrameViewLayoutMetrics { - public Float pointScaleFactor; - public facebook::react::Point originFromRoot; - public facebook::react::Size size; -} - -class facebook::react::VirtualViewShadowNode : public facebook::react::ConcreteViewShadowNode { - public VirtualViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public VirtualViewShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); -} - -class facebook::react::WeakFamilyRegistry { - public facebook::react::WeakFamilyRegistry::WeakFamilies weakFamiliesForSurfaceId(facebook::react::SurfaceId surfaceId) const; - public using WeakFamilies = std::vector; - public void add(const facebook::react::ShadowNodeFamily::Shared& shadowNodeFamily) const; - public void removeFamiliesWithSurfaceId(facebook::react::SurfaceId surfaceId) const; -} - class facebook::react::YogaLayoutableShadowNode : public facebook::react::LayoutableShadowNode { protected facebook::yoga::Config yogaConfig_; protected mutable facebook::yoga::Node yogaNode_; @@ -4102,54 +1348,6 @@ enum facebook::react::AccessibilityTraits : uint32_t { UpdatesFrequently, } -enum facebook::react::AnimatedNodeType { - Addition, - Color, - Diffclamp, - Division, - Interpolation, - Modulus, - Multiplication, - Object, - Props, - Round, - Style, - Subtraction, - Tracking, - Transform, - Value, -} - -enum facebook::react::AnimationConfigurationType { - Create, - Delete, - Update, -} - -enum facebook::react::AnimationDriverType { - Decay, - Frames, - Spring, -} - -enum facebook::react::AnimationProperty { - NotApplicable, - Opacity, - ScaleX, - ScaleXY, - ScaleY, -} - -enum facebook::react::AnimationType { - EaseIn, - EaseInEaseOut, - EaseOut, - Keyboard, - Linear, - None, - Spring, -} - enum facebook::react::BackfaceVisibility : uint8_t { Auto, Hidden, @@ -4199,294 +1397,11 @@ enum facebook::react::BorderStyle : uint8_t { Solid, } -enum facebook::react::CSSAngleUnit : uint8_t { - Deg, - Grad, - Rad, - Turn, -} - -enum facebook::react::CSSDelimiter { - Comma, - CommaOrWhitespace, - None, - OptionalWhitespace, - Solidus, - SolidusOrWhitespace, - Whitespace, -} - -enum facebook::react::CSSFontVariant : std::underlying_type_t { - CommonLigatures, - Contextual, - DiscretionaryLigatures, - HistoricalLigatures, - LiningNums, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::CSSGradientAtKeyword : std::underlying_type_t { - At, -} - -enum facebook::react::CSSGradientDirectionKeyword : std::underlying_type_t { - Bottom, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientPositionKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSGradientToKeyword : std::underlying_type_t { - To, -} - -enum facebook::react::CSSInsetShadowKeyword : std::underlying_type_t { - Inset, -} - -enum facebook::react::CSSKeyword : uint8_t { - Absolute, - At, - Auto, - Baseline, - Block, - Bottom, - Center, - Clip, - Column, - ColumnReverse, - CommonLigatures, - Content, - Contents, - Contextual, - Dashed, - DiscretionaryLigatures, - Dotted, - Double, - End, - Fixed, - Flex, - FlexEnd, - FlexStart, - Grid, - Groove, - Hidden, - HistoricalLigatures, - Inherit, - Initial, - Inline, - InlineBlock, - InlineFlex, - InlineGrid, - Inset, - Left, - LiningNums, - Ltr, - MaxContent, - Medium, - MinContent, - NoCommonLigatures, - NoContextual, - NoDiscretionaryLigatures, - NoHistoricalLigatures, - NoWrap, - None, - Normal, - OldstyleNums, - Outset, - ProportionalNums, - Relative, - Ridge, - Right, - Row, - RowReverse, - Rtl, - Scroll, - SmallCaps, - Solid, - SpaceAround, - SpaceBetween, - SpaceEvenly, - Start, - Static, - Sticky, - Stretch, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, - Thick, - Thin, - To, - Top, - Unset, - Visible, - Wrap, - WrapReverse, -} - -enum facebook::react::CSSLengthUnit : uint8_t { - Cap, - Ch, - Cm, - Dvb, - Dvh, - Dvi, - Dvmax, - Dvmin, - Dvw, - Em, - Ex, - Ic, - In, - Lh, - Lvb, - Lvh, - Lvi, - Lvmax, - Lvmin, - Lvw, - Mm, - Pc, - Pt, - Px, - Q, - Rcap, - Rch, - Rem, - Rex, - Ric, - Rlh, - Svb, - Svh, - Svi, - Svmax, - Svmin, - Svw, - Vb, - Vh, - Vi, - Vmax, - Vmin, - Vw, -} - -enum facebook::react::CSSLinearGradientDirectionKeyword : uint8_t { - ToBottomLeft, - ToBottomRight, - ToTopLeft, - ToTopRight, -} - -enum facebook::react::CSSRadialGradientShape : uint8_t { - Circle, - Ellipse, -} - -enum facebook::react::CSSRadialGradientSizeKeyword : uint8_t { - ClosestCorner, - ClosestSide, - FarthestCorner, - FarthestSide, -} - -enum facebook::react::CSSTokenType { - CloseCurly, - CloseParen, - CloseSquare, - Comma, - Delim, - Dimension, - EndOfFile, - Function, - Hash, - Ident, - Number, - OpenCurly, - OpenParen, - OpenSquare, - Percentage, - WhiteSpace, -} - -enum facebook::react::CSSTransformOriginKeyword : std::underlying_type_t { - Bottom, - Center, - Left, - Right, - Top, -} - -enum facebook::react::CSSWideKeyword : std::underlying_type_t { - Inherit, - Initial, - Unset, -} - enum facebook::react::ColorSpace { DisplayP3, sRGB, } -enum facebook::react::ContentInsetAdjustmentBehavior { - Always, - Automatic, - Never, - ScrollableAxes, -} - enum facebook::react::Cursor : uint8_t { Alias, AllScroll, @@ -4539,27 +1454,6 @@ enum facebook::react::DisplayType { None, } -enum facebook::react::DynamicTypeRamp : uint8_t { - Body, - Callout, - Caption1, - Caption2, - Footnote, - Headline, - LargeTitle, - Subheadline, - Title1, - Title2, - Title3, -} - -enum facebook::react::EllipsizeMode { - Clip, - Head, - Middle, - Tail, -} - enum facebook::react::EventPayloadType { PointerEvent, ScrollEvent, @@ -4579,63 +1473,6 @@ enum facebook::react::FilterType { Sepia, } -enum facebook::react::FontStyle : uint8_t { - Italic, - Normal, - Oblique, -} - -enum facebook::react::FontVariant : int { - Default, - LiningNums, - OldstyleNums, - ProportionalNums, - SmallCaps, - StylisticEight, - StylisticEighteen, - StylisticEleven, - StylisticFifteen, - StylisticFive, - StylisticFour, - StylisticFourteen, - StylisticNine, - StylisticNineteen, - StylisticOne, - StylisticSeven, - StylisticSeventeen, - StylisticSix, - StylisticSixteen, - StylisticTen, - StylisticThirteen, - StylisticThree, - StylisticTwelve, - StylisticTwenty, - StylisticTwo, - TabularNums, -} - -enum facebook::react::FontWeight : uint16_t { - Black, - Bold, - Demibold, - Heavy, - Light, - Medium, - Regular, - Semibold, - Thin, - UltraLight, - Weight100, - Weight200, - Weight300, - Weight400, - Weight500, - Weight600, - Weight700, - Weight800, - Weight900, -} - enum facebook::react::GradientDirectionType { Angle, Keyword, @@ -4648,12 +1485,6 @@ enum facebook::react::GradientKeyword : uint8_t { ToTopRight, } -enum facebook::react::HyphenationFrequency { - Full, - None, - Normal, -} - enum facebook::react::ImageResizeMode : int8_t { Center, Contain, @@ -4686,22 +1517,6 @@ enum facebook::react::LayoutDirection { Undefined, } -enum facebook::react::LineBreakMode : uint8_t { - Char, - Clip, - Head, - Middle, - Tail, - Word, -} - -enum facebook::react::LineBreakStrategy : uint8_t { - HangulWordPriority, - None, - PushOut, - Standard, -} - enum facebook::react::NullValueStrategy { Ignore, Override, @@ -4713,15 +1528,6 @@ enum facebook::react::OutlineStyle : uint8_t { Solid, } -enum facebook::react::PerformanceEntryType { - EVENT, - LONGTASK, - MARK, - MEASURE, - RESOURCE, - _NEXT, -} - enum facebook::react::PointerEventsMode : uint8_t { Auto, BoxNone, @@ -4735,61 +1541,6 @@ enum facebook::react::PositionType { Static, } -enum facebook::react::PropName { - ALIGN_CONTENT, - ALIGN_ITEMS, - ALIGN_SELF, - ASPECT_RATIO, - BACKFACE_VISIBILITY, - BACKGROUND_COLOR, - BORDER_COLOR, - BORDER_CURVES, - BORDER_RADII, - BORDER_STYLES, - BORDER_WIDTH, - BOX_SHADOW, - BOX_SIZING, - COLUMN_GAP, - CURSOR, - DIRECTION, - DISPLAY, - FILTER, - FLEX, - FLEX_BASIS, - FLEX_DIRECTION, - FLEX_GROW, - FLEX_SHRINK, - FLEX_WRAP, - HEIGHT, - ISOLATION, - JUSTIFY_CONTENT, - MARGIN, - MAX_HEIGHT, - MAX_WIDTH, - MIN_HEIGHT, - MIN_WIDTH, - MIX_BLEND_MODE, - OPACITY, - OUTLINE_COLOR, - OUTLINE_OFFSET, - OUTLINE_STYLE, - OUTLINE_WIDTH, - PADDING, - POINTER_EVENTS, - POSITION, - POSITION_TYPE, - ROW_GAP, - SHADOW_COLOR, - SHADOW_OFFSET, - SHADOW_OPACITY, - SHADOW_RADIUS, - STYLE_OVERFLOW, - TRANSFORM, - TRANSFORM_ORIGIN, - WIDTH, - Z_INDEX, -} - enum facebook::react::RadialGradientShape { Circle, Ellipse, @@ -4802,12 +1553,6 @@ enum facebook::react::ReactEventPriority { Idle, } -enum facebook::react::ResizeObserverBoxOptions { - BorderBox, - ContentBox, - DevicePixelContentBox, -} - enum facebook::react::Role : uint8_t { Alert, Alertdialog, @@ -4889,107 +1634,6 @@ enum facebook::react::ScriptTag { String, } -enum facebook::react::ScrollViewIndicatorStyle { - Black, - Default, - White, -} - -enum facebook::react::ScrollViewKeyboardDismissMode { - Interactive, - None, - OnDrag, -} - -enum facebook::react::ScrollViewSnapToAlignment { - Center, - End, - Start, -} - -enum facebook::react::ShadowTreeCommitMode { - Normal, - Suspended, -} - -enum facebook::react::ShadowTreeCommitSource { - AnimationEndSync, - React, - ReactRevisionMerge, - Unknown, -} - -enum facebook::react::ShadowTreeCommitStatus { - Cancelled, - Failed, - Succeeded, -} - -enum facebook::react::SubmitBehavior { - BlurAndSubmit, - Default, - Newline, - Submit, -} - -enum facebook::react::TextAlignment : uint8_t { - Center, - End, - Justified, - Left, - Natural, - Right, - Start, -} - -enum facebook::react::TextAlignmentVertical { - Auto, - Bottom, - Center, - Top, -} - -enum facebook::react::TextBreakStrategy { - Balanced, - HighQuality, - Simple, -} - -enum facebook::react::TextDecorationLineType : uint8_t { - None, - Strikethrough, - Underline, - UnderlineStrikethrough, -} - -enum facebook::react::TextDecorationStyle : uint8_t { - Dashed, - Dotted, - Double, - Solid, - Wavy, -} - -enum facebook::react::TextTransform : uint8_t { - Capitalize, - Lowercase, - None, - Unset, - Uppercase, -} - -enum facebook::react::TextWidthMode { - Auto, - LongestLine, -} - -enum facebook::react::TimerSource { - RequestAnimationFrame, - SetInterval, - SetTimeout, - Unknown, -} - enum facebook::react::TransformOperationType : uint8_t { Arbitrary, Identity, @@ -5018,18 +1662,6 @@ enum facebook::react::UnitType { Undefined, } -enum facebook::react::WritingDirection : uint8_t { - LeftToRight, - Natural, - RightToLeft, -} - -struct facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public std::string name; -} - struct facebook::react::AccessibilityAction { public std::optional label; public std::string name; @@ -5061,123 +1693,13 @@ struct facebook::react::AccessibilityValue { public std::optional text; } -struct facebook::react::ActivePointer { - public bool shouldLeaveWhenReleased; - public facebook::react::PointerEvent event; -} - -struct facebook::react::AnimatedPropBase { - public AnimatedPropBase(facebook::react::PropName propName); - public facebook::react::PropName propName; - public virtual ~AnimatedPropBase() = default; -} - -struct facebook::react::AnimatedProps { - public std::unique_ptr rawProps; - public std::vector> props; -} - -struct facebook::react::AnimatedPropsBuilder { - public facebook::react::AnimatedProps get(); - public std::unique_ptr rawProps; - public std::vector> props; - public void setAlignContent(facebook::yoga::Align value); - public void setAlignItems(facebook::yoga::Align value); - public void setAlignSelf(facebook::yoga::Align value); - public void setAspectRatio(facebook::yoga::FloatOptional value); - public void setBackfaceVisibility(facebook::react::BackfaceVisibility value); - public void setBackgroundColor(facebook::react::SharedColor value); - public void setBorderColor(facebook::react::CascadedBorderColors& value); - public void setBorderCurves(facebook::react::CascadedBorderCurves& value); - public void setBorderRadii(facebook::react::CascadedBorderRadii& value); - public void setBorderStyles(facebook::react::CascadedBorderStyles& value); - public void setBorderWidth(facebook::react::CascadedRectangleEdges& value); - public void setBoxShadow(const std::vector& value); - public void setBoxSizing(facebook::yoga::BoxSizing value); - public void setColumnGap(facebook::yoga::Style::Length value); - public void setCursor(facebook::react::Cursor value); - public void setDirection(facebook::yoga::Direction value); - public void setDisplay(facebook::yoga::Display value); - public void setFilter(const std::vector& value); - public void setFlex(facebook::yoga::FloatOptional value); - public void setFlexBasis(facebook::yoga::Style::SizeLength value); - public void setFlexDirection(facebook::yoga::FlexDirection value); - public void setFlexGrow(facebook::yoga::FloatOptional value); - public void setFlexShrink(facebook::yoga::FloatOptional value); - public void setFlexWrap(facebook::yoga::Wrap value); - public void setHeight(facebook::yoga::Style::SizeLength value); - public void setIsolation(facebook::react::Isolation value); - public void setJustifyContent(facebook::yoga::Justify value); - public void setMargin(facebook::react::CascadedRectangleEdges& value); - public void setMaxHeight(facebook::yoga::Style::SizeLength value); - public void setMaxWidth(facebook::yoga::Style::SizeLength value); - public void setMinHeight(facebook::yoga::Style::SizeLength value); - public void setMinWidth(facebook::yoga::Style::SizeLength value); - public void setMixBlendMode(facebook::react::BlendMode value); - public void setOpacity(Float value); - public void setOutlineColor(facebook::react::SharedColor value); - public void setOutlineOffset(Float value); - public void setOutlineStyle(facebook::react::OutlineStyle value); - public void setOutlineWidth(Float value); - public void setOverflow(facebook::yoga::Overflow value); - public void setPadding(facebook::react::CascadedRectangleEdges& value); - public void setPointerEvents(facebook::react::PointerEventsMode value); - public void setPosition(facebook::react::CascadedRectangleEdges& value); - public void setPositionType(facebook::yoga::PositionType value); - public void setRowGap(facebook::yoga::Style::Length value); - public void setShadowColor(facebook::react::SharedColor value); - public void setShadowOffset(facebook::react::Size value); - public void setShadowOpacity(Float value); - public void setShadowRadius(Float value); - public void setTransform(const facebook::react::Transform& t); - public void setTransformOrigin(const facebook::react::TransformOrigin& value); - public void setWidth(facebook::yoga::Style::SizeLength value); - public void setZIndex(std::optional value); - public void storeDynamic(folly::dynamic& d); - public void storeJSI(facebook::jsi::Runtime& runtime, facebook::jsi::Value& value); -} - -struct facebook::react::AnimationConfig { - public Float initialVelocity; - public Float springDamping; - public double delay; - public double duration; - public facebook::react::AnimationProperty animationProperty; - public facebook::react::AnimationType animationType; -} - -struct facebook::react::AnimationKeyFrame { - public bool generateFinalSyntheticMutations; - public bool invalidated; - public double initialProgress; - public facebook::react::AnimationConfigurationType type; - public facebook::react::ShadowView viewEnd; - public facebook::react::ShadowView viewPrev; - public facebook::react::ShadowView viewStart; - public facebook::react::Tag parentTag; - public facebook::react::Tag tag; - public std::vector finalMutationsForKeyFrame; -} - -struct facebook::react::AnimationMutation { - public bool hasLayoutUpdates; - public facebook::react::AnimatedProps props; - public facebook::react::Tag tag; - public std::shared_ptr family; -} - -struct facebook::react::AnimationMutations { - public std::set asyncFlushSurfaces; - public std::vector batch; -} - -struct facebook::react::BackgroundPosition { - public BackgroundPosition(); - public bool operator==(const facebook::react::BackgroundPosition& other) const = default; - public std::optional bottom; - public std::optional left; - public std::optional right; - public std::optional top; +struct facebook::react::BackgroundPosition { + public BackgroundPosition(); + public bool operator==(const facebook::react::BackgroundPosition& other) const = default; + public std::optional bottom; + public std::optional left; + public std::optional right; + public std::optional top; } struct facebook::react::BackgroundRepeat { @@ -5266,13 +1788,6 @@ struct facebook::react::Bridging { public static void fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value&); } -struct facebook::react::BufferEvent { - public std::string name; - public std::string track; - public uint64_t end; - public uint64_t start; -} - struct facebook::react::BundleHeader { public BundleHeader(); public facebook::react::Magic32 magic32; @@ -5280,286 +1795,6 @@ struct facebook::react::BundleHeader { public uint64_t magic64; } -struct facebook::react::CSSAngle { - public constexpr bool operator==(const facebook::react::CSSAngle& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSBlurFilter { - public constexpr bool operator==(const facebook::react::CSSBlurFilter& rhs) const = default; - public facebook::react::CSSLength amount; -} - -struct facebook::react::CSSBrightnessFilter { - public constexpr bool operator==(const facebook::react::CSSBrightnessFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSColor { - public constexpr bool operator==(const facebook::react::CSSColor& rhs) const = default; - public static constexpr facebook::react::CSSColor black(); - public uint8_t a; - public uint8_t b; - public uint8_t g; - public uint8_t r; -} - -struct facebook::react::CSSColorHint { - public bool operator==(const facebook::react::CSSColorHint& rhs) const = default; - public std::variant position; -} - -struct facebook::react::CSSColorStop { - public bool operator==(const facebook::react::CSSColorStop& rhs) const; - public facebook::react::CSSColor color; - public std::optional> endPosition; - public std::optional> startPosition; -} - -struct facebook::react::CSSContrastFilter { - public constexpr bool operator==(const facebook::react::CSSContrastFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSDropShadowFilter { - public constexpr bool operator==(const facebook::react::CSSDropShadowFilter& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength standardDeviation; -} - -struct facebook::react::CSSFunctionBlock { - public std::string_view name; -} - -struct facebook::react::CSSGrayscaleFilter { - public constexpr bool operator==(const facebook::react::CSSGrayscaleFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSHueRotateFilter { - public constexpr bool operator==(const facebook::react::CSSHueRotateFilter& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSInvertFilter { - public constexpr bool operator==(const facebook::react::CSSInvertFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSLength { - public constexpr bool operator==(const facebook::react::CSSLength& rhs) const = default; - public facebook::react::CSSLengthUnit unit; - public float value; -} - -struct facebook::react::CSSLinearGradientDirection { - public bool operator==(const facebook::react::CSSLinearGradientDirection& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSLinearGradientFunction { - public bool operator==(const facebook::react::CSSLinearGradientFunction& rhs) const = default; - public static std::pair>, int> parseGradientColorStopsAndHints(facebook::react::CSSValueParser& parser); - public std::optional direction; - public std::vector> items; -} - -struct facebook::react::CSSMatrix { - public constexpr bool operator==(const facebook::react::CSSMatrix& rhs) const = default; - public std::array values; -} - -struct facebook::react::CSSNumber { - public constexpr bool operator==(const facebook::react::CSSNumber& rhs) const = default; - public float value; -} - -struct facebook::react::CSSOpacityFilter { - public constexpr bool operator==(const facebook::react::CSSOpacityFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSPercentage { - public constexpr bool operator==(const facebook::react::CSSPercentage& rhs) const = default; - public float value; -} - -struct facebook::react::CSSPerspective { - public constexpr bool operator==(const facebook::react::CSSPerspective& rhs) const = default; - public facebook::react::CSSLength length; -} - -struct facebook::react::CSSRadialGradientExplicitSize { - public bool operator==(const facebook::react::CSSRadialGradientExplicitSize& rhs) const = default; - public std::variant sizeX; - public std::variant sizeY; -} - -struct facebook::react::CSSRadialGradientFunction { - public bool operator==(const facebook::react::CSSRadialGradientFunction& rhs) const = default; - public std::optional position; - public std::optional shape; - public std::optional size; - public std::vector> items; -} - -struct facebook::react::CSSRadialGradientPosition { - public bool operator==(const facebook::react::CSSRadialGradientPosition& rhs) const = default; - public std::optional> bottom; - public std::optional> left; - public std::optional> right; - public std::optional> top; -} - -struct facebook::react::CSSRatio { - public constexpr bool isDegenerate() const; - public constexpr bool operator==(const facebook::react::CSSRatio& rhs) const = default; - public float denominator; - public float numerator; -} - -struct facebook::react::CSSRotate { - public constexpr bool operator==(const facebook::react::CSSRotate& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateX { - public constexpr bool operator==(const facebook::react::CSSRotateX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateY { - public constexpr bool operator==(const facebook::react::CSSRotateY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSRotateZ { - public constexpr bool operator==(const facebook::react::CSSRotateZ& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSaturateFilter { - public constexpr bool operator==(const facebook::react::CSSSaturateFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSScale { - public constexpr bool operator==(const facebook::react::CSSScale& rhs) const = default; - public float x; - public float y; -} - -struct facebook::react::CSSScaleX { - public constexpr bool operator==(const facebook::react::CSSScaleX& rhs) const = default; - public float value; -} - -struct facebook::react::CSSScaleY { - public constexpr bool operator==(const facebook::react::CSSScaleY& rhs) const = default; - public float value; -} - -struct facebook::react::CSSSepiaFilter { - public constexpr bool operator==(const facebook::react::CSSSepiaFilter& rhs) const = default; - public float amount; -} - -struct facebook::react::CSSShadow { - public bool inset; - public constexpr bool operator==(const facebook::react::CSSShadow& rhs) const = default; - public facebook::react::CSSColor color; - public facebook::react::CSSLength blurRadius; - public facebook::react::CSSLength offsetX; - public facebook::react::CSSLength offsetY; - public facebook::react::CSSLength spreadDistance; -} - -struct facebook::react::CSSSimpleBlock { - public facebook::react::CSSTokenType openBracketType; -} - -struct facebook::react::CSSSkewX { - public constexpr bool operator==(const facebook::react::CSSSkewX& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSSkewY { - public constexpr bool operator==(const facebook::react::CSSSkewY& rhs) const = default; - public float degrees; -} - -struct facebook::react::CSSTransformOrigin { - public constexpr bool operator==(const facebook::react::CSSTransformOrigin& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate3D { - public constexpr bool operator==(const facebook::react::CSSTranslate3D& rhs) const = default; - public facebook::react::CSSLength z; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslate { - public constexpr bool operator==(const facebook::react::CSSTranslate& rhs) const = default; - public std::variant x; - public std::variant y; -} - -struct facebook::react::CSSTranslateX { - public constexpr bool operator==(const facebook::react::CSSTranslateX& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSTranslateY { - public constexpr bool operator==(const facebook::react::CSSTranslateY& rhs) const = default; - public std::variant value; -} - -struct facebook::react::CSSZero { - public constexpr bool operator==(const facebook::react::CSSZero& rhs) const = default; -} - -struct facebook::react::CallbackWithId { - public facebook::react::Callback callback; - public facebook::react::CallbackId callbackId; -} - -struct facebook::react::CascadedRectangleCornersNames { - public const char* all; - public const char* bottomEnd; - public const char* bottomLeft; - public const char* bottomRight; - public const char* bottomStart; - public const char* endEnd; - public const char* endStart; - public const char* startEnd; - public const char* startStart; - public const char* topEnd; - public const char* topLeft; - public const char* topRight; - public const char* topStart; -} - -struct facebook::react::CascadedRectangleEdgesNames { - public const char* all; - public const char* block; - public const char* blockEnd; - public const char* blockStart; - public const char* bottom; - public const char* end; - public const char* horizontal; - public const char* left; - public const char* right; - public const char* start; - public const char* top; - public const char* vertical; -} - struct facebook::react::ColorComponents { public facebook::react::ColorSpace colorSpace; public float alpha; @@ -5580,21 +1815,9 @@ struct facebook::react::CornerRadii { public float vertical; } -struct facebook::react::CullingContext { - public bool operator==(const facebook::react::CullingContext& rhs) const = default; - public bool shouldConsiderCulling() const; - public facebook::react::CullingContext adjustCullingContextIfNeeded(const facebook::react::ShadowViewNodePair& pair) const; - public facebook::react::Rect frame; - public facebook::react::Transform transform; -} - struct facebook::react::DebugStringConvertibleOptions { } -struct facebook::react::DefaultTurboModules { - public static std::shared_ptr getTurboModule(const std::string& name, const std::shared_ptr& jsInvoker); -} - struct facebook::react::DropShadowParams { public Float offsetX; public Float offsetY; @@ -5603,11 +1826,6 @@ struct facebook::react::DropShadowParams { public facebook::react::SharedColor color; } -struct facebook::react::DummyTraceSection { - template - public DummyTraceSection(const char* name, ConvertsToStringPiece &&... args); -} - struct facebook::react::DynamicEventPayload : public facebook::react::EventPayload { protected folly::dynamic payload_; public DynamicEventPayload(folly::dynamic&& payload); @@ -5622,12 +1840,6 @@ struct facebook::react::DynamicPointerEvent : public facebook::react::DynamicEve public const std::optional>& getHitPathForEventListener() const; } -struct facebook::react::EventAnimationDriverKey { - public bool operator==(const facebook::react::EventAnimationDriverKey& rhs) const noexcept; - public facebook::react::Tag viewTag; - public std::string eventName; -} - struct facebook::react::EventPayload { public EventPayload() = default; public EventPayload(const facebook::react::EventPayload&) = default; @@ -5646,50 +1858,6 @@ struct facebook::react::FilterFunction { public std::variant parameters; } -struct facebook::react::InspectorData { - public folly::dynamic props; - public int columnNumber; - public int lineNumber; - public int selectedIndex; - public std::string fileName; - public std::vector hierarchy; -} - -struct facebook::react::InstanceCallback { - public virtual void decrementPendingJSCalls(); - public virtual void incrementPendingJSCalls(); - public virtual void onBatchComplete(); - public virtual ~InstanceCallback() = default; -} - -struct facebook::react::IntersectionObserverEntry { - public bool isIntersectingAboveThresholds; - public bool sameShadowNodeFamily(const facebook::react::ShadowNodeFamily& otherShadowNodeFamily) const; - public facebook::react::HighResTimeStamp time; - public facebook::react::IntersectionObserverObserverId intersectionObserverId; - public facebook::react::Rect intersectionRect; - public facebook::react::Rect rootRect; - public facebook::react::Rect targetRect; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; -} - -struct facebook::react::LayoutAnimation { - public bool completed; - public facebook::react::LayoutAnimationCallbackWrapper failureCallback; - public facebook::react::LayoutAnimationCallbackWrapper successCallback; - public facebook::react::LayoutAnimationConfig layoutAnimationConfig; - public facebook::react::SurfaceId surfaceId; - public std::vector keyFrames; - public uint64_t startTime; -} - -struct facebook::react::LayoutAnimationConfig { - public double duration; - public facebook::react::AnimationConfig createConfig; - public facebook::react::AnimationConfig deleteConfig; - public facebook::react::AnimationConfig updateConfig; -} - struct facebook::react::LayoutConformanceProps : public facebook::react::YogaStylableProps { public LayoutConformanceProps() = default; public LayoutConformanceProps(const facebook::react::PropsParserContext& context, const facebook::react::LayoutConformanceProps& sourceProps, const facebook::react::RawProps& rawProps); @@ -5729,19 +1897,6 @@ struct facebook::react::LayoutMetrics { public facebook::react::Rect getPaddingFrame() const; } -struct facebook::react::LineMeasurement { - public Float ascender; - public Float capHeight; - public Float descender; - public Float xHeight; - public LineMeasurement(const folly::dynamic& data); - public LineMeasurement(std::string text, facebook::react::Rect frame, Float descender, Float capHeight, Float ascender, Float xHeight); - public bool operator==(const facebook::react::LineMeasurement& rhs) const; - public facebook::react::Rect frame; - public static Float baseline(const std::vector& lines); - public std::string text; -} - struct facebook::react::LinearGradient { public bool operator==(const facebook::react::LinearGradient& other) const = default; public facebook::react::GradientDirection direction; @@ -5753,110 +1908,6 @@ struct facebook::react::Magic32 { public uint32_t value; } -struct facebook::react::MarginValue { - public Float value; - public bool isPercentage; -} - -struct facebook::react::MeasuredPreparedTextLayout { - public facebook::react::LayoutConstraints layoutConstraints; - public facebook::react::TextMeasurement measurement; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout preparedTextLayout; -} - -struct facebook::react::MethodCall { - public MethodCall(int mod, int meth, folly::dynamic&& args, int cid); - public folly::dynamic arguments; - public int callId; - public int methodId; - public int moduleId; -} - -struct facebook::react::MethodDescriptor { - public MethodDescriptor(std::string n, std::string t); - public std::string name; - public std::string type; -} - -struct facebook::react::ModuleConfig { - public folly::dynamic config; - public size_t index; -} - -struct facebook::react::MutationRecord { - public facebook::react::MutationObserverId mutationObserverId; - public std::shared_ptr targetShadowNode; - public std::vector> addedShadowNodes; - public std::vector> removedShadowNodes; -} - -struct facebook::react::NativePerformanceEntry { - public facebook::react::HighResDuration duration; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional fetchStart; - public std::optional processingEnd; - public std::optional processingStart; - public std::optional requestStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::optional interactionId; - public std::optional decodedBodySize; - public std::optional encodedBodySize; - public std::optional responseStatus; - public std::optional contentType; - public std::string name; -} - -struct facebook::react::PerformanceEntrySorter { - public bool operator()(const facebook::react::PerformanceEntry& lhs, const facebook::react::PerformanceEntry& rhs) const; -} - -struct facebook::react::PerformanceEventTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp processingEnd; - public facebook::react::HighResTimeStamp processingStart; - public facebook::react::HighResTimeStamp taskEndTime; - public facebook::react::PerformanceEntryInteractionId interactionId; - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceLongTaskTiming : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMark : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceMeasure : public facebook::react::AbstractPerformanceEntry { - public static constexpr facebook::react::PerformanceEntryType entryType; -} - -struct facebook::react::PerformanceObserverObserveMultipleOptions { - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceObserverObserveSingleOptions { - public bool buffered; - public facebook::react::HighResDuration durationThreshold; -} - -struct facebook::react::PerformanceResourceTiming : public facebook::react::AbstractPerformanceEntry { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public static constexpr facebook::react::PerformanceEntryType entryType; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseEnd; - public std::optional responseStart; - public std::string contentType; -} - struct facebook::react::Point { public Float x; public Float y; @@ -5895,11 +1946,6 @@ struct facebook::react::PointerEvent : public facebook::react::EventPayload { public virtual facebook::react::EventPayloadType getType() const override; } -struct facebook::react::PointerEventTarget { - public facebook::react::PointerEvent event; - public std::shared_ptr target; -} - struct facebook::react::ProcessedColorStop { public bool operator==(const facebook::react::ProcessedColorStop& other) const = default; public facebook::react::SharedColor color; @@ -5922,12 +1968,6 @@ struct facebook::react::PropsParserContext { public facebook::react::PropsParserContext& operator=(const facebook::react::PropsParserContext&) = delete; } -struct facebook::react::PropsSnapshot { - public std::unique_ptr props; - public std::unique_ptr rawProps; - public std::unordered_set propNames; -} - struct facebook::react::RadialGradient { public bool operator==(const facebook::react::RadialGradient& other) const = default; public facebook::react::RadialGradientPosition position; @@ -5990,13 +2030,6 @@ struct facebook::react::ReactNativeVersionType { public std::string_view Prerelease; } -struct facebook::react::RecoverableError : public std::exception { - public RecoverableError(const std::string& what_); - public virtual const char* what() const noexcept override; - template - public static void runRethrowingAsRecoverable(std::function act); -} - struct facebook::react::Rect { public Float getMaxX() const noexcept; public Float getMaxY() const noexcept; @@ -6014,82 +2047,6 @@ struct facebook::react::Rect { public void unionInPlace(const facebook::react::Rect& rect) noexcept; } -struct facebook::react::RequestInfo { - public std::optional headers; - public std::optional httpBody; - public std::string httpMethod; - public std::string url; -} - -struct facebook::react::ResizeObservationResult { - public bool detached; - public facebook::react::Size observedSize; - public size_t targetDepth; - public std::optional entry; -} - -struct facebook::react::ResizeObserverEntry { - public facebook::react::Rect contentRect; - public facebook::react::ResizeObserverObserverId resizeObserverId; - public facebook::react::ShadowNodeFamily::Shared shadowNodeFamily; - public facebook::react::Size borderBoxSize; - public facebook::react::Size contentBoxSize; - public facebook::react::Size devicePixelContentBoxSize; -} - -struct facebook::react::ResourceTimingData { - public facebook::react::HighResTimeStamp fetchStart; - public facebook::react::HighResTimeStamp requestStart; - public int decodedBodySize; - public int encodedBodySize; - public int responseStatus; - public std::optional connectEnd; - public std::optional connectStart; - public std::optional responseStart; - public std::string contentType; - public std::string url; -} - -struct facebook::react::ResponseInfo { - public std::optional headers; - public std::string url; - public uint16_t statusCode; -} - -struct facebook::react::SchedulerToolbox { - public facebook::react::ComponentRegistryFactory componentRegistryFactory; - public facebook::react::EventBeat::Factory eventBeatFactory; - public facebook::react::RuntimeExecutor runtimeExecutor; - public std::optional bridgelessBindingsExecutor; - public std::shared_ptr contextContainer; - public std::shared_ptr animationChoreographer; - public std::vector> commitHooks; -} - -struct facebook::react::ScrollEndDragEvent : public facebook::react::ScrollEvent { - public ScrollEndDragEvent() = default; - public ScrollEndDragEvent(const facebook::react::ScrollEvent& scrollEvent); - public facebook::react::Point targetContentOffset; - public facebook::react::Point velocity; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; -} - -struct facebook::react::ScrollEvent : public facebook::react::EventPayload { - public Float timestamp; - public Float zoomScale; - public ScrollEvent() = default; - public bool responderIgnoreScroll; - public facebook::react::EdgeInsets contentInset; - public facebook::react::Point contentOffset; - public facebook::react::Size containerSize; - public facebook::react::Size contentSize; - public folly::dynamic asDynamic() const; - public virtual facebook::jsi::Value asJSIValue(facebook::jsi::Runtime& runtime) const override; - public virtual facebook::react::EventPayloadType getType() const override; - public virtual std::optional extractValue(const std::vector&) const override; -} - struct facebook::react::ShadowNodeFamilyFragment { public const facebook::react::SurfaceId surfaceId; public const facebook::react::Tag tag; @@ -6106,82 +2063,12 @@ struct facebook::react::ShadowNodeFragment { public static const std::shared_ptr>>& childrenPlaceholder(); } -struct facebook::react::ShadowNodeListWrapper : public facebook::jsi::NativeState { - public ShadowNodeListWrapper(std::shared_ptr>> shadowNodeList); - public std::shared_ptr>> shadowNodeList; - public ~ShadowNodeListWrapper() override; -} - struct facebook::react::ShadowNodeWrapper : public facebook::jsi::NativeState { public ShadowNodeWrapper(std::shared_ptr shadowNode); public std::shared_ptr shadowNode; public ~ShadowNodeWrapper() override; } -struct facebook::react::ShadowTreeCommitOptions { - public bool enableStateReconciliation; - public bool mountSynchronously; - public facebook::react::ShadowTreeCommitSource source; -} - -struct facebook::react::ShadowView { - public ShadowView() = default; - public ShadowView(const facebook::react::ShadowNode& shadowNode); - public ShadowView(const facebook::react::ShadowView& shadowView) = default; - public ShadowView(facebook::react::ShadowView&& shadowView) noexcept = default; - public bool operator==(const facebook::react::ShadowView& rhs) const; - public facebook::react::ComponentHandle componentHandle; - public facebook::react::ComponentName componentName; - public facebook::react::EventEmitter::Shared eventEmitter; - public facebook::react::LayoutMetrics layoutMetrics; - public facebook::react::Props::Shared props; - public facebook::react::ShadowNodeTraits traits; - public facebook::react::ShadowView& operator=(const facebook::react::ShadowView& other) = default; - public facebook::react::ShadowView& operator=(facebook::react::ShadowView&& other) = default; - public facebook::react::State::Shared state; - public facebook::react::SurfaceId surfaceId; - public facebook::react::Tag tag; -} - -struct facebook::react::ShadowViewMutation { - public ShadowViewMutation() = delete; - public bool mutatedViewIsVirtual() const; - public facebook::react::ShadowView newChildShadowView; - public facebook::react::ShadowView oldChildShadowView; - public facebook::react::ShadowViewMutation::Type type; - public facebook::react::Tag parentTag; - public int index; - public static facebook::react::ShadowViewMutation CreateMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation DeleteMutation(facebook::react::ShadowView shadowView); - public static facebook::react::ShadowViewMutation InsertMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation InsertMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(const facebook::react::ShadowView& parentShadowView, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation RemoveMutation(facebook::react::Tag parentTag, facebook::react::ShadowView childShadowView, int index); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, const facebook::react::ShadowView& parentShadowView); - public static facebook::react::ShadowViewMutation UpdateMutation(facebook::react::ShadowView oldChildShadowView, facebook::react::ShadowView newChildShadowView, facebook::react::Tag parentTag); - public using List = std::vector; -} - -enum facebook::react::ShadowViewMutation::Type : std::uint8_t { - Create, - Delete, - Insert, - Remove, - Update, -} - -struct facebook::react::ShadowViewNodePair { - public bool flattened; - public bool inOtherTree() const; - public bool isConcreteView; - public bool operator==(const facebook::react::ShadowViewNodePair& rhs) const; - public const facebook::react::ShadowNode* shadowNode; - public facebook::react::Point contextOrigin; - public facebook::react::ShadowView shadowView; - public mutable const facebook::react::ShadowViewNodePair* otherTreePair; - public size_t mountIndex; -} - struct facebook::react::Size { public Float height; public Float width; @@ -6193,44 +2080,6 @@ struct facebook::react::StateData { public using Shared = std::shared_ptr; } -struct facebook::react::SurfaceContext { - public std::unordered_map> map; - public std::unordered_map> pendingMap; - public std::unordered_set> families; - public std::unordered_set> pendingFamilies; -} - -struct facebook::react::SystraceSection : public facebook::react::DummyTraceSection { - template - public SystraceSection(const char* name, ConvertsToStringPiece &&... args); -} - -struct facebook::react::Task : public facebook::jsi::NativeState { - public Task(facebook::react::SchedulerPriority priority, facebook::jsi::Function&& callback, facebook::react::HighResTimeStamp expirationTime); - public Task(facebook::react::SchedulerPriority priority, facebook::react::RawCallback&& callback, facebook::react::HighResTimeStamp expirationTime); -} - -struct facebook::react::TextEffectInfo { - public bool operator==(const facebook::react::TextEffectInfo&) const = default; - public folly::dynamic props; - public std::string name; -} - -struct facebook::react::TextLayoutContext { - public Float pointScaleFactor; - public bool operator==(const facebook::react::TextLayoutContext& rhs) const = default; - public facebook::react::SurfaceId surfaceId; -} - -struct facebook::react::TimerCallback { - public TimerCallback(facebook::jsi::Function callback, std::vector args, bool repeat, facebook::react::TimerSource source = facebook::react::TimerSource::Unknown); - public bool repeat; - public const std::vector args_; - public facebook::jsi::Function callback_; - public facebook::react::TimerSource source; - public void invoke(facebook::jsi::Runtime& runtime); -} - struct facebook::react::TouchEvent { public facebook::react::Touches changedTouches; public facebook::react::Touches targetTouches; @@ -6264,12 +2113,6 @@ struct facebook::react::Transform { public std::vector operations; } -struct facebook::react::TransformConfig { - public double value; - public facebook::react::Tag nodeTag; - public std::string property; -} - struct facebook::react::TransformOperation { public bool operator==(const facebook::react::TransformOperation& other) const = default; public facebook::react::TransformOperationType type; @@ -6346,64 +2189,6 @@ enum facebook::react::ViewEvents::Offset : std::size_t { TouchStart, } -template -struct facebook::react::CSSList : public std::vector { -} - -template -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSList { -} - -template ... VisitorsT> -struct facebook::react::CSSComponentValueVisitorDispatcher { - public constexpr ReturnT consumeComponentValue(facebook::react::CSSDelimiter delimiter, const VisitorsT &... visitors); - public constexpr std::optional visitFunction(); - public constexpr std::optional visitFunction(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitPreservedToken(); - public constexpr std::optional visitPreservedToken(const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken); - public constexpr std::optional visitSimpleBlock(facebook::react::CSSTokenType endToken, const facebook::react::CSSComponentValueVisitor auto& visitor, const facebook::react::CSSComponentValueVisitor auto &... rest); - public facebook::react::CSSSyntaxParser& parser; -} - -template -struct facebook::react::CSSList : public std::vector { -} - -template -class facebook::react::CircularBuffer { - public CircularBuffer(size_t maxSize); - public T& operator[](size_t idx); - public bool add(const T& el); - public size_t size() const; - public std::vector getEntries() const; - public std::vector getEntries(std::function predicate) const; - public void clear(); - public void clear(std::function predicate); - public void getEntries(std::vector& res) const; - public void getEntries(std::vector& res, std::function predicate) const; -} - -template -class facebook::react::MoveWrapper { - public MoveWrapper() = default; - public MoveWrapper(T&& t); - public MoveWrapper(const facebook::react::MoveWrapper& other); - public MoveWrapper(facebook::react::MoveWrapper&& other) noexcept; - public T& operator*(); - public T&& move(); - public T* operator->(); - public const T& operator*() const; - public const T* operator->() const; - public facebook::react::MoveWrapper& operator=(const facebook::react::MoveWrapper&) = delete; - public facebook::react::MoveWrapper& operator=(facebook::react::MoveWrapper&&) = delete; -} - template class facebook::react::ConcreteViewShadowNode : public facebook::react::ConcreteShadowNode { public ConcreteViewShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); @@ -6416,20 +2201,6 @@ class facebook::react::ConcreteViewShadowNode : public facebook::react::Concrete public virtual facebook::react::Transform getTransform() const override; } -template -class facebook::react::BaseTextInputShadowNode : public facebook::react::ConcreteViewShadowNode, public facebook::react::BaseTextShadowNode { - protected facebook::react::LayoutConstraints getTextConstraints(const facebook::react::LayoutConstraints& layoutConstraints) const; - protected std::shared_ptr textLayoutManager_; - protected virtual Float baseline(const facebook::react::LayoutContext& layoutContext, facebook::react::Size size) const override; - protected virtual facebook::react::Size measureContent(const facebook::react::LayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const override; - protected virtual void layout(facebook::react::LayoutContext layoutContext) override; - public BaseTextInputShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); - public BaseTextInputShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); - public static facebook::react::ShadowNodeTraits BaseTraits(); - public using BaseShadowNode = facebook::react::ConcreteViewShadowNode; - public void setTextLayoutManager(std::shared_ptr textLayoutManager); -} - template class facebook::react::ConcreteShadowNode : public BaseShadowNodeT { protected facebook::react::Props::Shared props_; @@ -6460,17 +2231,6 @@ template struct facebook::react::Bridging : public facebook::react::Bridging { } -template -struct facebook::react::TemplateStringLiteral { - public constexpr TemplateStringLiteral(const char(&str)[N]); - public constexpr operator std::string_view() const; - public std::array value; -} - -template -struct facebook::react::CSSDataTypeParser { -} - template class facebook::react::ConcreteState : public facebook::react::State { public ConcreteState(facebook::react::ConcreteState::SharedData data, const facebook::react::State& previousState); @@ -6488,25 +2248,6 @@ template class facebook::react::SyncCallback { } -template -class facebook::react::SimpleThreadSafeCache { - public SimpleThreadSafeCache(); - public SimpleThreadSafeCache(unsigned long size); - public ValueT get(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; - public std::optional get(const KeyT& key) const; - public std::pair getWithKey(const KeyT& key, facebook::react::CacheGeneratorFunction auto generator) const; -} - -template -class facebook::react::OnScopeExit { - public OnScopeExit(const Lambda&& lambda) noexcept; - public OnScopeExit(const facebook::react::OnScopeExit&) = delete; - public OnScopeExit(facebook::react::OnScopeExit&&) = delete; - public facebook::react::OnScopeExit& operator=(const facebook::react::OnScopeExit&) = delete; - public facebook::react::OnScopeExit& operator=(facebook::react::OnScopeExit&&) = delete; - public ~OnScopeExit() noexcept; -} - template class facebook::react::SyncCallback { public R call(Args... args) const; @@ -6528,14 +2269,7 @@ struct facebook::react::Bridging : public facebook::react::Bridging< } template -class facebook::react::BaseParagraphComponentDescriptor : public facebook::react::ConcreteComponentDescriptor { - protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; - public BaseParagraphComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters); - public virtual facebook::react::ComponentName getComponentName() const override; -} - -template -class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { +class facebook::react::ConcreteComponentDescriptor : public facebook::react::ComponentDescriptor { protected virtual void adopt(facebook::react::ShadowNode& shadowNode) const override; public ConcreteComponentDescriptor(const facebook::react::ComponentDescriptorParameters& parameters, facebook::react::RawPropsParser&& rawPropsParser = {}); public using ConcreteEventEmitter = typename ShadowNodeT::ConcreteEventEmitter; @@ -6557,2188 +2291,283 @@ class facebook::react::ConcreteComponentDescriptor : public facebook::react::Com public virtual void appendChild(const std::shared_ptr& parentShadowNode, const std::shared_ptr& childShadowNode) const override; } -template -class facebook::react::Element { - public Element(); - public facebook::react::Element& children(std::vector children); - public facebook::react::Element& finalize(std::function finalizeCallback); - public facebook::react::Element& props(facebook::react::Element::SharedConcreteProps props); - public facebook::react::Element& props(std::function callback); - public facebook::react::Element& reference(facebook::react::Element::ConcreteUnsharedShadowNode& outShadowNode); - public facebook::react::Element& reference(std::function callback); - public facebook::react::Element& stateData(std::function callback); - public facebook::react::Element& surfaceId(facebook::react::SurfaceId surfaceId); - public facebook::react::Element& tag(facebook::react::Tag tag); - public operator facebook::react::ElementFragment(); - public using ConcreteProps = typename ShadowNodeT::ConcreteProps; - public using ConcreteReferenceCallback = std::function& shadowNode)>; - public using ConcreteShadowNode = ShadowNodeT; - public using ConcreteState = typename ShadowNodeT::ConcreteState; - public using ConcreteStateData = typename ShadowNodeT::ConcreteStateData; - public using ConcreteUnsharedShadowNode = std::shared_ptr; - public using SharedConcreteProps = std::shared_ptr; - public using SharedConcreteState = std::shared_ptr; -} - template struct facebook::react::Bridging { } -template -struct facebook::react::AnimatedProp : public facebook::react::AnimatedPropBase { - public AnimatedProp() = default; - public AnimatedProp(facebook::react::PropName propName, const T& value); - public T value; -} - -template -struct facebook::react::CascadedRectangleCorners { - public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; - public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; - public facebook::react::CascadedRectangleCorners::OptionalT all; - public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; - public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; - public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; - public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; - public facebook::react::CascadedRectangleCorners::OptionalT endEnd; - public facebook::react::CascadedRectangleCorners::OptionalT endStart; - public facebook::react::CascadedRectangleCorners::OptionalT startEnd; - public facebook::react::CascadedRectangleCorners::OptionalT startStart; - public facebook::react::CascadedRectangleCorners::OptionalT topEnd; - public facebook::react::CascadedRectangleCorners::OptionalT topLeft; - public facebook::react::CascadedRectangleCorners::OptionalT topRight; - public facebook::react::CascadedRectangleCorners::OptionalT topStart; - public using Counterpart = facebook::react::RectangleCorners; - public using OptionalT = std::optional; -} - -template -struct facebook::react::CascadedRectangleEdges { - public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; - public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; - public facebook::react::CascadedRectangleEdges::OptionalT all; - public facebook::react::CascadedRectangleEdges::OptionalT block; - public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; - public facebook::react::CascadedRectangleEdges::OptionalT blockStart; - public facebook::react::CascadedRectangleEdges::OptionalT bottom; - public facebook::react::CascadedRectangleEdges::OptionalT end; - public facebook::react::CascadedRectangleEdges::OptionalT horizontal; - public facebook::react::CascadedRectangleEdges::OptionalT left; - public facebook::react::CascadedRectangleEdges::OptionalT right; - public facebook::react::CascadedRectangleEdges::OptionalT start; - public facebook::react::CascadedRectangleEdges::OptionalT top; - public facebook::react::CascadedRectangleEdges::OptionalT vertical; - public using Counterpart = facebook::react::RectangleEdges; - public using OptionalT = std::optional; -} - -template -struct facebook::react::RectangleCorners { - public T bottomLeft; - public T bottomRight; - public T topLeft; - public T topRight; - public bool isUniform() const noexcept; - public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; -} - -template -struct facebook::react::RectangleEdges { - public T bottom; - public T left; - public T right; - public T top; - public bool isUniform() const noexcept; - public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; - public static const facebook::react::RectangleEdges ZERO; -} - -template -class facebook::react::AsyncCallback { - public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); - public void call(Args... args) const noexcept; - public void call(std::function&& callImpl) const noexcept; - public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; - public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; - public void operator()(Args... args) const noexcept; -} - -template -class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { - public AsyncEventEmitter(); - public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; - public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; - public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; - public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; - public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; - public void emit(Args... value); - public void emit(std::function&& converter); - public ~AsyncEventEmitter() override = default; -} - -template -class facebook::react::SharedFunction { - public SharedFunction(const facebook::react::SharedFunction& other) = default; - public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; - public SharedFunction(std::function&& function = nullptr); - public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; - public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; - public void assign(std::function function) const; - public void operator()(ArgumentT... args) const; -} - -template -class facebook::react::AsyncPromise { - public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); - public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; - public void reject(facebook::react::Error error); - public void resolve(T... value); -} - -template -class facebook::react::EventListenerContainerT { - public bool willDispatchEvent(TArgs... args); - public void addListener(std::shared_ptr> listener); - public void removeListener(const std::shared_ptr>& listener); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); - public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); -} - -struct facebook::react::Bridging { - public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); -} - -struct facebook::react::Bridging { - public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); - public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); -} - -template -struct facebook::react::Bridging> { - public static constexpr size_t kArgumentCount; - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); - public using Func = std::function; - public using IndexSequence = std::index_sequence_for; -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { - public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { - public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); - public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); - template - public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { - public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { - public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { -} - -struct facebook::react::Bridging { - public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); -} - -struct facebook::react::Bridging { - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); - public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); - public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); -} - -struct facebook::react::Bridging : public NativeAnimatedTurboModuleEndResultBridging { -} - -struct facebook::react::Bridging { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); -} - -struct facebook::react::Bridging { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); - public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); - public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging { - public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); - public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); -} - -struct facebook::react::Bridging : public NativeIntersectionObserverNativeIntersectionObserverEntryBridging { -} - -struct facebook::react::Bridging : public NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public NativeMutationObserverNativeMutationObserverObserveOptionsBridging { -} - -struct facebook::react::Bridging : public NativeMutationObserverNativeMutationRecordBridging { -} - -struct facebook::react::Bridging : public NativeReactDevToolsRuntimeSettingsModulePartialReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public NativePerformanceRawPerformanceEntryBridging { -} - -struct facebook::react::Bridging : public NativePerformancePerformanceObserverInitBridging { -} - -struct facebook::react::Bridging : public NativeReactDevToolsRuntimeSettingsModuleReloadAndProfileConfigBridging { -} - -struct facebook::react::Bridging : public NativeIdleCallbacksRequestIdleCallbackOptionsBridging { -} - -struct facebook::react::Bridging { - public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value); - public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consume(facebook::react::CSSValueParser& syntaxParser); -} - -struct facebook::react::CSSDataTypeParser { - public static std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSNumberPercentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSFilterSimpleAmountParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSAngleTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consume(facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser : public facebook::react::detail::CSSVariantComponentTransformParser { -} - -struct facebook::react::CSSDataTypeParser { - public static constexpr std::optional consumePreservedToken(const facebook::react::CSSPreservedToken& token); -} - -template -struct facebook::react::CSSDataTypeParser> { - public static std::optional> consume(facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); - public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); - public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { -} - -template -struct facebook::react::Bridging> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); -} - -struct facebook::react::Bridging> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& jsiValue); -} - -template -struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); -} - -template -struct facebook::react::Bridging, std::enable_if_t>> { - public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); - public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); -} - - -bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); -bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); -bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); - - -constexpr bool facebook::react::detail::isHexDigit(char c); -constexpr bool facebook::react::detail::isValidHexColor(std::string_view hex); -constexpr float facebook::react::detail::hueToRgb(float p, float q, float t); -constexpr std::optional facebook::react::detail::normalizeNumberComponent(const std::variant& component); -constexpr uint8_t facebook::react::detail::clamp255Component(float f); -constexpr uint8_t facebook::react::detail::clampAlpha(std::optional alpha); -constexpr uint8_t facebook::react::detail::hexToNumeric(std::string_view hex, facebook::react::detail::HexColorType hexType); -float facebook::react::detail::normalizeHue(float hue); -std::optional facebook::react::detail::normalizeHueComponent(const std::variant& component); -std::tuple facebook::react::detail::hslToRgb(float h, float s, float l); -std::tuple facebook::react::detail::hwbToRgb(float h, float w, float b); -template -constexpr bool facebook::react::detail::isLegacyColorFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseLegacyRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseModernRgbFunction(facebook::react::CSSValueParser& parser); -template -constexpr std::optional facebook::react::detail::parseRgbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseHwbFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseLegacyHslFunction(facebook::react::CSSValueParser& parser); -template -std::optional facebook::react::detail::parseModernHslFunction(facebook::react::CSSValueParser& parser); -template -C facebook::react::detail::memberFunctionClass(T C::*); -template -constexpr std::optional facebook::react::detail::normalizeComponent(const std::variant& component, float baseValue); - -class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { - public OwnedBytesBuffer(std::vector bytes) noexcept; - public virtual size_t size() const override; - public virtual uint8_t* data() override; -} - -enum facebook::react::detail::HexColorType { - Long, - Short, -} - -template -struct facebook::react::detail::merge_data_types { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types { -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = typename T::PreparedTextLayout; -} - -template -struct facebook::react::detail::CSSVariantComponentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSAngleTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSFilterSimpleAmountParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::CSSNumberPercentTransformParser { - public static constexpr std::optional consumeFunctionBlock(const facebook::react::CSSFunctionBlock& func, facebook::react::CSSValueParser& parser); -} - -template -struct facebook::react::detail::PreparedTextLayoutT { - public using type = std::nullptr_t; -} - -template -struct facebook::react::detail::is_variant_of_data_types : public std::false_type { -} - -template -class facebook::react::detail::TextLayoutManagerExtended { - public TextLayoutManagerExtended(const TextLayoutManagerT& textLayoutManager); - public facebook::react::LinesMeasurements measureLines(const facebook::react::AttributedStringBox& attributedStringBox, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::Size& size); - public facebook::react::TextMeasurement measurePreparedLayout(const facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout& layout, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public facebook::react::detail::TextLayoutManagerExtended::PreparedTextLayout prepareLayout(const facebook::react::AttributedString& attributedString, const facebook::react::ParagraphAttributes& paragraphAttributes, const facebook::react::TextLayoutContext& layoutContext, const facebook::react::LayoutConstraints& layoutConstraints) const; - public static constexpr bool supportsLineMeasurement(); - public static constexpr bool supportsPreparedTextLayout(); - public using PreparedTextLayout = typename facebook::react::detail::PreparedTextLayoutT::type; -} - -template -struct facebook::react::detail::merge_variant { -} - -template -struct facebook::react::detail::merge_data_types, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_data_types, AlllowedType2T, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - -template -struct facebook::react::detail::merge_variant, RestT...> { - public using type = std::variant; -} - -template -struct facebook::react::detail::merge_data_types> { - public using type = std::variant; -} - -template -struct facebook::react::detail::is_variant_of_data_types> : public std::true_type { -} - -template -struct facebook::react::detail::merge_data_types, std::variant, RestT...> { - public using type = typename facebook::react::detail::merge_data_types, RestT...>::type; -} - - -constexpr std::string_view facebook::react::detail::css::keywords::Absolute; -constexpr std::string_view facebook::react::detail::css::keywords::At; -constexpr std::string_view facebook::react::detail::css::keywords::Auto; -constexpr std::string_view facebook::react::detail::css::keywords::Baseline; -constexpr std::string_view facebook::react::detail::css::keywords::Block; -constexpr std::string_view facebook::react::detail::css::keywords::Bottom; -constexpr std::string_view facebook::react::detail::css::keywords::Center; -constexpr std::string_view facebook::react::detail::css::keywords::Clip; -constexpr std::string_view facebook::react::detail::css::keywords::Column; -constexpr std::string_view facebook::react::detail::css::keywords::ColumnReverse; -constexpr std::string_view facebook::react::detail::css::keywords::CommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Content; -constexpr std::string_view facebook::react::detail::css::keywords::Contents; -constexpr std::string_view facebook::react::detail::css::keywords::Contextual; -constexpr std::string_view facebook::react::detail::css::keywords::Dashed; -constexpr std::string_view facebook::react::detail::css::keywords::DiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Dotted; -constexpr std::string_view facebook::react::detail::css::keywords::Double; -constexpr std::string_view facebook::react::detail::css::keywords::End; -constexpr std::string_view facebook::react::detail::css::keywords::Fixed; -constexpr std::string_view facebook::react::detail::css::keywords::Flex; -constexpr std::string_view facebook::react::detail::css::keywords::FlexEnd; -constexpr std::string_view facebook::react::detail::css::keywords::FlexStart; -constexpr std::string_view facebook::react::detail::css::keywords::Grid; -constexpr std::string_view facebook::react::detail::css::keywords::Groove; -constexpr std::string_view facebook::react::detail::css::keywords::Hidden; -constexpr std::string_view facebook::react::detail::css::keywords::HistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::Inherit; -constexpr std::string_view facebook::react::detail::css::keywords::Initial; -constexpr std::string_view facebook::react::detail::css::keywords::Inline; -constexpr std::string_view facebook::react::detail::css::keywords::InlineBlock; -constexpr std::string_view facebook::react::detail::css::keywords::InlineFlex; -constexpr std::string_view facebook::react::detail::css::keywords::InlineGrid; -constexpr std::string_view facebook::react::detail::css::keywords::Inset; -constexpr std::string_view facebook::react::detail::css::keywords::Left; -constexpr std::string_view facebook::react::detail::css::keywords::LiningNums; -constexpr std::string_view facebook::react::detail::css::keywords::Ltr; -constexpr std::string_view facebook::react::detail::css::keywords::MaxContent; -constexpr std::string_view facebook::react::detail::css::keywords::Medium; -constexpr std::string_view facebook::react::detail::css::keywords::MinContent; -constexpr std::string_view facebook::react::detail::css::keywords::NoCommonLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoContextual; -constexpr std::string_view facebook::react::detail::css::keywords::NoDiscretionaryLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoHistoricalLigatures; -constexpr std::string_view facebook::react::detail::css::keywords::NoWrap; -constexpr std::string_view facebook::react::detail::css::keywords::None; -constexpr std::string_view facebook::react::detail::css::keywords::Normal; -constexpr std::string_view facebook::react::detail::css::keywords::OldstyleNums; -constexpr std::string_view facebook::react::detail::css::keywords::Outset; -constexpr std::string_view facebook::react::detail::css::keywords::ProportionalNums; -constexpr std::string_view facebook::react::detail::css::keywords::Relative; -constexpr std::string_view facebook::react::detail::css::keywords::Ridge; -constexpr std::string_view facebook::react::detail::css::keywords::Right; -constexpr std::string_view facebook::react::detail::css::keywords::Row; -constexpr std::string_view facebook::react::detail::css::keywords::RowReverse; -constexpr std::string_view facebook::react::detail::css::keywords::Rtl; -constexpr std::string_view facebook::react::detail::css::keywords::Scroll; -constexpr std::string_view facebook::react::detail::css::keywords::SmallCaps; -constexpr std::string_view facebook::react::detail::css::keywords::Solid; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceAround; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceBetween; -constexpr std::string_view facebook::react::detail::css::keywords::SpaceEvenly; -constexpr std::string_view facebook::react::detail::css::keywords::Start; -constexpr std::string_view facebook::react::detail::css::keywords::Static; -constexpr std::string_view facebook::react::detail::css::keywords::Sticky; -constexpr std::string_view facebook::react::detail::css::keywords::Stretch; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEight; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEighteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticEleven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFifteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFive; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFour; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticFourteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNine; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticNineteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticOne; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeven; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSeventeen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSix; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticSixteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThirteen; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticThree; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwelve; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwenty; -constexpr std::string_view facebook::react::detail::css::keywords::StylisticTwo; -constexpr std::string_view facebook::react::detail::css::keywords::TabularNums; -constexpr std::string_view facebook::react::detail::css::keywords::Thick; -constexpr std::string_view facebook::react::detail::css::keywords::Thin; -constexpr std::string_view facebook::react::detail::css::keywords::To; -constexpr std::string_view facebook::react::detail::css::keywords::Top; -constexpr std::string_view facebook::react::detail::css::keywords::Unset; -constexpr std::string_view facebook::react::detail::css::keywords::Visible; -constexpr std::string_view facebook::react::detail::css::keywords::Wrap; -constexpr std::string_view facebook::react::detail::css::keywords::WrapReverse; -template -concept facebook::react::detail::css::keywords::hasAbsolute = (CSSKeywordSet && requires() { T::Absolute; }); -template -concept facebook::react::detail::css::keywords::hasAt = (CSSKeywordSet && requires() { T::At; }); -template -concept facebook::react::detail::css::keywords::hasAuto = (CSSKeywordSet && requires() { T::Auto; }); -template -concept facebook::react::detail::css::keywords::hasBaseline = (CSSKeywordSet && requires() { T::Baseline; }); -template -concept facebook::react::detail::css::keywords::hasBlock = (CSSKeywordSet && requires() { T::Block; }); -template -concept facebook::react::detail::css::keywords::hasBottom = (CSSKeywordSet && requires() { T::Bottom; }); -template -concept facebook::react::detail::css::keywords::hasCenter = (CSSKeywordSet && requires() { T::Center; }); -template -concept facebook::react::detail::css::keywords::hasClip = (CSSKeywordSet && requires() { T::Clip; }); -template -concept facebook::react::detail::css::keywords::hasColumn = (CSSKeywordSet && requires() { T::Column; }); -template -concept facebook::react::detail::css::keywords::hasColumnReverse = (CSSKeywordSet && requires() { T::ColumnReverse; }); -template -concept facebook::react::detail::css::keywords::hasCommonLigatures = (CSSKeywordSet && requires() { T::CommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasContent = (CSSKeywordSet && requires() { T::Content; }); -template -concept facebook::react::detail::css::keywords::hasContents = (CSSKeywordSet && requires() { T::Contents; }); -template -concept facebook::react::detail::css::keywords::hasContextual = (CSSKeywordSet && requires() { T::Contextual; }); -template -concept facebook::react::detail::css::keywords::hasDashed = (CSSKeywordSet && requires() { T::Dashed; }); -template -concept facebook::react::detail::css::keywords::hasDiscretionaryLigatures = (CSSKeywordSet && requires() { T::DiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasDotted = (CSSKeywordSet && requires() { T::Dotted; }); -template -concept facebook::react::detail::css::keywords::hasDouble = (CSSKeywordSet && requires() { T::Double; }); -template -concept facebook::react::detail::css::keywords::hasEnd = (CSSKeywordSet && requires() { T::End; }); -template -concept facebook::react::detail::css::keywords::hasFixed = (CSSKeywordSet && requires() { T::Fixed; }); -template -concept facebook::react::detail::css::keywords::hasFlex = (CSSKeywordSet && requires() { T::Flex; }); -template -concept facebook::react::detail::css::keywords::hasFlexEnd = (CSSKeywordSet && requires() { T::FlexEnd; }); -template -concept facebook::react::detail::css::keywords::hasFlexStart = (CSSKeywordSet && requires() { T::FlexStart; }); -template -concept facebook::react::detail::css::keywords::hasGrid = (CSSKeywordSet && requires() { T::Grid; }); -template -concept facebook::react::detail::css::keywords::hasGroove = (CSSKeywordSet && requires() { T::Groove; }); -template -concept facebook::react::detail::css::keywords::hasHidden = (CSSKeywordSet && requires() { T::Hidden; }); -template -concept facebook::react::detail::css::keywords::hasHistoricalLigatures = (CSSKeywordSet && requires() { T::HistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasInherit = (CSSKeywordSet && requires() { T::Inherit; }); -template -concept facebook::react::detail::css::keywords::hasInitial = (CSSKeywordSet && requires() { T::Initial; }); -template -concept facebook::react::detail::css::keywords::hasInline = (CSSKeywordSet && requires() { T::Inline; }); -template -concept facebook::react::detail::css::keywords::hasInlineBlock = (CSSKeywordSet && requires() { T::InlineBlock; }); -template -concept facebook::react::detail::css::keywords::hasInlineFlex = (CSSKeywordSet && requires() { T::InlineFlex; }); -template -concept facebook::react::detail::css::keywords::hasInlineGrid = (CSSKeywordSet && requires() { T::InlineGrid; }); -template -concept facebook::react::detail::css::keywords::hasInset = (CSSKeywordSet && requires() { T::Inset; }); -template -concept facebook::react::detail::css::keywords::hasLeft = (CSSKeywordSet && requires() { T::Left; }); -template -concept facebook::react::detail::css::keywords::hasLiningNums = (CSSKeywordSet && requires() { T::LiningNums; }); -template -concept facebook::react::detail::css::keywords::hasLtr = (CSSKeywordSet && requires() { T::Ltr; }); -template -concept facebook::react::detail::css::keywords::hasMaxContent = (CSSKeywordSet && requires() { T::MaxContent; }); -template -concept facebook::react::detail::css::keywords::hasMedium = (CSSKeywordSet && requires() { T::Medium; }); -template -concept facebook::react::detail::css::keywords::hasMinContent = (CSSKeywordSet && requires() { T::MinContent; }); -template -concept facebook::react::detail::css::keywords::hasNoCommonLigatures = (CSSKeywordSet && requires() { T::NoCommonLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoContextual = (CSSKeywordSet && requires() { T::NoContextual; }); -template -concept facebook::react::detail::css::keywords::hasNoDiscretionaryLigatures = (CSSKeywordSet && requires() { T::NoDiscretionaryLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoHistoricalLigatures = (CSSKeywordSet && requires() { T::NoHistoricalLigatures; }); -template -concept facebook::react::detail::css::keywords::hasNoWrap = (CSSKeywordSet && requires() { T::NoWrap; }); -template -concept facebook::react::detail::css::keywords::hasNone = (CSSKeywordSet && requires() { T::None; }); -template -concept facebook::react::detail::css::keywords::hasNormal = (CSSKeywordSet && requires() { T::Normal; }); -template -concept facebook::react::detail::css::keywords::hasOldstyleNums = (CSSKeywordSet && requires() { T::OldstyleNums; }); -template -concept facebook::react::detail::css::keywords::hasOutset = (CSSKeywordSet && requires() { T::Outset; }); -template -concept facebook::react::detail::css::keywords::hasProportionalNums = (CSSKeywordSet && requires() { T::ProportionalNums; }); -template -concept facebook::react::detail::css::keywords::hasRelative = (CSSKeywordSet && requires() { T::Relative; }); -template -concept facebook::react::detail::css::keywords::hasRidge = (CSSKeywordSet && requires() { T::Ridge; }); -template -concept facebook::react::detail::css::keywords::hasRight = (CSSKeywordSet && requires() { T::Right; }); -template -concept facebook::react::detail::css::keywords::hasRow = (CSSKeywordSet && requires() { T::Row; }); -template -concept facebook::react::detail::css::keywords::hasRowReverse = (CSSKeywordSet && requires() { T::RowReverse; }); -template -concept facebook::react::detail::css::keywords::hasRtl = (CSSKeywordSet && requires() { T::Rtl; }); -template -concept facebook::react::detail::css::keywords::hasScroll = (CSSKeywordSet && requires() { T::Scroll; }); -template -concept facebook::react::detail::css::keywords::hasSmallCaps = (CSSKeywordSet && requires() { T::SmallCaps; }); -template -concept facebook::react::detail::css::keywords::hasSolid = (CSSKeywordSet && requires() { T::Solid; }); -template -concept facebook::react::detail::css::keywords::hasSpaceAround = (CSSKeywordSet && requires() { T::SpaceAround; }); -template -concept facebook::react::detail::css::keywords::hasSpaceBetween = (CSSKeywordSet && requires() { T::SpaceBetween; }); -template -concept facebook::react::detail::css::keywords::hasSpaceEvenly = (CSSKeywordSet && requires() { T::SpaceEvenly; }); -template -concept facebook::react::detail::css::keywords::hasStart = (CSSKeywordSet && requires() { T::Start; }); -template -concept facebook::react::detail::css::keywords::hasStatic = (CSSKeywordSet && requires() { T::Static; }); -template -concept facebook::react::detail::css::keywords::hasSticky = (CSSKeywordSet && requires() { T::Sticky; }); -template -concept facebook::react::detail::css::keywords::hasStretch = (CSSKeywordSet && requires() { T::Stretch; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEight = (CSSKeywordSet && requires() { T::StylisticEight; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEighteen = (CSSKeywordSet && requires() { T::StylisticEighteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticEleven = (CSSKeywordSet && requires() { T::StylisticEleven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFifteen = (CSSKeywordSet && requires() { T::StylisticFifteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFive = (CSSKeywordSet && requires() { T::StylisticFive; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFour = (CSSKeywordSet && requires() { T::StylisticFour; }); -template -concept facebook::react::detail::css::keywords::hasStylisticFourteen = (CSSKeywordSet && requires() { T::StylisticFourteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNine = (CSSKeywordSet && requires() { T::StylisticNine; }); -template -concept facebook::react::detail::css::keywords::hasStylisticNineteen = (CSSKeywordSet && requires() { T::StylisticNineteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticOne = (CSSKeywordSet && requires() { T::StylisticOne; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeven = (CSSKeywordSet && requires() { T::StylisticSeven; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSeventeen = (CSSKeywordSet && requires() { T::StylisticSeventeen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSix = (CSSKeywordSet && requires() { T::StylisticSix; }); -template -concept facebook::react::detail::css::keywords::hasStylisticSixteen = (CSSKeywordSet && requires() { T::StylisticSixteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTen = (CSSKeywordSet && requires() { T::StylisticTen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThirteen = (CSSKeywordSet && requires() { T::StylisticThirteen; }); -template -concept facebook::react::detail::css::keywords::hasStylisticThree = (CSSKeywordSet && requires() { T::StylisticThree; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwelve = (CSSKeywordSet && requires() { T::StylisticTwelve; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwenty = (CSSKeywordSet && requires() { T::StylisticTwenty; }); -template -concept facebook::react::detail::css::keywords::hasStylisticTwo = (CSSKeywordSet && requires() { T::StylisticTwo; }); -template -concept facebook::react::detail::css::keywords::hasTabularNums = (CSSKeywordSet && requires() { T::TabularNums; }); -template -concept facebook::react::detail::css::keywords::hasThick = (CSSKeywordSet && requires() { T::Thick; }); -template -concept facebook::react::detail::css::keywords::hasThin = (CSSKeywordSet && requires() { T::Thin; }); -template -concept facebook::react::detail::css::keywords::hasTo = (CSSKeywordSet && requires() { T::To; }); -template -concept facebook::react::detail::css::keywords::hasTop = (CSSKeywordSet && requires() { T::Top; }); -template -concept facebook::react::detail::css::keywords::hasUnset = (CSSKeywordSet && requires() { T::Unset; }); -template -concept facebook::react::detail::css::keywords::hasVisible = (CSSKeywordSet && requires() { T::Visible; }); -template -concept facebook::react::detail::css::keywords::hasWrap = (CSSKeywordSet && requires() { T::Wrap; }); -template -concept facebook::react::detail::css::keywords::hasWrapReverse = (CSSKeywordSet && requires() { T::WrapReverse; }); - - -constexpr size_t facebook::react::jsinspector_modern::REQUEST_BUFFER_MAX_SIZE_BYTES; -template -using facebook::react::jsinspector_modern::ScopedExecutor = std::function&& callback)>; -typedef std::function facebook::react::jsinspector_modern::FrontendChannel; -typedef std::map facebook::react::jsinspector_modern::Headers; -using facebook::react::jsinspector_modern::ExecutionContextSelectorSet = std::unordered_set; -using facebook::react::jsinspector_modern::IOReadError = const std::string; -using facebook::react::jsinspector_modern::InspectorPage = facebook::react::jsinspector_modern::InspectorPageDescription; -using facebook::react::jsinspector_modern::StreamID = const std::string; -using facebook::react::jsinspector_modern::VoidExecutor = std::function&& callback)>; -bool facebook::react::jsinspector_modern::matchesAny(const facebook::react::jsinspector_modern::ExecutionContextDescription& context, const facebook::react::jsinspector_modern::ExecutionContextSelectorSet& selectors); -facebook::react::jsinspector_modern::IInspector& facebook::react::jsinspector_modern::getInspectorInstance(); -folly::dynamic facebook::react::jsinspector_modern::createHostMetadataPayload(const facebook::react::jsinspector_modern::HostTargetMetadata& metadata); -folly::dynamic facebook::react::jsinspector_modern::targetCapabilitiesToDynamic(const facebook::react::jsinspector_modern::InspectorTargetCapabilities& capabilities); -std::string facebook::react::jsinspector_modern::httpReasonPhrase(uint16_t status); -std::string facebook::react::jsinspector_modern::mimeTypeFromHeaders(const facebook::react::jsinspector_modern::Headers& headers); -std::unique_ptr facebook::react::jsinspector_modern::makeTestInspectorInstance(); -template -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const ChannelsRange& channels, bool isBackgroundTrace); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::ScopedExecutor executor); -template -facebook::react::jsinspector_modern::ScopedExecutor facebook::react::jsinspector_modern::makeScopedExecutor(std::shared_ptr self, facebook::react::jsinspector_modern::VoidExecutor executor); -template -facebook::react::jsinspector_modern::VoidExecutor facebook::react::jsinspector_modern::makeVoidExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); -void facebook::react::jsinspector_modern::emitGlobalStateObserverChange(facebook::jsi::Runtime& runtime, const char* globalName, const char* callbackName, bool value); -void facebook::react::jsinspector_modern::emitNotificationsForTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const facebook::react::jsinspector_modern::FrontendChannel& channel, bool isBackgroundTrace); -void facebook::react::jsinspector_modern::emitTracingStateObserverChange(facebook::jsi::Runtime& runtime, bool isTracing); -void facebook::react::jsinspector_modern::installGlobalStateObserver(facebook::jsi::Runtime& runtime, const char* globalName, const char* statusProperty, const char* callbackName); -void facebook::react::jsinspector_modern::installTracingStateObserver(facebook::jsi::Runtime& runtime); -void facebook::react::jsinspector_modern::truncateToValidUTF8(std::vector& buffer); - -class facebook::react::jsinspector_modern::BoundedRequestBuffer { - public bool put(const std::string& requestId, std::string_view data, bool base64Encoded) noexcept; - public std::shared_ptr get(const std::string& requestId) const; - public void clear(); -} - -struct facebook::react::jsinspector_modern::BoundedRequestBuffer::ResponseBody { - public bool base64Encoded; - public std::string data; -} - -class facebook::react::jsinspector_modern::CallbackLocalConnection : public facebook::react::jsinspector_modern::ILocalConnection { - public CallbackLocalConnection(std::function handler); - public virtual void disconnect() override; - public virtual void sendMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::CallbackRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public CallbackRemoteConnection(std::function handler); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::ConsoleTask { - public ConsoleTask(const facebook::react::jsinspector_modern::ConsoleTask&) = default; - public ConsoleTask(facebook::react::jsinspector_modern::ConsoleTask&&) = default; - public ConsoleTask(std::shared_ptr taskContext); - public facebook::react::jsinspector_modern::ConsoleTask& operator=(const facebook::react::jsinspector_modern::ConsoleTask&) = delete; - public facebook::react::jsinspector_modern::ConsoleTask& operator=(facebook::react::jsinspector_modern::ConsoleTask&&) = delete; - public ~ConsoleTask(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskContext : public std::enable_shared_from_this { - public ConsoleTaskContext(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public ConsoleTaskContext(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::RuntimeTargetDelegate& runtimeTargetDelegate, std::string name); - public ConsoleTaskContext(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(const facebook::react::jsinspector_modern::ConsoleTaskContext&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskContext& operator=(facebook::react::jsinspector_modern::ConsoleTaskContext&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskId id() const; - public std::optional getSerializedStackTrace() const; - public void schedule(); - public ~ConsoleTaskContext(); -} - -class facebook::react::jsinspector_modern::ConsoleTaskId { - public ConsoleTaskId() = default; - public ConsoleTaskId(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public ConsoleTaskId(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public bool operator==(const facebook::react::jsinspector_modern::ConsoleTaskId&) const = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(const facebook::react::jsinspector_modern::ConsoleTaskId&) = default; - public facebook::react::jsinspector_modern::ConsoleTaskId& operator=(facebook::react::jsinspector_modern::ConsoleTaskId&&) = default; - public operator bool() const; - public operator void *() const; - public ~ConsoleTaskId() = default; -} - -class facebook::react::jsinspector_modern::ConsoleTaskOrchestrator { - public ConsoleTaskOrchestrator(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public ConsoleTaskOrchestrator(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(const facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&) = delete; - public facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& operator=(facebook::react::jsinspector_modern::ConsoleTaskOrchestrator&&) = delete; - public static facebook::react::jsinspector_modern::ConsoleTaskOrchestrator& getInstance(); - public std::shared_ptr top() const; - public void cancelTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void finishTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public void scheduleTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId, std::weak_ptr taskContext); - public void startTask(facebook::react::jsinspector_modern::ConsoleTaskId taskId); - public ~ConsoleTaskOrchestrator() = default; -} - -class facebook::react::jsinspector_modern::EmulationAgent { - public EmulationAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); -} - -class facebook::react::jsinspector_modern::ExecutionContextManager { - public int32_t allocateExecutionContextId(); -} - -class facebook::react::jsinspector_modern::ExecutionContextSelector { - public ExecutionContextSelector() = delete; - public ExecutionContextSelector(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public ExecutionContextSelector(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public bool matches(const facebook::react::jsinspector_modern::ExecutionContextDescription& context) const noexcept; - public bool operator==(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) const noexcept; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(const facebook::react::jsinspector_modern::ExecutionContextSelector& other) = default; - public facebook::react::jsinspector_modern::ExecutionContextSelector& operator=(facebook::react::jsinspector_modern::ExecutionContextSelector&& other) noexcept = default; - public static facebook::react::jsinspector_modern::ExecutionContextSelector all(); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byId(int32_t id); - public static facebook::react::jsinspector_modern::ExecutionContextSelector byName(std::string name); - public ~ExecutionContextSelector() = default; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeAgentDelegate : public facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public FallbackRuntimeAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, const facebook::react::jsinspector_modern::SessionState& sessionState, std::string engineDescription); - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) override; -} - -class facebook::react::jsinspector_modern::FallbackRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public FallbackRuntimeTargetDelegate(std::string engineDescription); - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; -} - -class facebook::react::jsinspector_modern::HermesRuntimeTargetDelegate : public facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public HermesRuntimeTargetDelegate(std::shared_ptr runtime, hermes::HermesRuntime& hermesRuntime); - public std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) override; - public virtual bool supportsConsole() const override; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() override; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) override; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip) override; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) override; - public virtual void disableSamplingProfiler() override; - public virtual void enableSamplingProfiler() override; - public ~HermesRuntimeTargetDelegate() override; -} - -class facebook::react::jsinspector_modern::HostAgent { - public HostAgent(const facebook::react::jsinspector_modern::FrontendChannel& frontendChannel, facebook::react::jsinspector_modern::HostTargetController& targetController, facebook::react::jsinspector_modern::HostTargetMetadata hostMetadata, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::VoidExecutor executor); - public HostAgent(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public HostAgent(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public bool isEligibleForBackgroundTrace() const; - public facebook::react::jsinspector_modern::HostAgent& operator=(const facebook::react::jsinspector_modern::HostAgent&) = delete; - public facebook::react::jsinspector_modern::HostAgent& operator=(facebook::react::jsinspector_modern::HostAgent&&) = delete; - public void emitSystemStateChanged(bool isSingleHost); - public void handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void setCurrentInstanceAgent(std::shared_ptr agent); - public ~HostAgent(); -} - -class facebook::react::jsinspector_modern::HostTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public HostTarget(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public HostTarget(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public bool stopAndMaybeEmitBackgroundTrace(); - public facebook::react::jsinspector_modern::HostTarget& operator=(const facebook::react::jsinspector_modern::HostTarget&) = delete; - public facebook::react::jsinspector_modern::HostTarget& operator=(facebook::react::jsinspector_modern::HostTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& registerInstance(facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public static std::shared_ptr create(facebook::react::jsinspector_modern::HostTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public std::unique_ptr connect(std::unique_ptr connectionToFrontend); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void sendCommand(facebook::react::jsinspector_modern::HostCommand command); - public void unregisterInstance(facebook::react::jsinspector_modern::InstanceTarget& instance); - public ~HostTarget(); -} - -class facebook::react::jsinspector_modern::HostTargetController { - public HostTargetController(facebook::react::jsinspector_modern::HostTarget& target); - public bool decrementPauseOverlayCounter(); - public bool hasInstance() const; - public bool maybeEmitStashedBackgroundTrace(); - public bool startTracing(facebook::react::jsinspector_modern::tracing::Mode mode, std::set enabledCategories); - public facebook::react::jsinspector_modern::HostTargetDelegate& getDelegate(); - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stopTracing(); - public void incrementPauseOverlayCounter(); -} - -class facebook::react::jsinspector_modern::HostTargetDelegate : public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public HostTargetDelegate() = default; - public HostTargetDelegate(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public HostTargetDelegate(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetDelegate& operator=(facebook::react::jsinspector_modern::HostTargetDelegate&&) = delete; - public virtual bool onSetEmulatedMedia(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest&); - public virtual facebook::react::jsinspector_modern::HostTargetMetadata getMetadata() = 0; - public virtual facebook::react::jsinspector_modern::HostTargetTracingDelegate* getTracingDelegate(); - public virtual std::optional captureScreenshot(const facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest&); - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest&, facebook::react::jsinspector_modern::ScopedExecutor) override; - public virtual void onReload(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& request) = 0; - public virtual void onSetPausedInDebuggerMessage(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& request) = 0; - public virtual ~HostTargetDelegate() override; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::OverlaySetPausedInDebuggerMessageRequest& rhs) const; - public std::optional message; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageCaptureScreenshotRequest { - public std::optional quality; - public std::optional format; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::PageReloadRequest& rhs) const; - public std::optional ignoreCache; - public std::optional scriptToEvaluateOnLoad; -} - -struct facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest { - public bool operator==(const facebook::react::jsinspector_modern::HostTargetDelegate::SetEmulatedMediaRequest& rhs) const; - public std::string colorScheme; -} - -class facebook::react::jsinspector_modern::HostTargetTraceRecording { - public HostTargetTraceRecording(facebook::react::jsinspector_modern::HostTarget& hostTarget, facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public bool isBackgroundInitiated() const; - public bool isUserInitiated() const; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile stop(); - public void recordFrameTimings(facebook::react::jsinspector_modern::tracing::FrameTimingSequence frameTimingSequence); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); - public void start(); -} - -class facebook::react::jsinspector_modern::HostTargetTracingDelegate { - public HostTargetTracingDelegate() = default; - public HostTargetTracingDelegate(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public HostTargetTracingDelegate(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(const facebook::react::jsinspector_modern::HostTargetTracingDelegate&) = delete; - public facebook::react::jsinspector_modern::HostTargetTracingDelegate& operator=(facebook::react::jsinspector_modern::HostTargetTracingDelegate&&) = delete; - public virtual void onTracingStarted(facebook::react::jsinspector_modern::tracing::Mode, bool); - public virtual void onTracingStopped(); - public virtual ~HostTargetTracingDelegate() = default; -} - -class facebook::react::jsinspector_modern::HostTracingAgent { - public HostTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedInstance(facebook::react::jsinspector_modern::InstanceTarget* instanceTarget); -} - -class facebook::react::jsinspector_modern::IDestructible { - public virtual ~IDestructible() = 0; -} - -class facebook::react::jsinspector_modern::IInspector : public facebook::react::jsinspector_modern::IDestructible { - public using ConnectFunc = std::function(std::unique_ptr)>; - public virtual facebook::react::jsinspector_modern::InspectorSystemState getSystemState() const = 0; - public virtual int addPage(const std::string& description, const std::string& vm, facebook::react::jsinspector_modern::IInspector::ConnectFunc connectFunc, facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities = {}) = 0; - public virtual std::unique_ptr connect(int pageId, std::unique_ptr remote) = 0; - public virtual std::vector getPages() const = 0; - public virtual void registerPageStatusListener(std::weak_ptr listener) = 0; - public virtual void removePage(int pageId) = 0; - public virtual ~IInspector() = 0; -} - -class facebook::react::jsinspector_modern::ILocalConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void disconnect() = 0; - public virtual void sendMessage(std::string message) = 0; - public virtual ~ILocalConnection() = 0; -} - -class facebook::react::jsinspector_modern::IPageStatusListener : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onPageRemoved(int); - public virtual ~IPageStatusListener() = 0; -} - -class facebook::react::jsinspector_modern::IRemoteConnection : public facebook::react::jsinspector_modern::IDestructible { - public virtual void onDisconnect() = 0; - public virtual void onMessage(std::string message) = 0; - public virtual ~IRemoteConnection() = 0; -} - -class facebook::react::jsinspector_modern::IWebSocket { - public virtual void send(std::string_view message) = 0; - public virtual ~IWebSocket() = default; -} - -class facebook::react::jsinspector_modern::IWebSocketDelegate { - public virtual void didClose() = 0; - public virtual void didFailWithError(std::optional posixCode, std::string error) = 0; - public virtual void didOpen() = 0; - public virtual void didReceiveMessage(std::string_view message) = 0; - public virtual ~IWebSocketDelegate() = default; -} - -class facebook::react::jsinspector_modern::InspectorFlags { - public InspectorFlags(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public bool getAssertSingleHostState() const; - public bool getFrameRecordingEnabled() const; - public bool getFuseboxEnabled() const; - public bool getIsProfilingBuild() const; - public bool getPerfIssuesEnabled() const; - public bool getScreenshotCaptureEnabled() const; - public facebook::react::jsinspector_modern::InspectorFlags& operator=(const facebook::react::jsinspector_modern::InspectorFlags&) = delete; - public static facebook::react::jsinspector_modern::InspectorFlags& getInstance(); - public void dangerouslyDisableFuseboxForTest(); - public void dangerouslyResetFlags(); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection { - public InspectorPackagerConnection(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public bool isConnected() const; - public void closeQuietly(); - public void connect(); - public void sendEventToAllConnections(std::string event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl : public facebook::react::jsinspector_modern::IWebSocketDelegate, public facebook::react::jsinspector_modern::IPageStatusListener, public std::enable_shared_from_this { - public bool isConnected() const; - public static std::shared_ptr create(std::string url, std::string deviceName, std::string appName, std::unique_ptr delegate); - public using SessionId = uint32_t; - public void closeQuietly(); - public void connect(); - public void scheduleSendToPackager(folly::dynamic message, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sourceSessionId, const std::string& sourcePageId, const std::string& sourceProxySessionId); - public void sendEventToAllConnections(const std::string& event); -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::RemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { - public RemoteConnection(std::weak_ptr owningPackagerConnection, std::string pageId, facebook::react::jsinspector_modern::InspectorPackagerConnection::Impl::SessionId sessionId, std::string proxySessionId); - public virtual void onDisconnect() override; - public virtual void onMessage(std::string message) override; -} - -class facebook::react::jsinspector_modern::InspectorPackagerConnectionDelegate { - public virtual std::unique_ptr connectWebSocket(const std::string& url, std::weak_ptr delegate) = 0; - public virtual void scheduleCallback(std::function callback, std::chrono::milliseconds delayMs) = 0; - public virtual ~InspectorPackagerConnectionDelegate() = default; -} - -class facebook::react::jsinspector_modern::InstanceAgent { - public InstanceAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::InstanceTarget& target, facebook::react::jsinspector_modern::SessionState& sessionState); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public void sendConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public void setCurrentRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtime); -} - -class facebook::react::jsinspector_modern::InstanceTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public InstanceTarget(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public InstanceTarget(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(const facebook::react::jsinspector_modern::InstanceTarget&) = delete; - public facebook::react::jsinspector_modern::InstanceTarget& operator=(facebook::react::jsinspector_modern::InstanceTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& registerRuntime(facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor executor); - public static std::shared_ptr create(std::shared_ptr executionContextManager, facebook::react::jsinspector_modern::InstanceTargetDelegate& delegate, facebook::react::jsinspector_modern::VoidExecutor executor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void unregisterRuntime(facebook::react::jsinspector_modern::RuntimeTarget& runtime); - public ~InstanceTarget(); -} - -class facebook::react::jsinspector_modern::InstanceTargetDelegate { - public InstanceTargetDelegate() = default; - public InstanceTargetDelegate(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public InstanceTargetDelegate(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(const facebook::react::jsinspector_modern::InstanceTargetDelegate&) = delete; - public facebook::react::jsinspector_modern::InstanceTargetDelegate& operator=(facebook::react::jsinspector_modern::InstanceTargetDelegate&&) = delete; - public virtual ~InstanceTargetDelegate(); -} - -class facebook::react::jsinspector_modern::InstanceTracingAgent { - public InstanceTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public void setTracedRuntime(facebook::react::jsinspector_modern::RuntimeTarget* runtimeTarget); - public ~InstanceTracingAgent(); -} - -class facebook::react::jsinspector_modern::LoadNetworkResourceDelegate { - public LoadNetworkResourceDelegate() = default; - public LoadNetworkResourceDelegate(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public LoadNetworkResourceDelegate(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(const facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&) = delete; - public facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& operator=(facebook::react::jsinspector_modern::LoadNetworkResourceDelegate&&) noexcept = delete; - public virtual void loadNetworkResource(const facebook::react::jsinspector_modern::LoadNetworkResourceRequest& params, facebook::react::jsinspector_modern::ScopedExecutor executor) = 0; - public virtual ~LoadNetworkResourceDelegate() = default; -} - -class facebook::react::jsinspector_modern::NetworkHandler { - public bool isEnabled() const; - public size_t enableAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel); - public static facebook::react::jsinspector_modern::NetworkHandler& getInstance(); - public std::optional> getResponseBody(const std::string& requestId); - public void disableAgent(size_t agentId); - public void onDataReceived(const std::string& requestId, int dataLength, int encodedDataLength); - public void onLoadingFailed(const std::string& requestId, bool cancelled); - public void onLoadingFinished(const std::string& requestId, int encodedDataLength); - public void onRequestWillBeSent(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Request& request, const std::optional& redirectResponse); - public void onRequestWillBeSentExtraInfo(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void onResponseReceived(const std::string& requestId, const facebook::react::jsinspector_modern::cdp::network::Response& response); - public void onWebSocketClosed(const std::string& requestId); - public void onWebSocketCreated(const std::string& requestId, const std::string& url); - public void onWebSocketFrameReceived(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketFrameSent(const std::string& requestId, const std::string& payloadData, bool isBinary); - public void onWebSocketHandshakeResponseReceived(const std::string& requestId, uint16_t status, const facebook::react::jsinspector_modern::Headers& headers); - public void onWebSocketWillSendHandshakeRequest(const std::string& requestId, const facebook::react::jsinspector_modern::Headers& headers); - public void recordRequestInitiatorStack(const std::string& requestId, folly::dynamic stackTrace); - public void storeResponseBody(const std::string& requestId, std::string_view body, bool base64Encoded); -} - -class facebook::react::jsinspector_modern::NetworkIOAgent { - public NetworkIOAgent(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public NetworkIOAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::VoidExecutor executor); - public NetworkIOAgent(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req, facebook::react::jsinspector_modern::LoadNetworkResourceDelegate& delegate); - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(const facebook::react::jsinspector_modern::NetworkIOAgent&) = delete; - public facebook::react::jsinspector_modern::NetworkIOAgent& operator=(facebook::react::jsinspector_modern::NetworkIOAgent&&) = delete; - public ~NetworkIOAgent(); -} - -class facebook::react::jsinspector_modern::NetworkRequestListener { - public NetworkRequestListener() = default; - public NetworkRequestListener(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public NetworkRequestListener(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(const facebook::react::jsinspector_modern::NetworkRequestListener&) = delete; - public facebook::react::jsinspector_modern::NetworkRequestListener& operator=(facebook::react::jsinspector_modern::NetworkRequestListener&&) noexcept = default; - public virtual void onCompletion() = 0; - public virtual void onData(std::string_view data) = 0; - public virtual void onError(const std::string& message) = 0; - public virtual void onHeaders(uint32_t httpStatusCode, const facebook::react::jsinspector_modern::Headers& headers) = 0; - public virtual void setCancelFunction(std::function cancelFunction) = 0; - public virtual ~NetworkRequestListener() = default; -} - -class facebook::react::jsinspector_modern::NotImplementedException : public std::exception { - public NotImplementedException(std::string message); - public const char* what() const noexcept override; -} - -class facebook::react::jsinspector_modern::NullRemoteConnection : public facebook::react::jsinspector_modern::IRemoteConnection { -} - -class facebook::react::jsinspector_modern::PerfMonitorUpdateHandler { - public PerfMonitorUpdateHandler(facebook::react::jsinspector_modern::HostTargetDelegate& delegate); - public void handlePerfIssueAdded(const std::string& message); -} - -class facebook::react::jsinspector_modern::RAIIRemoteConnection { - public RAIIRemoteConnection(std::unique_ptr remote); - public void onMessage(std::string message); - public ~RAIIRemoteConnection(); -} - -class facebook::react::jsinspector_modern::RuntimeAgent { - public RuntimeAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::RuntimeTargetController& targetController, facebook::react::jsinspector_modern::ExecutionContextDescription executionContextDescription, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr delegate); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public const facebook::react::jsinspector_modern::ExecutionContextDescription& getExecutionContextDescription() const; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState getExportedState(); - public void notifyBindingCalled(const std::string& bindingName, const std::string& payload); - public void notifyFastRefreshComplete(); - public ~RuntimeAgent(); -} - -struct facebook::react::jsinspector_modern::RuntimeAgent::ExportedState { - public std::unique_ptr delegateState; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate { - public virtual bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req) = 0; - public virtual std::unique_ptr getExportedState(); - public virtual ~RuntimeAgentDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeAgentDelegate::ExportedState { - public virtual ~ExportedState() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTarget : public facebook::react::jsinspector_modern::EnableExecutorFromThis { - public RuntimeTarget(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public RuntimeTarget(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(const facebook::react::jsinspector_modern::RuntimeTarget&) = delete; - public facebook::react::jsinspector_modern::RuntimeTarget& operator=(facebook::react::jsinspector_modern::RuntimeTarget&&) = delete; - public static std::shared_ptr create(const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::jsinspector_modern::RuntimeTargetDelegate& delegate, facebook::react::RuntimeExecutor jsExecutor, facebook::react::jsinspector_modern::VoidExecutor selfExecutor); - public std::shared_ptr createAgent(const facebook::react::jsinspector_modern::FrontendChannel& channel, facebook::react::jsinspector_modern::SessionState& sessionState); - public std::shared_ptr createTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public ~RuntimeTarget(); -} - -class facebook::react::jsinspector_modern::RuntimeTargetController { - public RuntimeTargetController(facebook::react::jsinspector_modern::RuntimeTarget& target); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile(); - public void disableSamplingProfiler(); - public void emitTracingStateChange(bool isTracing); - public void enableSamplingProfiler(); - public void installBindingHandler(const std::string& bindingName); - public void installScriptToEvaluateOnNewDocument(const std::string& source); - public void notifyDomainStateChanged(facebook::react::jsinspector_modern::RuntimeTargetController::Domain domain, bool enabled, const facebook::react::jsinspector_modern::RuntimeAgent& notifyingAgent); -} - -enum facebook::react::jsinspector_modern::RuntimeTargetController::Domain { - Log, - Network, - Runtime, - kMaxValue, -} - -class facebook::react::jsinspector_modern::RuntimeTargetDelegate { - public virtual bool supportsConsole() const = 0; - public virtual facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile collectSamplingProfile() = 0; - public virtual std::optional serializeStackTrace(const facebook::react::jsinspector_modern::StackTrace& stackTrace) = 0; - public virtual std::unique_ptr createAgentDelegate(facebook::react::jsinspector_modern::FrontendChannel channel, facebook::react::jsinspector_modern::SessionState& sessionState, std::unique_ptr previouslyExportedState, const facebook::react::jsinspector_modern::ExecutionContextDescription& executionContextDescription, facebook::react::RuntimeExecutor runtimeExecutor) = 0; - public virtual std::unique_ptr captureStackTrace(facebook::jsi::Runtime& runtime, size_t framesToSkip = 0) = 0; - public virtual void addConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::ConsoleMessage message) = 0; - public virtual void disableSamplingProfiler() = 0; - public virtual void enableSamplingProfiler() = 0; - public virtual ~RuntimeTargetDelegate() = default; -} - -class facebook::react::jsinspector_modern::RuntimeTracingAgent : public facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - public RuntimeTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state, facebook::react::jsinspector_modern::RuntimeTargetController& targetController); - public ~RuntimeTracingAgent(); -} - -class facebook::react::jsinspector_modern::StackTrace { - public StackTrace() = default; - public StackTrace(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public StackTrace(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(const facebook::react::jsinspector_modern::StackTrace&) = delete; - public facebook::react::jsinspector_modern::StackTrace& operator=(facebook::react::jsinspector_modern::StackTrace&&) = delete; - public static std::unique_ptr empty(); - public virtual ~StackTrace() = default; -} - -class facebook::react::jsinspector_modern::TracingAgent { - public TracingAgent(facebook::react::jsinspector_modern::FrontendChannel frontendChannel, facebook::react::jsinspector_modern::SessionState& sessionState, facebook::react::jsinspector_modern::HostTargetController& hostTargetController); - public bool handleRequest(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& req); - public ~TracingAgent(); -} - -enum facebook::react::jsinspector_modern::ConsoleAPIType { - kAssert, - kClear, - kCount, - kDebug, - kDir, - kDirXML, - kEndGroup, - kError, - kInfo, - kLog, - kStartGroup, - kStartGroupCollapsed, - kTable, - kTimeEnd, - kTrace, - kWarning, -} - -enum facebook::react::jsinspector_modern::HostCommand { - DebuggerResume, - DebuggerStepOver, -} - -struct facebook::react::jsinspector_modern::ConsoleMessage { - public ConsoleMessage(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public ConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args, std::unique_ptr stackTrace = facebook::react::jsinspector_modern::StackTrace::empty()); - public ConsoleMessage(facebook::jsi::Runtime& runtime, facebook::react::jsinspector_modern::SimpleConsoleMessage message); - public ConsoleMessage(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(const facebook::react::jsinspector_modern::ConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::ConsoleMessage& operator=(facebook::react::jsinspector_modern::ConsoleMessage&& other) noexcept = default; - public std::unique_ptr stackTrace; - public std::vector args; - public ~ConsoleMessage() = default; -} - -struct facebook::react::jsinspector_modern::ExecutionContextDescription { - public int32_t id; - public std::optional uniqueId; - public std::string name; - public std::string origin; -} - -struct facebook::react::jsinspector_modern::GetResponseBodyResult { - public bool base64Encoded; - public folly::dynamic toDynamic() const; - public std::string body; -} - -struct facebook::react::jsinspector_modern::HostTargetMetadata { - public std::optional appDisplayName; - public std::optional appIdentifier; - public std::optional deviceName; - public std::optional integrationName; - public std::optional platform; - public std::optional reactNativeVersion; +template +struct facebook::react::CascadedRectangleCorners { + public bool operator==(const facebook::react::CascadedRectangleCorners& rhs) const = default; + public facebook::react::CascadedRectangleCorners::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleCorners::OptionalT all; + public facebook::react::CascadedRectangleCorners::OptionalT bottomEnd; + public facebook::react::CascadedRectangleCorners::OptionalT bottomLeft; + public facebook::react::CascadedRectangleCorners::OptionalT bottomRight; + public facebook::react::CascadedRectangleCorners::OptionalT bottomStart; + public facebook::react::CascadedRectangleCorners::OptionalT endEnd; + public facebook::react::CascadedRectangleCorners::OptionalT endStart; + public facebook::react::CascadedRectangleCorners::OptionalT startEnd; + public facebook::react::CascadedRectangleCorners::OptionalT startStart; + public facebook::react::CascadedRectangleCorners::OptionalT topEnd; + public facebook::react::CascadedRectangleCorners::OptionalT topLeft; + public facebook::react::CascadedRectangleCorners::OptionalT topRight; + public facebook::react::CascadedRectangleCorners::OptionalT topStart; + public using Counterpart = facebook::react::RectangleCorners; + public using OptionalT = std::optional; } -struct facebook::react::jsinspector_modern::IOReadResult { - public bool base64Encoded; - public bool eof; - public folly::dynamic toDynamic() const; - public std::string data; +template +struct facebook::react::CascadedRectangleEdges { + public bool operator==(const facebook::react::CascadedRectangleEdges& rhs) const = default; + public facebook::react::CascadedRectangleEdges::Counterpart resolve(bool isRTL, T defaults) const; + public facebook::react::CascadedRectangleEdges::OptionalT all; + public facebook::react::CascadedRectangleEdges::OptionalT block; + public facebook::react::CascadedRectangleEdges::OptionalT blockEnd; + public facebook::react::CascadedRectangleEdges::OptionalT blockStart; + public facebook::react::CascadedRectangleEdges::OptionalT bottom; + public facebook::react::CascadedRectangleEdges::OptionalT end; + public facebook::react::CascadedRectangleEdges::OptionalT horizontal; + public facebook::react::CascadedRectangleEdges::OptionalT left; + public facebook::react::CascadedRectangleEdges::OptionalT right; + public facebook::react::CascadedRectangleEdges::OptionalT start; + public facebook::react::CascadedRectangleEdges::OptionalT top; + public facebook::react::CascadedRectangleEdges::OptionalT vertical; + public using Counterpart = facebook::react::RectangleEdges; + public using OptionalT = std::optional; } -struct facebook::react::jsinspector_modern::InspectorPageDescription { - public const facebook::react::jsinspector_modern::InspectorTargetCapabilities capabilities; - public const int id; - public const std::string description; - public const std::string vm; +template +struct facebook::react::RectangleCorners { + public T bottomLeft; + public T bottomRight; + public T topLeft; + public T topRight; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleCorners& rhs) const noexcept = default; } -struct facebook::react::jsinspector_modern::InspectorSystemState { - public int registeredHostsCount; +template +struct facebook::react::RectangleEdges { + public T bottom; + public T left; + public T right; + public T top; + public bool isUniform() const noexcept; + public bool operator==(const facebook::react::RectangleEdges& rhs) const noexcept = default; + public static const facebook::react::RectangleEdges ZERO; } -struct facebook::react::jsinspector_modern::InspectorTargetCapabilities { - public bool nativePageReloads; - public bool nativeSourceCodeFetching; +template +class facebook::react::AsyncCallback { + public AsyncCallback(facebook::jsi::Runtime& runtime, facebook::jsi::Function function, std::shared_ptr jsInvoker); + public void call(Args... args) const noexcept; + public void call(std::function&& callImpl) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, Args... args) const noexcept; + public void callWithPriority(facebook::react::SchedulerPriority priority, std::function&& callImpl) const noexcept; + public void operator()(Args... args) const noexcept; } -struct facebook::react::jsinspector_modern::LoadNetworkResourceRequest { - public std::string url; +template +class facebook::react::AsyncEventEmitter : public facebook::react::IAsyncEventEmitter { + public AsyncEventEmitter(); + public AsyncEventEmitter(const facebook::react::AsyncEventEmitter&) = delete; + public AsyncEventEmitter(facebook::react::AsyncEventEmitter&&) noexcept = default; + public facebook::react::AsyncEventEmitter& operator=(const facebook::react::AsyncEventEmitter&) = delete; + public facebook::react::AsyncEventEmitter& operator=(facebook::react::AsyncEventEmitter&&) noexcept = default; + public virtual facebook::jsi::Object get(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker) const override; + public void emit(Args... value); + public void emit(std::function&& converter); + public ~AsyncEventEmitter() override = default; } -struct facebook::react::jsinspector_modern::NetworkResource { - public bool success; - public folly::dynamic toDynamic() const; - public std::optional headers; - public std::optional netErrorName; - public std::optional stream; - public std::optional httpStatusCode; +template +class facebook::react::SharedFunction { + public SharedFunction(const facebook::react::SharedFunction& other) = default; + public SharedFunction(facebook::react::SharedFunction&& other) noexcept = default; + public SharedFunction(std::function&& function = nullptr); + public facebook::react::SharedFunction& operator=(const facebook::react::SharedFunction& other) = default; + public facebook::react::SharedFunction& operator=(facebook::react::SharedFunction&& other) noexcept = default; + public void assign(std::function function) const; + public void operator()(ArgumentT... args) const; } -struct facebook::react::jsinspector_modern::PerfIssuePayload { - public std::optional description; - public std::optional learnMoreUrl; - public std::optional severity; - public std::string name; +template +class facebook::react::AsyncPromise { + public AsyncPromise(facebook::jsi::Runtime& rt, const std::shared_ptr& jsInvoker); + public facebook::jsi::Object get(facebook::jsi::Runtime& rt) const; + public void reject(facebook::react::Error error); + public void resolve(T... value); } -struct facebook::react::jsinspector_modern::ReadStreamParams { - public facebook::react::jsinspector_modern::StreamID handle; - public std::optional offset; - public std::optional size; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const folly::dynamic& value); + public static folly::dynamic fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); } -struct facebook::react::jsinspector_modern::SessionState { - public bool hasPendingTraceRecording; - public bool isDebuggerDomainEnabled; - public bool isLogDomainEnabled; - public bool isNetworkDomainEnabled; - public bool isReactNativeApplicationDomainEnabled; - public bool isRuntimeDomainEnabled; - public facebook::react::jsinspector_modern::RuntimeAgent::ExportedState lastRuntimeAgentExportedState; - public std::unordered_map subscribedBindings; - public std::vector scriptsToEvaluateOnNewDocument; - public std::vector pendingSimpleConsoleMessages; - public unsigned int nextScriptToEvaluateOnNewDocumentId; +struct facebook::react::Bridging { + public static std::nullptr_t fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static std::nullptr_t toJs(facebook::jsi::Runtime&, std::nullptr_t); } -struct facebook::react::jsinspector_modern::SessionState::ScriptToEvaluateOnNewDocument { - public std::string identifier; - public std::string source; +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, const std::string& value); + public static std::string fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::String& value); } -struct facebook::react::jsinspector_modern::SimpleConsoleMessage { - public SimpleConsoleMessage(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public SimpleConsoleMessage(double timestamp, facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::ConsoleAPIType type, std::vector args); - public SimpleConsoleMessage(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public double timestamp; - public facebook::react::jsinspector_modern::ConsoleAPIType type; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(const facebook::react::jsinspector_modern::SimpleConsoleMessage& other) = delete; - public facebook::react::jsinspector_modern::SimpleConsoleMessage& operator=(facebook::react::jsinspector_modern::SimpleConsoleMessage&& other) noexcept = default; - public std::vector args; - public ~SimpleConsoleMessage() = default; +struct facebook::react::Bridging { + public static facebook::jsi::String toJs(facebook::jsi::Runtime& rt, std::string_view value); } -template -class facebook::react::jsinspector_modern::EnumArray { - public constexpr ValueType& operator[](IndexType i); - public constexpr const ValueType& operator[](IndexType i) const; - public constexpr int size() const; +template +struct facebook::react::Bridging> { + public static constexpr size_t kArgumentCount; + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, facebook::react::Bridging>::Func fn, const std::shared_ptr& jsInvoker); + public using Func = std::function; + public using IndexSequence = std::index_sequence_for; } -template -struct facebook::react::jsinspector_modern::UniqueMonostate { - public constexpr bool operator<(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator<=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator==(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; - public constexpr bool operator>=(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, 2> { + public static std::pair fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -template -class facebook::react::jsinspector_modern::EnableExecutorFromThis : public std::enable_shared_from_this { - public facebook::react::jsinspector_modern::ScopedExecutor executorFromThis(); - public void setExecutor(facebook::react::jsinspector_modern::VoidExecutor executor); - template - public void setExecutor(facebook::react::jsinspector_modern::ScopedExecutor executor); +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, N> { + public static std::array fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } template -class facebook::react::jsinspector_modern::WeakList { - public bool empty() const; - public size_t size() const; - public void insert(std::weak_ptr ptr); - template - public bool anyOf(Fn&& fn) const; - template - public bool anyOf(Fn&& fn); - template - public void forEach(Fn&& fn) const; - template - public void forEach(Fn&& fn); -} - - -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN; -constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized; -using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector; -using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant; -using facebook::react::jsinspector_modern::tracing::FrameSequenceId = uint64_t; -using facebook::react::jsinspector_modern::tracing::Headers = std::map; -using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t; -using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t; -using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t; -int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration); -std::optional facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str); -std::optional facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue); -std::set facebook::react::jsinspector_modern::tracing::parseSerializedTracingCategories(const std::string& serializedCategories); -std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorToString(facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor color); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories); -std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set& categories); -std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category); -uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp); - -class facebook::react::jsinspector_modern::tracing::HermesRuntimeSamplingProfileSerializer { - public static facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile serializeToTracingSamplingProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer { - public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize); - public static void emitFrameTimings(std::vector&& frameTimings, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::HighResTimeStamp recordingStartTimestamp, const std::function& chunkCallback, size_t maxChunkBytes); - public static void emitPerformanceTraceEvents(std::vector&& events, const std::function& chunkCallback, size_t maxChunkBytes); -} - -class facebook::react::jsinspector_modern::tracing::PerformanceTracer { - public bool isTracing() const; - public bool startTracing(); - public bool startTracing(facebook::react::HighResDuration maxDuration); - public static facebook::react::jsinspector_modern::tracing::PerformanceTracer& getInstance(); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileChunkTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ProcessId threadId, facebook::react::HighResTimeStamp chunkTimestamp, facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& traceEventProfileChunk); - public static facebook::react::jsinspector_modern::tracing::TraceEvent constructRuntimeProfileTraceEvent(facebook::react::jsinspector_modern::tracing::RuntimeProfileId profileId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp profileTimestamp); - public std::optional> stopTracing(); - public uint32_t subscribeToTracingStateChanges(facebook::react::jsinspector_modern::tracing::PerformanceTracer::TracingStateCallback callback); - public using TracingStateCallback = std::function; - public void reportEventLoopMicrotasks(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportEventLoopTask(facebook::react::HighResTimeStamp start, facebook::react::HighResTimeStamp end); - public void reportMark(const std::string& name, facebook::react::HighResTimeStamp start, folly::dynamic&& detail = nullptr); - public void reportMeasure(const std::string& name, facebook::react::HighResTimeStamp start, facebook::react::HighResDuration duration, folly::dynamic&& detail = nullptr, std::optional stackTrace = nullptr); - public void reportResourceFinish(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength, int decodedBodyLength); - public void reportResourceReceiveResponse(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int statusCode, const facebook::react::jsinspector_modern::tracing::Headers& headers, int encodedDataLength, folly::dynamic timingData); - public void reportResourceReceivedData(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, int encodedDataLength); - public void reportResourceSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start, const std::string& url, const std::string& requestMethod, const facebook::react::jsinspector_modern::tracing::Headers& headers); - public void reportResourceWillSendRequest(const std::string& devtoolsRequestId, facebook::react::HighResTimeStamp start); - public void reportTimeStamp(const std::string& name, std::optional start = std::nullopt, std::optional end = std::nullopt, std::optional trackName = std::nullopt, std::optional trackGroup = std::nullopt, std::optional color = std::nullopt, std::optional detail = std::nullopt, std::optional stackTrace = std::nullopt); - public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId); -} - -class facebook::react::jsinspector_modern::tracing::ProfileTreeNode { - public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT); - public bool hasParent() const; - public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const; - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame); - public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const; - public static constexpr uint32_t NO_PARENT; - public uint32_t getId() const; - public uint32_t getParentId() const; -} - -enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType { - JavaScript, - Other, -} - -class facebook::react::jsinspector_modern::tracing::RawHermesRuntimeProfile : public facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public RawHermesRuntimeProfile(hermes::sampling_profiler::Profile hermesProfile); -} - -class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile { - public virtual ~RawRuntimeProfile() = default; -} - -class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer { - public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); - public static void serializeAndDispatch(std::vector&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK); -} - -class facebook::react::jsinspector_modern::tracing::TargetTracingAgent { - protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_; - public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state); - public bool isRunningInBackgroundMode(); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventGenerator { - public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); - public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp); - public static std::pair createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId); -} - -class facebook::react::jsinspector_modern::tracing::TraceEventSerializer { - public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event); - public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk); - public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile); - public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node); - public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame); - public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas); - public static size_t estimateJsonSize(const folly::dynamic& value); -} - -enum facebook::react::jsinspector_modern::tracing::Category { - Frame, - HiddenTimeline, - JavaScriptSampling, - RuntimeExecution, - Screenshot, - Timeline, - UserTiming, -} - -enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor { - Error, - Primary, - PrimaryDark, - PrimaryLight, - Secondary, - SecondaryDark, - SecondaryLight, - Tertiary, - TertiaryDark, - TertiaryLight, - Warning, -} - -enum facebook::react::jsinspector_modern::tracing::EventLoopPhase { - Microtasks, - Task, -} - -enum facebook::react::jsinspector_modern::tracing::Mode { - Background, - CDP, -} - -struct facebook::react::jsinspector_modern::tracing::EventLoopReporter { - public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase); - public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete; - public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete; - public ~EventLoopReporter(); -} - -struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence { - public FrameTimingSequence() = delete; - public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero()); - public facebook::react::HighResDuration vsyncInterval; - public facebook::react::HighResTimeStamp beginTimestamp; - public facebook::react::HighResTimeStamp endTimestamp; - public facebook::react::jsinspector_modern::tracing::FrameSequenceId id; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::optional> screenshot; -} - -struct facebook::react::jsinspector_modern::tracing::HostTracingProfile { - public HostTracingProfile() = default; - public HostTracingProfile(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public HostTracingProfile(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::HighResTimeStamp startTime; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(const facebook::react::jsinspector_modern::tracing::HostTracingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::HostTracingProfile& operator=(facebook::react::jsinspector_modern::tracing::HostTracingProfile&&) = default; - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public std::vector frameTimings; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~HostTracingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::IdGenerator { - public uint32_t getNext(); -} - -struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile { - public std::vector performanceTraceEvents; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile { - public RuntimeSamplingProfile(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public RuntimeSamplingProfile(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public RuntimeSamplingProfile(std::string runtimeName, facebook::react::jsinspector_modern::tracing::ProcessId processId, std::vector samples, std::unique_ptr rawRuntimeProfile); - public facebook::react::jsinspector_modern::tracing::ProcessId processId; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&&) = default; - public std::string runtimeName; - public std::unique_ptr rawRuntimeProfile; - public std::vector samples; - public ~RuntimeSamplingProfile() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample { - public Sample(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public Sample(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public Sample(uint64_t timestamp, facebook::react::jsinspector_modern::tracing::ThreadId threadId, std::vector callStack); - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&) = delete; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample& operator=(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::Sample&&) = default; - public facebook::react::jsinspector_modern::tracing::ThreadId threadId; - public std::vector callStack; - public uint64_t timestamp; - public ~Sample() = default; -} - -struct facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame { - public bool operator==(const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& rhs) const noexcept = default; - public facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind kind; - public std::optional scriptURL; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string_view functionName; - public uint32_t scriptId; -} - -enum facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame::Kind { - GarbageCollector, - HostFunction, - JSFunction, - NativeFunction, -} - -struct facebook::react::jsinspector_modern::tracing::TraceEvent { - public char ph; - public facebook::react::HighResTimeStamp ts; - public facebook::react::jsinspector_modern::tracing::Categories cat; - public facebook::react::jsinspector_modern::tracing::ProcessId pid; - public facebook::react::jsinspector_modern::tracing::ThreadId tid; - public folly::dynamic args; - public std::optional s; - public std::optional dur; - public std::optional id; - public std::string name; +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile cpuProfile; - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas timeDeltas; - public using TimeDeltas = std::vector; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile { - public std::vector nodes; - public std::vector samples; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node { - public facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame callFrame; - public std::optional parentId; - public uint32_t id; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); + public static std::optional fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value, const std::shared_ptr& jsInvoker); + template + public static std::optional fromJs(facebook::jsi::Runtime& rt, const std::optional& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame { - public std::optional url; - public std::optional columnNumber; - public std::optional lineNumber; - public std::string codeType; - public std::string functionName; - public uint32_t scriptId; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::set fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::tracing::TraceRecordingState { - public TraceRecordingState(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::Mode tracingMode, std::set enabledCategories, std::optional windowSize = std::nullopt); - public TraceRecordingState(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public facebook::react::jsinspector_modern::tracing::Mode mode; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(const facebook::react::jsinspector_modern::tracing::TraceRecordingState&) = delete; - public facebook::react::jsinspector_modern::tracing::TraceRecordingState& operator=(facebook::react::jsinspector_modern::tracing::TraceRecordingState&&) = default; - public std::optional windowSize; - public std::set enabledCategories; - public std::vector instanceTracingProfiles; - public std::vector runtimeSamplingProfiles; - public ~TraceRecordingState() = default; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::unique_ptr& ptr, const std::shared_ptr& jsInvoker); } template -class facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer { - public TimeWindowedBuffer(); - public TimeWindowedBuffer(facebook::react::jsinspector_modern::tracing::TimeWindowedBuffer::TimestampAccessor timestampAccessor, facebook::react::HighResDuration windowSize); - public std::vector pruneExpiredAndExtract(facebook::react::HighResTimeStamp windowRightBoundary = facebook::react::HighResTimeStamp::now()); - public using TimestampAccessor = std::function; - public void clear(); - public void push(T&& element); - public void push(const T& element); +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingDynamic> { + public static std::vector fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Array& array, const std::shared_ptr& jsInvoker); } -template -class facebook::react::jsinspector_modern::tracing::PerformanceTracerSection { - public PerformanceTracerSection(const char* name, const char* track = nullptr, const char* trackGroup = nullptr, const char* color = nullptr, Args... args) noexcept; - public PerformanceTracerSection(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public PerformanceTracerSection(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(const facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&) = delete; - public facebook::react::jsinspector_modern::tracing::PerformanceTracerSection& operator=(facebook::react::jsinspector_modern::tracing::PerformanceTracerSection&&) = delete; - public ~PerformanceTracerSection() noexcept; -} - - -using facebook::react::jsinspector_modern::cdp::ParseError = folly::json::parse_error; -using facebook::react::jsinspector_modern::cdp::RequestId = long long; -using facebook::react::jsinspector_modern::cdp::TypeError = folly::TypeError; -facebook::react::jsinspector_modern::cdp::PreparsedRequest facebook::react::jsinspector_modern::cdp::preparse(std::string_view message); -std::string facebook::react::jsinspector_modern::cdp::jsonError(std::optional id, facebook::react::jsinspector_modern::cdp::ErrorCode code, std::optional message = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonNotification(const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonRequest(facebook::react::jsinspector_modern::cdp::RequestId id, const std::string& method, std::optional params = std::nullopt); -std::string facebook::react::jsinspector_modern::cdp::jsonResult(facebook::react::jsinspector_modern::cdp::RequestId id, const folly::dynamic& result = folly::dynamic::object()); - -enum facebook::react::jsinspector_modern::cdp::ErrorCode { - InternalError, - InvalidParams, - InvalidRequest, - MethodNotFound, - ParseError, -} - -struct facebook::react::jsinspector_modern::cdp::PreparsedRequest { - public bool operator==(const facebook::react::jsinspector_modern::cdp::PreparsedRequest& rhs) const; - public facebook::react::jsinspector_modern::cdp::RequestId id; - public folly::dynamic params; - public std::string method; - public std::string toJson() const; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::weak_ptr& weakPtr, const std::shared_ptr& jsInvoker); } - -using facebook::react::jsinspector_modern::cdp::network::Headers = std::map; -std::string facebook::react::jsinspector_modern::cdp::network::resourceTypeFromMimeType(const std::string& mimeType); - -struct facebook::react::jsinspector_modern::cdp::network::ConnectTiming { - public double requestTime; +template +struct facebook::react::Bridging> : public facebook::react::array_detail::BridgingStatic, sizeof...(Types)> { } -struct facebook::react::jsinspector_modern::cdp::network::DataReceivedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int dataLength; - public int encodedDataLength; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::ArrayBuffer fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& obj); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::ArrayBuffer buf); } -struct facebook::react::jsinspector_modern::cdp::network::LoadingFailedParams { - public bool canceled; - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string errorText; - public std::string requestId; - public std::string type; +struct facebook::react::Bridging { + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& value); + public static facebook::jsi::JSError fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Value&& value); + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, std::string message); } -struct facebook::react::jsinspector_modern::cdp::network::LoadingFinishedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::jsi::WeakObject& value); + public static facebook::jsi::WeakObject fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -struct facebook::react::jsinspector_modern::cdp::network::Request { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::optional postData; - public std::string method; - public std::string url; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentExtraInfoParams { - public facebook::react::jsinspector_modern::cdp::network::ConnectTiming connectTiming; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::RequestWillBeSentParams { - public bool redirectHasExtraInfo; - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Request request; - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::optional redirectResponse; - public std::string documentURL; - public std::string loaderId; - public std::string requestId; -} - -struct facebook::react::jsinspector_modern::cdp::network::Response { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public int encodedDataLength; - public static facebook::react::jsinspector_modern::cdp::network::Response fromInputParams(const std::string& url, uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers, int encodedDataLength); - public std::string mimeType; - public std::string statusText; - public std::string url; - public uint16_t status; -} - -struct facebook::react::jsinspector_modern::cdp::network::ResponseReceivedParams { - public bool hasExtraInfo; - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::Response response; - public folly::dynamic toDynamic() const; - public std::string loaderId; - public std::string requestId; - public std::string type; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::AsyncArrayBuffer buffer); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketClosedParams { - public double timestamp; - public folly::dynamic toDynamic() const; - public std::string requestId; +struct facebook::react::Bridging { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const facebook::react::Error& error); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketCreatedParams { - public folly::dynamic initiator; - public folly::dynamic toDynamic() const; - public std::string requestId; - public std::string url; +struct facebook::react::Bridging { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::EventSubscription& eventSubscription, const std::shared_ptr& jsInvoker); + public static facebook::react::EventSubscription fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrame { - public bool mask; - public folly::dynamic toDynamic() const; - public int opcode; - public std::string payloadData; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResDuration& value); + public static facebook::react::HighResDuration fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketFrameParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketFrame response; - public folly::dynamic toDynamic() const; - public std::string requestId; +struct facebook::react::Bridging { + public static double toJs(facebook::jsi::Runtime&, const facebook::react::HighResTimeStamp& value); + public static facebook::react::HighResTimeStamp fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& jsiValue); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketHandshakeResponseReceivedParams { - public double timestamp; - public facebook::react::jsinspector_modern::cdp::network::WebSocketResponse response; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::SyncCallback& value); + public static facebook::react::SyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketResponse { - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public static facebook::react::jsinspector_modern::cdp::network::WebSocketResponse fromInputParams(uint16_t status, const facebook::react::jsinspector_modern::cdp::network::Headers& headers); - public std::string statusText; - public uint16_t status; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Function toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncCallback& value); + public static facebook::react::AsyncCallback fromJs(facebook::jsi::Runtime& rt, facebook::jsi::Function&& value, const std::shared_ptr& jsInvoker); } -struct facebook::react::jsinspector_modern::cdp::network::WebSocketWillSendHandshakeRequestParams { - public double timestamp; - public double wallTime; - public facebook::react::jsinspector_modern::cdp::network::Headers headers; - public folly::dynamic toDynamic() const; - public std::string requestId; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncEventEmitter& eventEmitter, const std::shared_ptr& jsInvoker); } - -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINED_BY; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_CONTAINS; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_DISCONNECTED; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_FOLLOWING; -constexpr uint_fast16_t facebook::react::dom::DOCUMENT_POSITION_PRECEDING; -bool facebook::react::dom::isConnected(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMBorderWidthRounded facebook::react::dom::getBorderWidth(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMOffset facebook::react::dom::getOffset(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMPoint facebook::react::dom::getScrollPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMRect facebook::react::dom::getBoundingClientRect(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, bool includeTransform); -facebook::react::dom::DOMRect facebook::react::dom::measureInWindow(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getInnerSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::DOMSizeRounded facebook::react::dom::getScrollSize(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -facebook::react::dom::RNMeasureRect facebook::react::dom::measure(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::optional facebook::react::dom::measureLayout(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& relativeToShadowNode); -std::shared_ptr facebook::react::dom::getElementById(const std::shared_ptr& currentRevision, const std::string& id); -std::shared_ptr facebook::react::dom::getParentNode(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTagName(const facebook::react::ShadowNode& shadowNode); -std::string facebook::react::dom::getTextContent(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -std::vector> facebook::react::dom::getChildNodes(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode); -uint_fast16_t facebook::react::dom::compareDocumentPosition(const facebook::react::RootShadowNode::Shared& currentRevision, const facebook::react::ShadowNode& shadowNode, const facebook::react::ShadowNode& otherShadowNode); - -struct facebook::react::dom::DOMBorderWidthRounded { - public int bottom; - public int left; - public int right; - public int top; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -struct facebook::react::dom::DOMOffset { - public double left; - public double top; - public std::shared_ptr offsetParent; +template +struct facebook::react::Bridging> : public facebook::react::map_detail::Bridging> { } -struct facebook::react::dom::DOMPoint { - public double x; - public double y; +template +struct facebook::react::Bridging> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const facebook::react::AsyncPromise& promise); } -struct facebook::react::dom::DOMRect { - public double height; - public double width; - public double x; - public double y; +template +struct facebook::react::Bridging, std::enable_if_t, std::function>>> : public facebook::react::Bridging> { } -struct facebook::react::dom::DOMSizeRounded { - public int height; - public int width; +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, const std::shared_ptr& ptr, const std::shared_ptr& jsInvoker); } -struct facebook::react::dom::RNMeasureRect { - public double height; - public double pageX; - public double pageY; - public double width; - public double x; - public double y; +template +struct facebook::react::Bridging, std::enable_if_t>> { + public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, std::shared_ptr value); + public static std::shared_ptr fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value); } -static constexpr facebook::react::Tag facebook::react::animated::undefinedAnimatedNodeIdentifier; +bool facebook::react::HostPlatformViewTraitsInitializer::formsStackingContext(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::formsView(const facebook::react::ViewProps& props); +bool facebook::react::HostPlatformViewTraitsInitializer::isKeyboardFocusable(const facebook::react::ViewProps&); template @@ -8874,6 +2703,16 @@ struct facebook::react::array_detail::BridgingDynamic { } +template +C facebook::react::detail::memberFunctionClass(T C::*); + +class facebook::react::detail::OwnedBytesBuffer : public facebook::jsi::MutableBuffer { + public OwnedBytesBuffer(std::vector bytes) noexcept; + public virtual size_t size() const override; + public virtual uint8_t* data() override; +} + + template struct facebook::react::map_detail::Bridging { public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr& jsInvoker); @@ -8881,109 +2720,6 @@ struct facebook::react::map_detail::Bridging { } -uint64_t facebook::react::oscompat::getCurrentProcessId(); -uint64_t facebook::react::oscompat::getCurrentThreadId(); - - -using facebook::react::ReactMarker::LogTaggedMarker = std::function; -using facebook::react::ReactMarker::LogTaggedMarkerBridgeless = facebook::react::ReactMarker::LogTaggedMarker; -void facebook::react::ReactMarker::logMarker(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId); -void facebook::react::ReactMarker::logMarkerDone(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); -void facebook::react::ReactMarker::logTaggedMarker(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -void facebook::react::ReactMarker::logTaggedMarkerBridgeless(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag); -facebook::react::ReactMarker::AtomicLogTaggedMarker facebook::react::ReactMarker::logTaggedMarkerImpl; - -class facebook::react::ReactMarker::StartupLogger { - public double getAppStartupEndTime(); - public double getAppStartupStartTime(); - public double getInitReactRuntimeStartTime(); - public double getRunJSBundleStartTime(); - public static facebook::react::ReactMarker::StartupLogger& getInstance(); - public void logStartupEvent(facebook::react::ReactMarker::ReactMarkerId markerId, double markerTime); - public void reset(); -} - -enum facebook::react::ReactMarker::ReactMarkerId { - APP_STARTUP_START, - APP_STARTUP_STOP, - CREATE_REACT_CONTEXT_STOP, - INIT_REACT_RUNTIME_START, - INIT_REACT_RUNTIME_STOP, - JS_BUNDLE_STRING_CONVERT_START, - JS_BUNDLE_STRING_CONVERT_STOP, - NATIVE_MODULE_SETUP_START, - NATIVE_MODULE_SETUP_STOP, - NATIVE_REQUIRE_START, - NATIVE_REQUIRE_STOP, - REACT_INSTANCE_INIT_START, - REACT_INSTANCE_INIT_STOP, - REGISTER_JS_SEGMENT_START, - REGISTER_JS_SEGMENT_STOP, - RUN_JS_BUNDLE_START, - RUN_JS_BUNDLE_STOP, -} - -struct facebook::react::ReactMarker::AtomicLogTaggedMarker { - public facebook::react::ReactMarker::AtomicLogTaggedMarker& operator=(facebook::react::ReactMarker::LogTaggedMarker marker); - public operator bool() const noexcept; - public void operator()(facebook::react::ReactMarker::ReactMarkerId markerId, const char* tag) const; -} - -struct facebook::react::ReactMarker::ReactMarkerEvent { - public const char* tag; - public const facebook::react::ReactMarker::ReactMarkerId markerId; - public double time; -} - - -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallBatchPreprocessStart(); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallDispatch(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionArgConversionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionEnd(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionFail(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallExecutionStart(const char* moduleName, const char* methodName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::asyncMethodCallStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::disableLogging(); -void facebook::react::BridgeNativeModulePerfLogger::enableLogging(std::unique_ptr&& logger); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateCacheHit(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateConstructStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateFail(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateSetUpStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateEnd(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleDataCreateStart(const char* moduleName, int32_t id); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningCacheHit(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireBeginningStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingEnd(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingFail(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::moduleJSRequireEndingStart(const char* moduleName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallArgConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallExecutionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallFail(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionEnd(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallReturnConversionStart(const char* moduleName, const char* methodName); -void facebook::react::BridgeNativeModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); - - -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); -void facebook::react::LegacyUIManagerConstantsProviderBinding::install(facebook::jsi::Runtime& runtime, const std::string& name, std::function&& provider); - - void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionEnd(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallArgConversionStart(const char* moduleName, const char* methodName); void facebook::react::TurboModulePerfLogger::asyncMethodCallBatchPreprocessEnd(int batchSize); @@ -9027,9 +2763,6 @@ void facebook::react::TurboModulePerfLogger::syncMethodCallReturnConversionStart void facebook::react::TurboModulePerfLogger::syncMethodCallStart(const char* moduleName, const char* methodName); -std::unique_ptr facebook::jsc::makeJSCRuntime(); - - using facebook::jsi::HostFunctionType = std::function; facebook::jsi::Value facebook::jsi::valueFromDynamic(facebook::jsi::Runtime& runtime, const folly::dynamic& dyn); folly::dynamic facebook::jsi::dynamicFromValue(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& value, const std::function& filterObjectKeys = nullptr); @@ -10803,18 +4536,6 @@ struct facebook::yoga::LayoutableChildren::Iterator { } -struct std::hash { - public size_t operator()(const facebook::react::AttributedString& attributedString) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::AttributedStringBox& attributedStringBox) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::EventAnimationDriverKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::LayoutConstraints& constraints) const; } @@ -10823,30 +4544,14 @@ struct std::hash { public size_t operator()(const facebook::react::LayoutMetrics& layoutMetrics) const; } -struct std::hash { - public size_t operator()(const facebook::react::LineMeasureCacheKey& key) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::ParagraphAttributes& attributes) const; -} - struct std::hash { public size_t operator()(const facebook::react::Point& point) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::PreparedTextCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Rect& rect) const noexcept; } -struct std::hash { - public size_t operator()(const facebook::react::ShadowView& shadowView) const; -} - struct std::hash { public size_t operator()(const facebook::react::SharedColor& color) const; } @@ -10855,18 +4560,6 @@ struct std::hash { public size_t operator()(const facebook::react::Size& size) const; } -struct std::hash { - public size_t operator()(const facebook::react::TextAttributes& textAttributes) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextEffectInfo& info) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::TextMeasureCacheKey& key) const; -} - struct std::hash { public size_t operator()(const facebook::react::Transform& transform) const; } @@ -10879,21 +4572,4 @@ struct std::hash> { template struct std::hash> { public size_t operator()(const facebook::react::RectangleEdges& edges) const noexcept; -} - -struct std::hash { - public size_t operator()(const facebook::react::AttributedString::Fragment& fragment) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ConsoleTaskId& id) const; -} - -struct std::hash { - public size_t operator()(const facebook::react::jsinspector_modern::ExecutionContextSelector& selector) const; -} - -template -struct std::hash> { - public size_t operator()(const facebook::react::jsinspector_modern::UniqueMonostate&) const noexcept; } \ No newline at end of file diff --git a/scripts/cxx-api/config.yml b/scripts/cxx-api/config.yml index 8256d3edd58b..b75ac02eb273 100644 --- a/scripts/cxx-api/config.yml +++ b/scripts/cxx-api/config.yml @@ -45,6 +45,10 @@ platforms: newarch: definitions: RCT_REMOVE_LEGACY_ARCH: 1 + frameworks: + visibility: + - public + - frameworks ReactAndroid: codegen: platform: android @@ -78,6 +82,10 @@ platforms: newarch: definitions: RCT_REMOVE_LEGACY_ARCH: 1 + frameworks: + visibility: + - public + - frameworks # ReactIOS? ReactApple: codegen: @@ -118,3 +126,7 @@ platforms: newarch: definitions: RCT_REMOVE_LEGACY_ARCH: 1 + frameworks: + visibility: + - public + - frameworks diff --git a/scripts/cxx-api/parser/__main__.py b/scripts/cxx-api/parser/__main__.py index 574b54d1bfa1..1b33d96affcf 100644 --- a/scripts/cxx-api/parser/__main__.py +++ b/scripts/cxx-api/parser/__main__.py @@ -22,9 +22,19 @@ from .config import ApiViewSnapshotConfig, parse_config_file from .doxygen import get_doxygen_bin, run_doxygen -from .main import build_snapshot +from .main import build_snapshot, make_location_filter from .path_utils import get_react_native_dir from .snapshot_diff import validate_snapshots +from .tiers import ( + classify_headers, + find_boundary_breaks, + HeaderGraph, + skipped_headers, + Tier, +) + +# Mirrors the fixed EXCLUDE_PATTERNS in .doxygen.config.template. +_TEMPLATE_EXCLUDE_PATTERNS = ["*/tests/*", "*/samples/*"] def run_command( @@ -96,6 +106,7 @@ def build_snapshot_for_view( input_filter: str = None, work_dir: str | None = None, exclude_symbols: list[str] | None = None, + skipped_files: set[str] | None = None, ) -> str: if verbose: print(f"[{api_view}] Generating API view") @@ -128,7 +139,9 @@ def build_snapshot_for_view( print(f"[{api_view}] Building snapshot") snapshot = build_snapshot( - os.path.join(work_dir, "xml"), exclude_symbols=exclude_symbols + os.path.join(work_dir, "xml"), + exclude_symbols=exclude_symbols, + location_filter=make_location_filter(skipped_files, react_native_dir), ) snapshot_string = snapshot.to_string() @@ -142,6 +155,106 @@ def build_snapshot_for_view( return snapshot_string +def _display_path(path: str, react_native_dir: str) -> str: + relative = os.path.relpath(path, react_native_dir) + return path if relative.startswith("..") else relative + + +def classify_views( + configs: list[ApiViewSnapshotConfig], + codegen_dirs: dict[str, str], +) -> list[tuple[list[ApiViewSnapshotConfig], HeaderGraph]]: + # Variants of a view differ only in preprocessor definitions, which the + # textual include scan ignores, so classify each distinct input set once. + groups: dict[tuple, list[ApiViewSnapshotConfig]] = {} + for config in configs: + codegen_dir = codegen_dirs.get(config.codegen_platform) + key = ( + tuple(config.inputs + ([codegen_dir] if codegen_dir else [])), + tuple(config.exclude_patterns), + ) + groups.setdefault(key, []).append(config) + + return [ + ( + view_configs, + classify_headers( + list(inputs), _TEMPLATE_EXCLUDE_PATTERNS + list(exclude_patterns) + ), + ) + for (inputs, exclude_patterns), view_configs in groups.items() + ] + + +def get_skipped_files_by_view( + view_graphs: list[tuple[list[ApiViewSnapshotConfig], HeaderGraph]], + react_native_dir: str, + verbose: bool, +) -> dict[str, set[str]]: + skipped_by_view: dict[str, set[str]] = {} + for view_configs, graph in view_graphs: + names_by_visibility: dict[frozenset[Tier], list[str]] = {} + for config in view_configs: + names_by_visibility.setdefault(config.visibility, []).append( + config.snapshot_name + ) + + for visibility, view_names in names_by_visibility.items(): + skipped = skipped_headers(graph, visibility) + if verbose: + _log_kept_headers( + view_names, graph, visibility, skipped, react_native_dir + ) + for view_name in view_names: + skipped_by_view[view_name] = skipped + return skipped_by_view + + +def _log_kept_headers( + view_names: list[str], + graph: HeaderGraph, + included_tiers: frozenset[Tier], + skipped: set[str], + react_native_dir: str, +) -> None: + kept = sorted( + path + for path, tier in graph.tiers.items() + if tier is not None and tier not in included_tiers and path not in skipped + ) + included = ", ".join(tier.name.lower() for tier in sorted(included_tiers)) + print( + f"[{', '.join(view_names)}] {len(kept)} header(s) outside the included " + f"tiers ({included}) kept because an included header reaches them" + ) + for path in kept: + print( + f" {graph.tiers[path].name.lower()} " + f"{_display_path(path, react_native_dir)}" + ) + + +def log_boundary_breaks( + view_graphs: list[tuple[list[ApiViewSnapshotConfig], HeaderGraph]], + react_native_dir: str, + enabled: bool, +) -> None: + if not enabled: + return + + for view_configs, graph in view_graphs: + label = ", ".join(config.snapshot_name for config in view_configs) + breaks = find_boundary_breaks(graph) + print(f"[{label}] {len(breaks)} tier boundary break(s)") + for boundary_break in breaks: + chain = [_display_path(p, react_native_dir) for p in boundary_break.chain] + print( + f" {boundary_break.source_tier.name.lower()} {chain[0]}" + + "".join(f"\n -> {p}" for p in chain[1:-1]) + + f"\n -> {boundary_break.target_tier.name.lower()} {chain[-1]}" + ) + + def build_snapshots( snapshot_configs: list[ApiViewSnapshotConfig], react_native_dir: str, @@ -151,6 +264,7 @@ def build_snapshots( view_filter: str | None = None, is_test: bool = False, keep_xml: bool = False, + log_breaks: bool = False, ) -> None: if not is_test: configs_to_build = [ @@ -177,6 +291,12 @@ def build_snapshots( label=platform, ) + view_graphs = classify_views(configs_to_build, codegen_dirs) + log_boundary_breaks(view_graphs, react_native_dir, log_breaks) + skipped_by_view = get_skipped_files_by_view( + view_graphs, react_native_dir, verbose + ) + with concurrent.futures.ThreadPoolExecutor() as executor: futures = {} for config in configs_to_build: @@ -195,6 +315,7 @@ def build_snapshots( input_filter=input_filter if config.input_filter else None, work_dir=work_dir, exclude_symbols=config.exclude_symbols, + skipped_files=skipped_by_view[config.snapshot_name], ) futures[future] = config.snapshot_name @@ -285,6 +406,11 @@ def main(): action="store_true", help="Keep the generated Doxygen XML files next to the .api output in a xml/ directory", ) + parser.add_argument( + "--log-boundary-breaks", + action="store_true", + help="Log headers whose includes cross the C++ stable API tier boundaries", + ) args = parser.parse_args() verbose = not args.validate @@ -343,6 +469,7 @@ def main(): view_filter=args.view, is_test=args.test, keep_xml=args.xml, + log_breaks=args.log_boundary_breaks, ) if args.validate: diff --git a/scripts/cxx-api/parser/config.py b/scripts/cxx-api/parser/config.py index 972d1556850e..0848282c9e32 100644 --- a/scripts/cxx-api/parser/config.py +++ b/scripts/cxx-api/parser/config.py @@ -15,6 +15,8 @@ import yaml +from .tiers import DEFAULT_TIERS, parse_tier, Tier + @dataclass class ApiViewVariant: @@ -22,6 +24,7 @@ class ApiViewVariant: name: str definitions: dict[str, str | int] = field(default_factory=dict) + visibility: frozenset[Tier] = DEFAULT_TIERS @dataclass @@ -39,6 +42,15 @@ class ApiViewSnapshotConfig: codegen_platform: str | None = None input_filter: bool = False exclude_symbols: list[str] = field(default_factory=list) + visibility: frozenset[Tier] = DEFAULT_TIERS + + +def _parse_visibility( + names: list[str] | None, default: frozenset[Tier] +) -> frozenset[Tier]: + if names is None: + return default + return frozenset(parse_tier(name) for name in names) def parse_config( @@ -51,6 +63,8 @@ def parse_config( The config must contain: - An optional top-level ``exclude_patterns`` list that is prepended to every platform's own ``exclude_patterns``. + - An optional top-level ``visibility`` list of C++ stable API tiers, + used by platforms that do not set their own. Defaults to ``[public]``. - A ``platforms`` mapping whose values are per-platform view configs. Args: @@ -62,6 +76,7 @@ def parse_config( """ global_exclude_patterns: list[str] = raw_config.get("exclude_patterns") or [] global_exclude_symbols: list[str] = raw_config.get("exclude_symbols") or [] + global_visibility = _parse_visibility(raw_config.get("visibility"), DEFAULT_TIERS) platforms: dict = raw_config.get("platforms") or {} snapshot_configs = [] @@ -95,12 +110,16 @@ def parse_config( merged_symbols.append(symbol) seen_symbols.add(symbol) exclude_symbols = merged_symbols + visibility = _parse_visibility(view_config.get("visibility"), global_visibility) raw_variants = view_config.get("variants") or {} variants = [ ApiViewVariant( name=variant_name, definitions=variant_config.get("definitions") or {}, + visibility=_parse_visibility( + variant_config.get("visibility"), visibility + ), ) for variant_name, variant_config in raw_variants.items() ] @@ -115,6 +134,7 @@ def parse_config( codegen_platform=codegen_platform, input_filter=input_filter, exclude_symbols=exclude_symbols, + visibility=visibility, ) ) else: @@ -130,6 +150,7 @@ def parse_config( codegen_platform=codegen_platform, input_filter=input_filter, exclude_symbols=exclude_symbols, + visibility=variant.visibility, ) ) diff --git a/scripts/cxx-api/parser/main.py b/scripts/cxx-api/parser/main.py index 946119b00c12..de872c78f4f1 100644 --- a/scripts/cxx-api/parser/main.py +++ b/scripts/cxx-api/parser/main.py @@ -12,6 +12,7 @@ import os import re from dataclasses import dataclass +from typing import Callable from doxmlparser import compound, index @@ -46,16 +47,62 @@ ) +LocationFilter = Callable[[object], bool] + + +def _skip_nothing(_location) -> bool: + return False + + +def make_location_filter( + skipped_files: set[str] | None, source_dir: str +) -> LocationFilter: + """ + Returns a predicate telling whether a Doxygen `location` element points + into one of `skipped_files`. Doxygen reports paths relative to the + directory it ran in, or absolute for inputs outside it. + """ + if not skipped_files: + return _skip_nothing + + skipped = {os.path.realpath(path) for path in skipped_files} + cache: dict[str, bool] = {} + + def is_skipped(location) -> bool: + if location is None or not location.file: + return False + if location.file not in cache: + path = os.path.realpath(os.path.join(source_dir, location.file)) + cache[location.file] = path in skipped + return cache[location.file] + + return is_skipped + + +def _is_skipped_compound(compound_object, location_filter: LocationFilter) -> bool: + # Namespaces are filtered per member in `_process_namespace_sections`. + return compound_object.kind != "namespace" and location_filter( + compound_object.location + ) + + def _process_namespace_sections( - snapshot, namespace_scope, compound_object, exclude_symbols: list[re.Pattern] + snapshot, + namespace_scope, + compound_object, + exclude_symbols: list[re.Pattern], + location_filter: LocationFilter = _skip_nothing, ): """ Process all section definitions inside a namespace compound. """ compound_name = compound_object.compoundname for section_def in compound_object.sectiondef: + # A namespace merges members from every header that reopens it, so + # each member is filtered by where it is declared. + members = [m for m in section_def.memberdef if not location_filter(m.location)] if section_def.kind == "var": - for variable_def in section_def.memberdef: + for variable_def in members: # Skip out-of-class definitions (e.g. "Strct::VALUE") if has_scope_resolution_outside_angles(variable_def.get_name()): continue @@ -68,7 +115,7 @@ def _process_namespace_sections( continue namespace_scope.add_member(var_member) elif section_def.kind == "func": - for function_def in section_def.memberdef: + for function_def in members: # Skip out-of-class definitions (e.g. "Strct::convert") if has_scope_resolution_outside_angles(function_def.get_name()): continue @@ -85,7 +132,7 @@ def _process_namespace_sections( continue namespace_scope.add_member(func_member) elif section_def.kind == "typedef": - for typedef_def in section_def.memberdef: + for typedef_def in members: qualified_name = f"{compound_name}::{typedef_def.get_name()}" if _should_exclude_symbol(qualified_name, exclude_symbols): continue @@ -96,7 +143,7 @@ def _process_namespace_sections( continue namespace_scope.add_member(typedef_member) elif section_def.kind == "enum": - for enum_def in section_def.memberdef: + for enum_def in members: qualified_name = f"{compound_name}::{enum_def.get_name()}" if _should_exclude_symbol(qualified_name, exclude_symbols): continue @@ -107,7 +154,12 @@ def _process_namespace_sections( ) -def _handle_namespace_compound(snapshot, compound_object, exclude_symbols=None): +def _handle_namespace_compound( + snapshot, + compound_object, + exclude_symbols=None, + location_filter: LocationFilter = _skip_nothing, +): """ Handle a namespace compound definition. """ @@ -124,7 +176,7 @@ def _handle_namespace_compound(snapshot, compound_object, exclude_symbols=None): namespace_scope.location = compound_object.location.file _process_namespace_sections( - snapshot, namespace_scope, compound_object, exclude_symbols + snapshot, namespace_scope, compound_object, exclude_symbols, location_filter ) @@ -388,7 +440,11 @@ def find_excluded_symbol_references( return results -def build_snapshot(xml_dir: str, exclude_symbols: list[str] | None = None) -> Snapshot: +def build_snapshot( + xml_dir: str, + exclude_symbols: list[str] | None = None, + location_filter: LocationFilter = _skip_nothing, +) -> Snapshot: """ Reads the Doxygen XML output and builds a snapshot of the C++ API. @@ -396,6 +452,9 @@ def build_snapshot(xml_dir: str, exclude_symbols: list[str] | None = None) -> Sn xml_dir: Path to the Doxygen XML output directory. exclude_symbols: Optional list of regex patterns. Compounds whose qualified name matches any of these patterns will be excluded. + location_filter: Predicate over Doxygen `location` elements (see + `make_location_filter`). Entities declared at a skipped location + are left out of the snapshot. """ if exclude_symbols is None: exclude_symbols = [] @@ -421,7 +480,9 @@ def build_snapshot(xml_dir: str, exclude_symbols: list[str] | None = None) -> Sn if compound_object.prot == "private": continue - if _should_exclude_symbol(compound_object.compoundname, compiled_patterns): + if _should_exclude_symbol( + compound_object.compoundname, compiled_patterns + ) or _is_skipped_compound(compound_object, location_filter): continue kind = compound_object.kind @@ -431,7 +492,9 @@ def build_snapshot(xml_dir: str, exclude_symbols: list[str] | None = None) -> Sn elif kind in _COMPOUND_HANDLERS: handler = _COMPOUND_HANDLERS[kind] if handler == _handle_namespace_compound: - handler(snapshot, compound_object, compiled_patterns) + handler( + snapshot, compound_object, compiled_patterns, location_filter + ) elif handler == _handle_class_compound: handler(snapshot, compound_object, compiled_patterns) elif handler in ( diff --git a/scripts/cxx-api/parser/tiers.py b/scripts/cxx-api/parser/tiers.py new file mode 100644 index 000000000000..a69f9c29e312 --- /dev/null +++ b/scripts/cxx-api/parser/tiers.py @@ -0,0 +1,221 @@ +# 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. + +""" +Header tier classification for the C++ stable API visibility model. + +Each header declares its tier by including one of the guards from +`react/cxxstableapi/`. Headers without a guard are unclassified. +""" + +from __future__ import annotations + +import enum +import fnmatch +import os +import re +from collections import deque +from dataclasses import dataclass + + +class Tier(enum.IntEnum): + PRIVATE = 1 + FRAMEWORKS = 2 + PUBLIC = 3 + + +DEFAULT_TIERS: frozenset[Tier] = frozenset({Tier.PUBLIC}) + +_GUARD_TIERS = { + "Private": Tier.PRIVATE, + "Frameworks": Tier.FRAMEWORKS, + "Umbrella": Tier.PUBLIC, +} + +_GUARD_RE = re.compile( + r'^\s*#\s*include\s*[<"]react/cxxstableapi/(Private|Frameworks|Umbrella)Guard\.h[>"]', + re.MULTILINE, +) + +_INCLUDE_RE = re.compile( + r'^\s*#\s*(?:include|import)\s*([<"])([^>"]+)[>"]', + re.MULTILINE, +) + +_GUARD_DIR = os.sep + os.path.join("react", "cxxstableapi") + os.sep + + +@dataclass +class HeaderGraph: + # header path -> tier + tiers: dict[str, Tier | None] + # header path -> its direct includes + includes: dict[str, list[str]] + + +@dataclass(frozen=True) +class BoundaryBreak: + # From the declared header that starts the walk to the header it must not + # reach; everything in between is unclassified. + chain: tuple[str, ...] + source_tier: Tier + target_tier: Tier + + +def collect_headers(input_dirs: list[str], exclude_patterns: list[str]) -> list[str]: + """ + Walk the input directories for `*.h` files, skipping any whose absolute + path matches an exclude pattern (Doxygen `EXCLUDE_PATTERNS` semantics). + """ + headers = set() + for input_dir in input_dirs: + for dirpath, _, filenames in os.walk(input_dir): + for filename in filenames: + if not filename.endswith(".h"): + continue + path = os.path.abspath(os.path.join(dirpath, filename)) + if any(fnmatch.fnmatchcase(path, p) for p in exclude_patterns): + continue + headers.add(path) + return sorted(headers) + + +def _read_tier(content: str) -> Tier | None: + match = _GUARD_RE.search(content) + return _GUARD_TIERS[match.group(1)] if match else None + + +def _resolve_include( + includer: str, + delimiter: str, + includee: str, + headers: set[str], + by_basename: dict[str, list[str]], +) -> list[str]: + # #include "header.h" + if delimiter == '"': + sibling = os.path.normpath(os.path.join(os.path.dirname(includer), includee)) + # The compiler picks an existing sibling even when this view excludes + # it, so falling back to a same-named header elsewhere would be wrong. + if os.path.isfile(sibling): + return [sibling] if sibling in headers else [] + + # #include or fall through + suffix = os.sep + includee + return [ + path + for path in by_basename.get(os.path.basename(includee), []) + if path.endswith(suffix) + ] + + +def build_header_graph(headers: list[str]) -> HeaderGraph: + # The guard headers declare nothing, so every header that includes one + # would otherwise gain an edge into them. + headers = [path for path in headers if _GUARD_DIR not in path] + header_set = set(headers) + by_basename: dict[str, list[str]] = {} + for path in headers: + by_basename.setdefault(os.path.basename(path), []).append(path) + + tiers: dict[str, Tier | None] = {} + includes: dict[str, list[str]] = {} + for path in headers: + with open(path, encoding="utf-8", errors="replace") as f: + content = f.read() + tiers[path] = _read_tier(content) + resolved: list[str] = [] + for delimiter, includee in _INCLUDE_RE.findall(content): + for target in _resolve_include( + path, delimiter, includee, header_set, by_basename + ): + if target != path and target not in resolved: + resolved.append(target) + includes[path] = resolved + + return HeaderGraph(tiers=tiers, includes=includes) + + +def classify_headers(input_dirs: list[str], exclude_patterns: list[str]) -> HeaderGraph: + return build_header_graph(collect_headers(input_dirs, exclude_patterns)) + + +def find_boundary_breaks(graph: HeaderGraph) -> list[BoundaryBreak]: + """ + Find every declared public or frameworks header that reaches a less + visible declared header, directly or through unclassified headers. + + The walk stops at declared headers: whatever a declared header reaches is + reported from that header's own walk, so each break is reported once, at + the edge where visibility actually drops. + """ + breaks: list[BoundaryBreak] = [] + for source_tier in (Tier.PUBLIC, Tier.FRAMEWORKS): + sources = sorted( + path for path, tier in graph.tiers.items() if tier == source_tier + ) + for source in sources: + parents: dict[str, str | None] = {source: None} + queue = deque([source]) + + while queue: + node = queue.popleft() + for target in graph.includes.get(node, []): + if target in parents: + continue + parents[target] = node + target_tier = graph.tiers.get(target) + if target_tier is None: + queue.append(target) + elif target_tier < source_tier: + breaks.append( + BoundaryBreak( + chain=_chain_to(target, parents), + source_tier=source_tier, + target_tier=target_tier, + ) + ) + return breaks + + +def parse_tier(name: str) -> Tier: + try: + return Tier[name.upper()] + except KeyError: + valid = ", ".join(tier.name.lower() for tier in Tier) + raise ValueError(f"Unknown tier '{name}', expected one of: {valid}") from None + + +def skipped_headers( + graph: HeaderGraph, included_tiers: frozenset[Tier] = DEFAULT_TIERS +) -> set[str]: + """ + Classified headers outside `included_tiers` that no header in an included + tier reaches. A header reachable from an included one is effectively part + of that tier, whatever its guard says. + """ + reachable = {path for path, tier in graph.tiers.items() if tier in included_tiers} + queue = deque(reachable) + while queue: + node = queue.popleft() + for target in graph.includes.get(node, []): + if target not in reachable: + reachable.add(target) + queue.append(target) + + return { + path + for path, tier in graph.tiers.items() + if tier is not None and tier not in included_tiers and path not in reachable + } + + +def _chain_to(target: str, parents: dict[str, str | None]) -> tuple[str, ...]: + chain = [] + node: str | None = target + while node is not None: + chain.append(node) + node = parents[node] + return tuple(reversed(chain)) diff --git a/scripts/cxx-api/tests/test_config.py b/scripts/cxx-api/tests/test_config.py index 563963078192..4a6e5beb5c98 100644 --- a/scripts/cxx-api/tests/test_config.py +++ b/scripts/cxx-api/tests/test_config.py @@ -8,6 +8,7 @@ import unittest from ..parser.config import parse_config +from ..parser.tiers import Tier class TestParseConfig(unittest.TestCase): @@ -625,6 +626,76 @@ def test_per_platform_exclude_symbols_propagated_to_variants(self): for r in result: self.assertEqual(r.exclude_symbols, ["Fantom", "Android"]) + # ========================================================================= + # Visibility + # ========================================================================= + + def test_visibility_defaults_to_public(self): + """Missing visibility defaults to public only""" + result = parse_config({"platforms": {"TestView": {}}}, "/base/dir") + + self.assertEqual(result[0].visibility, frozenset({Tier.PUBLIC})) + + def test_per_platform_visibility_overrides_global(self): + """Per-platform visibility replaces the global one""" + config = { + "visibility": ["public", "frameworks"], + "platforms": { + "ViewA": {"visibility": ["private"]}, + "ViewB": {}, + }, + } + result = parse_config(config, "/base/dir") + + view_a = next(r for r in result if r.snapshot_name == "ViewA") + self.assertEqual(view_a.visibility, frozenset({Tier.PRIVATE})) + + view_b = next(r for r in result if r.snapshot_name == "ViewB") + self.assertEqual(view_b.visibility, frozenset({Tier.PUBLIC, Tier.FRAMEWORKS})) + + def test_visibility_propagated_to_variants(self): + """Visibility applies to every variant of a view""" + config = { + "platforms": { + "TestView": { + "visibility": ["public", "private"], + "variants": {"debug": {}, "release": {}}, + } + } + } + result = parse_config(config, "/base/dir") + + for r in result: + self.assertEqual(r.visibility, frozenset({Tier.PUBLIC, Tier.PRIVATE})) + + def test_variant_visibility_overrides_view(self): + """A variant's visibility replaces the view's for that variant only""" + config = { + "platforms": { + "TestView": { + "variants": { + "debug": {}, + "frameworks": {"visibility": ["public", "frameworks"]}, + }, + } + } + } + result = parse_config(config, "/base/dir") + + debug = next(r for r in result if r.snapshot_name == "TestViewDebug") + self.assertEqual(debug.visibility, frozenset({Tier.PUBLIC})) + + frameworks = next(r for r in result if r.snapshot_name == "TestViewFrameworks") + self.assertEqual( + frameworks.visibility, frozenset({Tier.PUBLIC, Tier.FRAMEWORKS}) + ) + + def test_unknown_visibility_rejected(self): + """An unknown tier name in visibility raises""" + config = {"platforms": {"TestView": {"visibility": ["internal"]}}} + with self.assertRaises(ValueError): + parse_config(config, "/base/dir") + # ========================================================================= # Variant naming # ========================================================================= diff --git a/scripts/cxx-api/tests/test_tier_filtering.py b/scripts/cxx-api/tests/test_tier_filtering.py new file mode 100644 index 000000000000..511edd560fb1 --- /dev/null +++ b/scripts/cxx-api/tests/test_tier_filtering.py @@ -0,0 +1,106 @@ +# 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. + +"""Tests for leaving entities declared in skipped headers out of a snapshot""" + +import importlib.resources as ir +import os +import subprocess +import tempfile +import unittest + +from ..parser import build_snapshot +from ..parser.main import make_location_filter + +PUBLIC_HEADER = """ +namespace ns { +class PublicClass {}; +void publicFunction(); +enum class PublicEnum { A }; +using PublicAlias = int; +extern int publicVariable; +} // namespace ns +""" + +PRIVATE_HEADER = """ +namespace ns { +class PrivateClass { + public: + class Nested {}; +}; +void privateFunction(); +enum class PrivateEnum { B }; +using PrivateAlias = int; +extern int privateVariable; +} // namespace ns + +namespace ns::detail { +void detailFunction(); +} // namespace ns::detail +""" + + +class TestTierFiltering(unittest.TestCase): + def setUp(self): + self._tmp = tempfile.TemporaryDirectory() + self.root = os.path.realpath(self._tmp.name) + for name, content in ( + ("Public.h", PUBLIC_HEADER), + ("Private.h", PRIVATE_HEADER), + ): + with open(os.path.join(self.root, name), "w") as f: + f.write(content) + + config = ir.files(__package__) / "snapshots" / ".doxygen.config.template" + # The config reads INPUT_FILTER from this variable, and Doxygen parses + # nothing when it expands to an empty filter. + env = {**os.environ, "DOXYGEN_INPUT_FILTER": "cat"} + with ir.as_file(config) as config_path: + result = subprocess.run( + [env.get("DOXYGEN_BIN", "doxygen"), str(config_path)], + cwd=self.root, + capture_output=True, + text=True, + env=env, + ) + if result.returncode != 0: + raise RuntimeError(f"Doxygen failed: {result.stderr}") + self.xml_dir = os.path.join(self.root, "api", "xml") + + def tearDown(self): + self._tmp.cleanup() + + def test_leaves_out_entities_declared_in_skipped_headers(self): + location_filter = make_location_filter( + {os.path.join(self.root, "Private.h")}, self.root + ) + snapshot = build_snapshot( + self.xml_dir, location_filter=location_filter + ).to_string() + + for name in ( + "PublicClass", + "publicFunction", + "PublicEnum", + "PublicAlias", + "publicVariable", + ): + self.assertIn(name, snapshot) + for name in ( + "PrivateClass", + "Nested", + "privateFunction", + "PrivateEnum", + "PrivateAlias", + "privateVariable", + "detail", + ): + self.assertNotIn(name, snapshot) + + def test_keeps_everything_without_skipped_headers(self): + snapshot = build_snapshot(self.xml_dir).to_string() + + for name in ("PublicClass", "PrivateClass", "privateFunction", "detail"): + self.assertIn(name, snapshot) diff --git a/scripts/cxx-api/tests/test_tiers.py b/scripts/cxx-api/tests/test_tiers.py new file mode 100644 index 000000000000..35b9dbb949c0 --- /dev/null +++ b/scripts/cxx-api/tests/test_tiers.py @@ -0,0 +1,266 @@ +# 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. + +"""Unit tests for header tier classification and boundary breaks""" + +import os +import tempfile +import unittest + +from ..parser.tiers import ( + build_header_graph, + classify_headers, + collect_headers, + find_boundary_breaks, + skipped_headers, + Tier, +) + +PRIVATE = "#include \n" +FRAMEWORKS = "#include \n" +PUBLIC = "#include \n" + + +class TestTiers(unittest.TestCase): + def setUp(self): + self._tmp = tempfile.TemporaryDirectory() + self.root = os.path.realpath(self._tmp.name) + + def tearDown(self): + self._tmp.cleanup() + + def write(self, relative_path: str, content: str = "") -> str: + path = os.path.join(self.root, relative_path) + os.makedirs(os.path.dirname(path), exist_ok=True) + with open(path, "w") as f: + f.write(content) + return path + + def graph(self, exclude_patterns=None): + return classify_headers([self.root], exclude_patterns or []) + + def break_edges(self): + return { + ( + os.path.relpath(b.chain[0], self.root), + os.path.relpath(b.chain[-1], self.root), + ) + for b in find_boundary_breaks(self.graph()) + } + + # ========================================================================= + # Classification + # ========================================================================= + + def test_reads_tier_from_guard(self): + private = self.write("a/Private.h", "#pragma once\n\n" + PRIVATE) + frameworks = self.write("a/Frameworks.h", "#pragma once\n" + FRAMEWORKS) + public = self.write("a/Public.h", PUBLIC) + unguarded = self.write("a/Unguarded.h", "#pragma once\n") + + tiers = self.graph().tiers + + self.assertEqual(tiers[private], Tier.PRIVATE) + self.assertEqual(tiers[frameworks], Tier.FRAMEWORKS) + self.assertEqual(tiers[public], Tier.PUBLIC) + self.assertIsNone(tiers[unguarded]) + + def test_reads_guard_below_conditional(self): + path = self.write("a/A.h", "#ifdef __cplusplus\n" + PRIVATE + "#endif\n") + self.assertEqual(self.graph().tiers[path], Tier.PRIVATE) + + def test_reads_quoted_guard(self): + path = self.write("a/A.h", '#include "react/cxxstableapi/PrivateGuard.h"\n') + self.assertEqual(self.graph().tiers[path], Tier.PRIVATE) + + def test_ignores_commented_out_guard(self): + path = self.write("a/A.h", "// " + PRIVATE) + self.assertIsNone(self.graph().tiers[path]) + + def test_exclude_patterns_skip_headers(self): + kept = self.write("a/A.h") + self.write("a/tests/T.h") + self.write("a/B.cpp") + + self.assertEqual(collect_headers([self.root], ["*/tests/*"]), [kept]) + + # ========================================================================= + # Include resolution + # ========================================================================= + + def test_resolves_angle_include_by_path_suffix(self): + includer = self.write("x/A.h", "#include \n") + target = self.write("ReactCommon/react/foo/B.h") + self.write("ReactCommon/react/bar/B.h") + + self.assertEqual(self.graph().includes[includer], [target]) + + def test_excluded_sibling_does_not_fall_back_to_other_headers(self): + includer = self.write("platform/a/A.h", '#include "B.h"\n') + self.write("platform/a/B.h") + self.write("other/B.h") + + graph = classify_headers([self.root], ["*/platform/a/B.h"]) + + self.assertEqual(graph.includes[includer], []) + + def test_resolves_quoted_include_to_sibling_first(self): + includer = self.write("a/A.h", '#include "B.h"\n') + sibling = self.write("a/B.h") + self.write("b/B.h") + + self.assertEqual(self.graph().includes[includer], [sibling]) + + def test_resolves_one_copy_per_platform(self): + includer = self.write("A.h", "#include \n") + ios = self.write("platform/ios/react/foo/Platform.h") + android = self.write("platform/android/react/foo/Platform.h") + + self.assertCountEqual(self.graph().includes[includer], [ios, android]) + + def test_resolves_every_bare_include_candidate(self): + includer = self.write("A.h", "#include \n") + a = self.write("a/primitives.h") + b = self.write("b/primitives.h") + + self.assertCountEqual(self.graph().includes[includer], [a, b]) + + def test_guard_headers_are_not_in_the_graph(self): + includer = self.write("a/A.h", PRIVATE + "#include \n") + target = self.write("react/foo/B.h") + guard = self.write("react/cxxstableapi/PrivateGuard.h") + + graph = self.graph() + + self.assertNotIn(guard, graph.tiers) + self.assertEqual(graph.includes[includer], [target]) + + def test_resolves_objc_import(self): + includer = self.write("A.h", "#import \n") + target = self.write("React/B.h") + + self.assertEqual(self.graph().includes[includer], [target]) + + # ========================================================================= + # Boundary breaks + # ========================================================================= + + def test_public_including_private_is_a_break(self): + self.write("Public.h", PUBLIC + '#include "Private.h"\n') + self.write("Private.h", PRIVATE) + + self.assertEqual(self.break_edges(), {("Public.h", "Private.h")}) + + def test_public_including_frameworks_is_a_break(self): + self.write("Public.h", PUBLIC + '#include "Frameworks.h"\n') + self.write("Frameworks.h", FRAMEWORKS) + + self.assertEqual(self.break_edges(), {("Public.h", "Frameworks.h")}) + + def test_frameworks_including_private_is_a_break(self): + self.write("Frameworks.h", FRAMEWORKS + '#include "Private.h"\n') + self.write("Private.h", PRIVATE) + + self.assertEqual(self.break_edges(), {("Frameworks.h", "Private.h")}) + + def test_break_through_unclassified_headers_reports_chain(self): + self.write("Public.h", PUBLIC + '#include "Middle.h"\n') + self.write("Middle.h", '#include "Private.h"\n') + self.write("Private.h", PRIVATE) + + breaks = find_boundary_breaks(self.graph()) + + self.assertEqual(len(breaks), 1) + self.assertEqual( + [os.path.relpath(p, self.root) for p in breaks[0].chain], + ["Public.h", "Middle.h", "Private.h"], + ) + self.assertEqual(breaks[0].source_tier, Tier.PUBLIC) + self.assertEqual(breaks[0].target_tier, Tier.PRIVATE) + + def test_including_more_visible_headers_is_not_a_break(self): + self.write("Private.h", PRIVATE + '#include "Frameworks.h"\n') + self.write("Frameworks.h", FRAMEWORKS + '#include "Public.h"\n') + self.write("Public.h", PUBLIC + '#include "Public2.h"\n') + self.write("Public2.h", PUBLIC) + + self.assertEqual(self.break_edges(), set()) + + def test_unclassified_headers_do_not_start_a_walk(self): + self.write("Unguarded.h", '#include "Private.h"\n') + self.write("Private.h", PRIVATE) + + self.assertEqual(self.break_edges(), set()) + + def test_walk_stops_at_declared_headers(self): + self.write("Public.h", PUBLIC + '#include "Frameworks.h"\n') + self.write("Frameworks.h", FRAMEWORKS + '#include "Private.h"\n') + self.write("Private.h", PRIVATE) + + self.assertEqual( + self.break_edges(), + {("Public.h", "Frameworks.h"), ("Frameworks.h", "Private.h")}, + ) + + def test_handles_include_cycles(self): + self.write("Public.h", PUBLIC + '#include "A.h"\n') + self.write("A.h", '#include "B.h"\n') + self.write("B.h", '#include "A.h"\n#include "Private.h"\n') + self.write("Private.h", PRIVATE) + + self.assertEqual(self.break_edges(), {("Public.h", "Private.h")}) + + def test_build_header_graph_ignores_self_include(self): + path = self.write("A.h", '#include "A.h"\n') + self.assertEqual(build_header_graph([path]).includes[path], []) + + # ========================================================================= + # Skipped headers + # ========================================================================= + + def skipped(self, *included_tiers): + args = (frozenset(included_tiers),) if included_tiers else () + return { + os.path.relpath(p, self.root) for p in skipped_headers(self.graph(), *args) + } + + def test_skips_unreached_private_and_frameworks_headers(self): + self.write("Public.h", PUBLIC) + self.write("Frameworks.h", FRAMEWORKS + '#include "Private.h"\n') + self.write("Private.h", PRIVATE) + self.write("Unguarded.h", '#include "Private.h"\n') + + self.assertEqual(self.skipped(), {"Frameworks.h", "Private.h"}) + + def test_keeps_headers_reached_from_public(self): + self.write("Public.h", PUBLIC + '#include "Middle.h"\n') + self.write("Middle.h", '#include "Frameworks.h"\n') + self.write("Frameworks.h", FRAMEWORKS + '#include "Private.h"\n') + self.write("Private.h", PRIVATE) + self.write("Other.h", PRIVATE) + + self.assertEqual(self.skipped(), {"Other.h"}) + + def test_never_skips_unclassified_headers(self): + self.write("Unguarded.h") + self.assertEqual(self.skipped(), set()) + + def test_keeps_included_tiers(self): + self.write("Public.h", PUBLIC) + self.write("Frameworks.h", FRAMEWORKS) + self.write("Private.h", PRIVATE) + + self.assertEqual(self.skipped(Tier.PUBLIC, Tier.FRAMEWORKS), {"Private.h"}) + self.assertEqual( + self.skipped(Tier.PUBLIC, Tier.FRAMEWORKS, Tier.PRIVATE), set() + ) + + def test_keeps_headers_reached_from_included_tiers(self): + self.write("Public.h", PUBLIC) + self.write("Frameworks.h", FRAMEWORKS + '#include "Private.h"\n') + self.write("Private.h", PRIVATE) + self.write("Other.h", PRIVATE) + + self.assertEqual(self.skipped(Tier.PUBLIC, Tier.FRAMEWORKS), {"Other.h"})