diff --git a/.circleci/config.yml b/.circleci/config.yml index 1118ce028b7e77..2b66b49df9ed21 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -710,6 +710,25 @@ jobs: # ------------------------- # JOBS: Releases # ------------------------- + prepare_package_for_release: + parameters: + version: + type: string + latest: + type: boolean + default: false + executor: reactnativeios + steps: + - checkout + - run_yarn + - add_ssh_keys: + fingerprints: + - "1c:98:e0:3a:52:79:95:29:12:cd:b4:87:5b:41:e2:bb" + - run: + name: "Set new react-native version and commit changes" + command: | + node ./scripts/prepare-package-for-release.js -v << parameters.version >> -l << parameters.latest >> + build_npm_package: parameters: publish_npm_args: @@ -774,13 +793,35 @@ jobs: command: | echo "Nightly build run" + +# ------------------------- +# PIPELINE PARAMETERS +# ------------------------- +parameters: + run_package_release_workflow_only: + default: false + type: boolean + + release_latest: + default: false + type: boolean + + release_version: + default: "9999" + type: string + # ------------------------- # WORK FLOWS +# +# When creating a new workflow, make sure to include condition `unless: << pipeline.parameters.run_package_release_workflow_only >>` +# It's setup this way so we can trigger a release via a POST +# See limitations: https://support.circleci.com/hc/en-us/articles/360050351292-How-to-trigger-a-workflow-via-CircleCI-API-v2 # ------------------------- workflows: version: 2 tests: + unless: << pipeline.parameters.run_package_release_workflow_only >> jobs: - test_js: run_disabled_tests: false @@ -841,11 +882,26 @@ workflows: ignore: gh-pages run_disabled_tests: false - releases: + # This workflow should only be triggered by release script + package_release: + when: << pipeline.parameters.run_package_release_workflow_only >> + jobs: + # This job will trigger publish_release workflow + - prepare_package_for_release: + name: prepare_package_for_release + version: << pipeline.parameters.release_version >> + latest : << pipeline.parameters.release_latest >> + + publish_release: + unless: << pipeline.parameters.run_package_release_workflow_only >> jobs: + # This job will trigger when a version tag is pushed (by package_release) - build_npm_package: name: build_and_publish_npm_package publish_npm_args: --release + # CircleCI filters are OR-ed, with all branches triggering by default and tags excluded by default + # CircleCI env-vars are only set with the branch OR tag that triggered the job, not both. + # In this case, CIRCLE_BRANCH is unset, but CIRCLE_TAG is set filters: # Both of the following conditions must be included! # Ignore any commit on any branch by default. @@ -867,6 +923,7 @@ workflows: ignore: /v[0-9]+(\.[0-9]+)*(\-rc(\.[0-9]+)?)?/ analysis: + unless: << pipeline.parameters.run_package_release_workflow_only >> jobs: # Run lints on every commit other than those to the gh-pages branch - analyze_code: @@ -887,6 +944,7 @@ workflows: ignore: gh-pages nightly: + unless: << pipeline.parameters.run_package_release_workflow_only >> triggers: - schedule: cron: "0 20 * * *" diff --git a/.gitignore b/.gitignore index c60f27e2a091f5..19ce427d88ef26 100644 --- a/.gitignore +++ b/.gitignore @@ -105,7 +105,6 @@ package-lock.json !/packages/rn-tester/Pods/__offline_mirrors__ # react-native-codegen -/React/FBReactNativeSpec/FBReactNativeSpec /packages/react-native-codegen/lib /ReactCommon/react/renderer/components/rncore/ /packages/rn-tester/NativeModuleExample/ScreenshotManagerSpec* diff --git a/Gemfile.lock b/Gemfile.lock index de5f3d29a1b71c..285424cd4b62bd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,9 +1,9 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.4) + CFPropertyList (3.0.5) rexml - activesupport (6.1.4.1) + activesupport (6.1.4.4) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -15,7 +15,7 @@ GEM httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) - claide (1.0.3) + claide (1.1.0) cocoapods (1.11.2) addressable (~> 2.8) claide (>= 1.0.2, < 2.0) @@ -56,17 +56,17 @@ GEM colored2 (3.1.2) concurrent-ruby (1.1.9) escape (0.0.4) - ethon (0.14.0) + ethon (0.15.0) ffi (>= 1.15.0) - ffi (1.15.4) + ffi (1.15.5) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) httpclient (2.8.3) - i18n (1.8.10) + i18n (1.9.1) concurrent-ruby (~> 1.0) - json (2.5.1) - minitest (5.14.4) + json (2.6.1) + minitest (5.15.0) molinillo (0.8.0) nanaimo (0.3.0) nap (1.1.0) @@ -85,7 +85,7 @@ GEM colored2 (~> 3.1) nanaimo (~> 0.3.0) rexml (~> 3.2.4) - zeitwerk (2.4.2) + zeitwerk (2.5.4) PLATFORMS ruby @@ -97,4 +97,4 @@ RUBY VERSION ruby 2.7.4p191 BUNDLED WITH - 2.2.28 + 2.2.27 diff --git a/Libraries/Components/Keyboard/Keyboard.js b/Libraries/Components/Keyboard/Keyboard.js index fec163cd2845cd..520bbc3252c3ca 100644 --- a/Libraries/Components/Keyboard/Keyboard.js +++ b/Libraries/Components/Keyboard/Keyboard.js @@ -141,9 +141,9 @@ class Keyboard { } /** - * @deprecated Use `remove` on the EventSubscription from `addEventListener`. + * @deprecated Use `remove` on the EventSubscription from `addListener`. */ - removeEventListener>( + removeListener>( eventType: K, listener: (...$ElementType) => mixed, ): void { diff --git a/Libraries/Components/ScrollView/__tests__/ScrollView-test.js b/Libraries/Components/ScrollView/__tests__/ScrollView-test.js index f2a7abe2c9f852..6800bb2a681931 100644 --- a/Libraries/Components/ScrollView/__tests__/ScrollView-test.js +++ b/Libraries/Components/ScrollView/__tests__/ScrollView-test.js @@ -11,12 +11,12 @@ 'use strict'; -import * as React from 'react'; -import ScrollView from '../ScrollView'; -import * as ReactNativeTestTools from '../../../Utilities/ReactNativeTestTools'; -import ReactTestRenderer from 'react-test-renderer'; -import View from '../../View/View'; -import Text from '../../../Text/Text'; +const React = require('react'); +const ScrollView = require('../ScrollView'); +const ReactNativeTestTools = require('../../../Utilities/ReactNativeTestTools'); +const ReactTestRenderer = require('react-test-renderer'); +const View = require('../../View/View'); +const Text = require('../../../Text/Text'); describe('', () => { it('should render as expected', () => { diff --git a/Libraries/Core/ReactNativeVersion.js b/Libraries/Core/ReactNativeVersion.js index 67ca7cd62bcfca..67dc9080445c69 100644 --- a/Libraries/Core/ReactNativeVersion.js +++ b/Libraries/Core/ReactNativeVersion.js @@ -1,17 +1,17 @@ /** + * @generated by scripts/set-rn-version.js + * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @format - * @generated by scripts/bump-oss-version.js * @flow strict */ exports.version = { major: 0, - minor: 0, - patch: 0, + minor: 67, + patch: 2, prerelease: null, }; diff --git a/Libraries/Pressability/__tests__/Pressability-test.js b/Libraries/Pressability/__tests__/Pressability-test.js index 6960546e376a74..50172911ffcf17 100644 --- a/Libraries/Pressability/__tests__/Pressability-test.js +++ b/Libraries/Pressability/__tests__/Pressability-test.js @@ -10,12 +10,13 @@ */ import type {PressEvent} from '../../Types/CoreEventTypes'; -import * as HoverState from '../HoverState'; -import Pressability from '../Pressability'; -import invariant from 'invariant'; -import nullthrows from 'nullthrows'; -import Platform from '../../Utilities/Platform'; -import UIManager from '../../ReactNative/UIManager'; + +const HoverState = require('../HoverState'); +const Pressability = require('../Pressability').default; +const invariant = require('invariant'); +const nullthrows = require('nullthrows'); +const Platform = require('../../Utilities/Platform'); +const UIManager = require('../../ReactNative/UIManager'); // TODO: Move this util to a shared location. function getMock, TReturn>( diff --git a/React/Base/RCTVersion.m b/React/Base/RCTVersion.m index 7258e0ddb39d4b..05cfd06fd7b903 100644 --- a/React/Base/RCTVersion.m +++ b/React/Base/RCTVersion.m @@ -1,5 +1,5 @@ /** - * @generated by scripts/bump-oss-version.js + * @generated by scripts/set-rn-version.js * * Copyright (c) Facebook, Inc. and its affiliates. * @@ -21,11 +21,11 @@ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^(void){ __rnVersion = @{ - RCTVersionMajor: @(0), - RCTVersionMinor: @(0), - RCTVersionPatch: @(0), - RCTVersionPrerelease: [NSNull null], - }; + RCTVersionMajor: @(0), + RCTVersionMinor: @(67), + RCTVersionPatch: @(2), + RCTVersionPrerelease: [NSNull null], + }; }); return __rnVersion; } diff --git a/React/CoreModules/RCTAlertController.m b/React/CoreModules/RCTAlertController.m index 8cd0babb5595c0..1a4ed8c4f65316 100644 --- a/React/CoreModules/RCTAlertController.m +++ b/React/CoreModules/RCTAlertController.m @@ -35,6 +35,12 @@ - (void)show:(BOOL)animated completion:(void (^)(void))completion - (void)hide { + [_alertWindow setHidden:YES]; + + if (@available(iOS 13, *)) { + _alertWindow.windowScene = nil; + } + _alertWindow = nil; } diff --git a/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm b/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm new file mode 100644 index 00000000000000..1e35b644223286 --- /dev/null +++ b/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm @@ -0,0 +1,2096 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @generated by codegen project: GenerateModuleObjCpp + * + * We create an umbrella header (and corresponding implementation) here since + * Cxx compilation in BUCK has a limitation: source-code producing genrule()s + * must have a single output. More files => more genrule()s => slower builds. + */ + +#import "FBReactNativeSpec.h" + + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeAccessibilityInfoSpecJSI_isReduceMotionEnabled(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "isReduceMotionEnabled", @selector(isReduceMotionEnabled:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAccessibilityInfoSpecJSI_isTouchExplorationEnabled(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "isTouchExplorationEnabled", @selector(isTouchExplorationEnabled:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAccessibilityInfoSpecJSI_setAccessibilityFocus(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setAccessibilityFocus", @selector(setAccessibilityFocus:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAccessibilityInfoSpecJSI_announceForAccessibility(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "announceForAccessibility", @selector(announceForAccessibility:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAccessibilityInfoSpecJSI_getRecommendedTimeoutMillis(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getRecommendedTimeoutMillis", @selector(getRecommendedTimeoutMillis:onSuccess:), args, count); + } + + NativeAccessibilityInfoSpecJSI::NativeAccessibilityInfoSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["isReduceMotionEnabled"] = MethodMetadata {1, __hostFunction_NativeAccessibilityInfoSpecJSI_isReduceMotionEnabled}; + + + methodMap_["isTouchExplorationEnabled"] = MethodMetadata {1, __hostFunction_NativeAccessibilityInfoSpecJSI_isTouchExplorationEnabled}; + + + methodMap_["setAccessibilityFocus"] = MethodMetadata {1, __hostFunction_NativeAccessibilityInfoSpecJSI_setAccessibilityFocus}; + + + methodMap_["announceForAccessibility"] = MethodMetadata {1, __hostFunction_NativeAccessibilityInfoSpecJSI_announceForAccessibility}; + + + methodMap_["getRecommendedTimeoutMillis"] = MethodMetadata {2, __hostFunction_NativeAccessibilityInfoSpecJSI_getRecommendedTimeoutMillis}; + + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeAccessibilityManager_SpecSetAccessibilityContentSizeMultipliersJSMultipliers) ++ (RCTManagedPointer *)JS_NativeAccessibilityManager_SpecSetAccessibilityContentSizeMultipliersJSMultipliers:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeAccessibilityManagerSpecJSI_getCurrentBoldTextState(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getCurrentBoldTextState", @selector(getCurrentBoldTextState:onError:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAccessibilityManagerSpecJSI_getCurrentGrayscaleState(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getCurrentGrayscaleState", @selector(getCurrentGrayscaleState:onError:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAccessibilityManagerSpecJSI_getCurrentInvertColorsState(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getCurrentInvertColorsState", @selector(getCurrentInvertColorsState:onError:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAccessibilityManagerSpecJSI_getCurrentReduceMotionState(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getCurrentReduceMotionState", @selector(getCurrentReduceMotionState:onError:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAccessibilityManagerSpecJSI_getCurrentReduceTransparencyState(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getCurrentReduceTransparencyState", @selector(getCurrentReduceTransparencyState:onError:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAccessibilityManagerSpecJSI_getCurrentVoiceOverState(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getCurrentVoiceOverState", @selector(getCurrentVoiceOverState:onError:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAccessibilityManagerSpecJSI_setAccessibilityContentSizeMultipliers(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setAccessibilityContentSizeMultipliers", @selector(setAccessibilityContentSizeMultipliers:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAccessibilityManagerSpecJSI_setAccessibilityFocus(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setAccessibilityFocus", @selector(setAccessibilityFocus:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAccessibilityManagerSpecJSI_announceForAccessibility(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "announceForAccessibility", @selector(announceForAccessibility:), args, count); + } + + NativeAccessibilityManagerSpecJSI::NativeAccessibilityManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getCurrentBoldTextState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerSpecJSI_getCurrentBoldTextState}; + + + methodMap_["getCurrentGrayscaleState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerSpecJSI_getCurrentGrayscaleState}; + + + methodMap_["getCurrentInvertColorsState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerSpecJSI_getCurrentInvertColorsState}; + + + methodMap_["getCurrentReduceMotionState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerSpecJSI_getCurrentReduceMotionState}; + + + methodMap_["getCurrentReduceTransparencyState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerSpecJSI_getCurrentReduceTransparencyState}; + + + methodMap_["getCurrentVoiceOverState"] = MethodMetadata {2, __hostFunction_NativeAccessibilityManagerSpecJSI_getCurrentVoiceOverState}; + + + methodMap_["setAccessibilityContentSizeMultipliers"] = MethodMetadata {1, __hostFunction_NativeAccessibilityManagerSpecJSI_setAccessibilityContentSizeMultipliers}; + setMethodArgConversionSelector(@"setAccessibilityContentSizeMultipliers", 0, @"JS_NativeAccessibilityManager_SpecSetAccessibilityContentSizeMultipliersJSMultipliers:"); + + methodMap_["setAccessibilityFocus"] = MethodMetadata {1, __hostFunction_NativeAccessibilityManagerSpecJSI_setAccessibilityFocus}; + + + methodMap_["announceForAccessibility"] = MethodMetadata {1, __hostFunction_NativeAccessibilityManagerSpecJSI_announceForAccessibility}; + + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeActionSheetManager_SpecShowActionSheetWithOptionsOptions) ++ (RCTManagedPointer *)JS_NativeActionSheetManager_SpecShowActionSheetWithOptionsOptions:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +@implementation RCTCxxConvert (NativeActionSheetManager_SpecShowShareActionSheetWithOptionsOptions) ++ (RCTManagedPointer *)JS_NativeActionSheetManager_SpecShowShareActionSheetWithOptionsOptions:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeActionSheetManagerSpecJSI_showActionSheetWithOptions(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "showActionSheetWithOptions", @selector(showActionSheetWithOptions:callback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeActionSheetManagerSpecJSI_showShareActionSheetWithOptions(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "showShareActionSheetWithOptions", @selector(showShareActionSheetWithOptions:failureCallback:successCallback:), args, count); + } + + NativeActionSheetManagerSpecJSI::NativeActionSheetManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["showActionSheetWithOptions"] = MethodMetadata {2, __hostFunction_NativeActionSheetManagerSpecJSI_showActionSheetWithOptions}; + setMethodArgConversionSelector(@"showActionSheetWithOptions", 0, @"JS_NativeActionSheetManager_SpecShowActionSheetWithOptionsOptions:"); + + methodMap_["showShareActionSheetWithOptions"] = MethodMetadata {3, __hostFunction_NativeActionSheetManagerSpecJSI_showShareActionSheetWithOptions}; + setMethodArgConversionSelector(@"showShareActionSheetWithOptions", 0, @"JS_NativeActionSheetManager_SpecShowShareActionSheetWithOptionsOptions:"); + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeAlertManager_Args) ++ (RCTManagedPointer *)JS_NativeAlertManager_Args:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeAlertManagerSpecJSI_alertWithArgs(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "alertWithArgs", @selector(alertWithArgs:callback:), args, count); + } + + NativeAlertManagerSpecJSI::NativeAlertManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["alertWithArgs"] = MethodMetadata {2, __hostFunction_NativeAlertManagerSpecJSI_alertWithArgs}; + setMethodArgConversionSelector(@"alertWithArgs", 0, @"JS_NativeAlertManager_Args:"); + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeAnimatedModule_EventMapping) ++ (RCTManagedPointer *)JS_NativeAnimatedModule_EventMapping:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_startOperationBatch(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "startOperationBatch", @selector(startOperationBatch), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_finishOperationBatch(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "finishOperationBatch", @selector(finishOperationBatch), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_createAnimatedNode(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "createAnimatedNode", @selector(createAnimatedNode:config:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_getValue(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getValue", @selector(getValue:saveValueCallback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "startListeningToAnimatedNodeValue", @selector(startListeningToAnimatedNodeValue:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "stopListeningToAnimatedNodeValue", @selector(stopListeningToAnimatedNodeValue:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_connectAnimatedNodes(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "connectAnimatedNodes", @selector(connectAnimatedNodes:childTag:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_disconnectAnimatedNodes(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "disconnectAnimatedNodes", @selector(disconnectAnimatedNodes:childTag:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_startAnimatingNode(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "startAnimatingNode", @selector(startAnimatingNode:nodeTag:config:endCallback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_stopAnimation(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "stopAnimation", @selector(stopAnimation:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_setAnimatedNodeValue(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setAnimatedNodeValue", @selector(setAnimatedNodeValue:value:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_setAnimatedNodeOffset(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setAnimatedNodeOffset", @selector(setAnimatedNodeOffset:offset:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "flattenAnimatedNodeOffset", @selector(flattenAnimatedNodeOffset:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "extractAnimatedNodeOffset", @selector(extractAnimatedNodeOffset:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_connectAnimatedNodeToView(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "connectAnimatedNodeToView", @selector(connectAnimatedNodeToView:viewTag:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "disconnectAnimatedNodeFromView", @selector(disconnectAnimatedNodeFromView:viewTag:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_restoreDefaultValues(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "restoreDefaultValues", @selector(restoreDefaultValues:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_dropAnimatedNode(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "dropAnimatedNode", @selector(dropAnimatedNode:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_addAnimatedEventToView(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addAnimatedEventToView", @selector(addAnimatedEventToView:eventName:eventMapping:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_removeAnimatedEventFromView(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeAnimatedEventFromView", @selector(removeAnimatedEventFromView:eventName:animatedNodeTag:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedModuleSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); + } + + NativeAnimatedModuleSpecJSI::NativeAnimatedModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["startOperationBatch"] = MethodMetadata {0, __hostFunction_NativeAnimatedModuleSpecJSI_startOperationBatch}; + + + methodMap_["finishOperationBatch"] = MethodMetadata {0, __hostFunction_NativeAnimatedModuleSpecJSI_finishOperationBatch}; + + + methodMap_["createAnimatedNode"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleSpecJSI_createAnimatedNode}; + + + methodMap_["getValue"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleSpecJSI_getValue}; + + + methodMap_["startListeningToAnimatedNodeValue"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleSpecJSI_startListeningToAnimatedNodeValue}; + + + methodMap_["stopListeningToAnimatedNodeValue"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleSpecJSI_stopListeningToAnimatedNodeValue}; + + + methodMap_["connectAnimatedNodes"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleSpecJSI_connectAnimatedNodes}; + + + methodMap_["disconnectAnimatedNodes"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleSpecJSI_disconnectAnimatedNodes}; + + + methodMap_["startAnimatingNode"] = MethodMetadata {4, __hostFunction_NativeAnimatedModuleSpecJSI_startAnimatingNode}; + + + methodMap_["stopAnimation"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleSpecJSI_stopAnimation}; + + + methodMap_["setAnimatedNodeValue"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleSpecJSI_setAnimatedNodeValue}; + + + methodMap_["setAnimatedNodeOffset"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleSpecJSI_setAnimatedNodeOffset}; + + + methodMap_["flattenAnimatedNodeOffset"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleSpecJSI_flattenAnimatedNodeOffset}; + + + methodMap_["extractAnimatedNodeOffset"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleSpecJSI_extractAnimatedNodeOffset}; + + + methodMap_["connectAnimatedNodeToView"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleSpecJSI_connectAnimatedNodeToView}; + + + methodMap_["disconnectAnimatedNodeFromView"] = MethodMetadata {2, __hostFunction_NativeAnimatedModuleSpecJSI_disconnectAnimatedNodeFromView}; + + + methodMap_["restoreDefaultValues"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleSpecJSI_restoreDefaultValues}; + + + methodMap_["dropAnimatedNode"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleSpecJSI_dropAnimatedNode}; + + + methodMap_["addAnimatedEventToView"] = MethodMetadata {3, __hostFunction_NativeAnimatedModuleSpecJSI_addAnimatedEventToView}; + setMethodArgConversionSelector(@"addAnimatedEventToView", 2, @"JS_NativeAnimatedModule_EventMapping:"); + + methodMap_["removeAnimatedEventFromView"] = MethodMetadata {3, __hostFunction_NativeAnimatedModuleSpecJSI_removeAnimatedEventFromView}; + + + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleSpecJSI_addListener}; + + + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeAnimatedModuleSpecJSI_removeListeners}; + + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeAnimatedTurboModule_EventMapping) ++ (RCTManagedPointer *)JS_NativeAnimatedTurboModule_EventMapping:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_startOperationBatch(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "startOperationBatch", @selector(startOperationBatch), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_finishOperationBatch(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "finishOperationBatch", @selector(finishOperationBatch), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_createAnimatedNode(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "createAnimatedNode", @selector(createAnimatedNode:config:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_getValue(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getValue", @selector(getValue:saveValueCallback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_startListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "startListeningToAnimatedNodeValue", @selector(startListeningToAnimatedNodeValue:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_stopListeningToAnimatedNodeValue(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "stopListeningToAnimatedNodeValue", @selector(stopListeningToAnimatedNodeValue:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_connectAnimatedNodes(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "connectAnimatedNodes", @selector(connectAnimatedNodes:childTag:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_disconnectAnimatedNodes(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "disconnectAnimatedNodes", @selector(disconnectAnimatedNodes:childTag:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_startAnimatingNode(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "startAnimatingNode", @selector(startAnimatingNode:nodeTag:config:endCallback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_stopAnimation(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "stopAnimation", @selector(stopAnimation:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_setAnimatedNodeValue(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setAnimatedNodeValue", @selector(setAnimatedNodeValue:value:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_setAnimatedNodeOffset(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setAnimatedNodeOffset", @selector(setAnimatedNodeOffset:offset:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_flattenAnimatedNodeOffset(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "flattenAnimatedNodeOffset", @selector(flattenAnimatedNodeOffset:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_extractAnimatedNodeOffset(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "extractAnimatedNodeOffset", @selector(extractAnimatedNodeOffset:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_connectAnimatedNodeToView(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "connectAnimatedNodeToView", @selector(connectAnimatedNodeToView:viewTag:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_disconnectAnimatedNodeFromView(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "disconnectAnimatedNodeFromView", @selector(disconnectAnimatedNodeFromView:viewTag:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_restoreDefaultValues(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "restoreDefaultValues", @selector(restoreDefaultValues:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_dropAnimatedNode(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "dropAnimatedNode", @selector(dropAnimatedNode:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_addAnimatedEventToView(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addAnimatedEventToView", @selector(addAnimatedEventToView:eventName:eventMapping:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_removeAnimatedEventFromView(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeAnimatedEventFromView", @selector(removeAnimatedEventFromView:eventName:animatedNodeTag:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimatedTurboModuleSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); + } + + NativeAnimatedTurboModuleSpecJSI::NativeAnimatedTurboModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["startOperationBatch"] = MethodMetadata {0, __hostFunction_NativeAnimatedTurboModuleSpecJSI_startOperationBatch}; + + + methodMap_["finishOperationBatch"] = MethodMetadata {0, __hostFunction_NativeAnimatedTurboModuleSpecJSI_finishOperationBatch}; + + + methodMap_["createAnimatedNode"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleSpecJSI_createAnimatedNode}; + + + methodMap_["getValue"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleSpecJSI_getValue}; + + + methodMap_["startListeningToAnimatedNodeValue"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleSpecJSI_startListeningToAnimatedNodeValue}; + + + methodMap_["stopListeningToAnimatedNodeValue"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleSpecJSI_stopListeningToAnimatedNodeValue}; + + + methodMap_["connectAnimatedNodes"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleSpecJSI_connectAnimatedNodes}; + + + methodMap_["disconnectAnimatedNodes"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleSpecJSI_disconnectAnimatedNodes}; + + + methodMap_["startAnimatingNode"] = MethodMetadata {4, __hostFunction_NativeAnimatedTurboModuleSpecJSI_startAnimatingNode}; + + + methodMap_["stopAnimation"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleSpecJSI_stopAnimation}; + + + methodMap_["setAnimatedNodeValue"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleSpecJSI_setAnimatedNodeValue}; + + + methodMap_["setAnimatedNodeOffset"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleSpecJSI_setAnimatedNodeOffset}; + + + methodMap_["flattenAnimatedNodeOffset"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleSpecJSI_flattenAnimatedNodeOffset}; + + + methodMap_["extractAnimatedNodeOffset"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleSpecJSI_extractAnimatedNodeOffset}; + + + methodMap_["connectAnimatedNodeToView"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleSpecJSI_connectAnimatedNodeToView}; + + + methodMap_["disconnectAnimatedNodeFromView"] = MethodMetadata {2, __hostFunction_NativeAnimatedTurboModuleSpecJSI_disconnectAnimatedNodeFromView}; + + + methodMap_["restoreDefaultValues"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleSpecJSI_restoreDefaultValues}; + + + methodMap_["dropAnimatedNode"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleSpecJSI_dropAnimatedNode}; + + + methodMap_["addAnimatedEventToView"] = MethodMetadata {3, __hostFunction_NativeAnimatedTurboModuleSpecJSI_addAnimatedEventToView}; + setMethodArgConversionSelector(@"addAnimatedEventToView", 2, @"JS_NativeAnimatedTurboModule_EventMapping:"); + + methodMap_["removeAnimatedEventFromView"] = MethodMetadata {3, __hostFunction_NativeAnimatedTurboModuleSpecJSI_removeAnimatedEventFromView}; + + + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleSpecJSI_addListener}; + + + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeAnimatedTurboModuleSpecJSI_removeListeners}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeAnimationsDebugModuleSpecJSI_startRecordingFps(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "startRecordingFps", @selector(startRecordingFps), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAnimationsDebugModuleSpecJSI_stopRecordingFps(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "stopRecordingFps", @selector(stopRecordingFps:), args, count); + } + + NativeAnimationsDebugModuleSpecJSI::NativeAnimationsDebugModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["startRecordingFps"] = MethodMetadata {0, __hostFunction_NativeAnimationsDebugModuleSpecJSI_startRecordingFps}; + + + methodMap_["stopRecordingFps"] = MethodMetadata {1, __hostFunction_NativeAnimationsDebugModuleSpecJSI_stopRecordingFps}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeAppStateSpecJSI_getCurrentAppState(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getCurrentAppState", @selector(getCurrentAppState:error:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAppStateSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAppStateSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAppStateSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, ObjectKind, "getConstants", @selector(getConstants), args, count); + } + + NativeAppStateSpecJSI::NativeAppStateSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getCurrentAppState"] = MethodMetadata {2, __hostFunction_NativeAppStateSpecJSI_getCurrentAppState}; + + + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeAppStateSpecJSI_addListener}; + + + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeAppStateSpecJSI_removeListeners}; + + + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeAppStateSpecJSI_getConstants}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeAppearanceSpecJSI_getColorScheme(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, StringKind, "getColorScheme", @selector(getColorScheme), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAppearanceSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAppearanceSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); + } + + NativeAppearanceSpecJSI::NativeAppearanceSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getColorScheme"] = MethodMetadata {0, __hostFunction_NativeAppearanceSpecJSI_getColorScheme}; + + + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeAppearanceSpecJSI_addListener}; + + + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeAppearanceSpecJSI_removeListeners}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeAsyncLocalStorageSpecJSI_multiGet(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "multiGet", @selector(multiGet:callback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAsyncLocalStorageSpecJSI_multiSet(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "multiSet", @selector(multiSet:callback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAsyncLocalStorageSpecJSI_multiMerge(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "multiMerge", @selector(multiMerge:callback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAsyncLocalStorageSpecJSI_multiRemove(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "multiRemove", @selector(multiRemove:callback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAsyncLocalStorageSpecJSI_clear(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "clear", @selector(clear:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAsyncLocalStorageSpecJSI_getAllKeys(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getAllKeys", @selector(getAllKeys:), args, count); + } + + NativeAsyncLocalStorageSpecJSI::NativeAsyncLocalStorageSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["multiGet"] = MethodMetadata {2, __hostFunction_NativeAsyncLocalStorageSpecJSI_multiGet}; + + + methodMap_["multiSet"] = MethodMetadata {2, __hostFunction_NativeAsyncLocalStorageSpecJSI_multiSet}; + + + methodMap_["multiMerge"] = MethodMetadata {2, __hostFunction_NativeAsyncLocalStorageSpecJSI_multiMerge}; + + + methodMap_["multiRemove"] = MethodMetadata {2, __hostFunction_NativeAsyncLocalStorageSpecJSI_multiRemove}; + + + methodMap_["clear"] = MethodMetadata {1, __hostFunction_NativeAsyncLocalStorageSpecJSI_clear}; + + + methodMap_["getAllKeys"] = MethodMetadata {1, __hostFunction_NativeAsyncLocalStorageSpecJSI_getAllKeys}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageSpecJSI_multiGet(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "multiGet", @selector(multiGet:callback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageSpecJSI_multiSet(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "multiSet", @selector(multiSet:callback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageSpecJSI_multiMerge(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "multiMerge", @selector(multiMerge:callback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageSpecJSI_multiRemove(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "multiRemove", @selector(multiRemove:callback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageSpecJSI_clear(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "clear", @selector(clear:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeAsyncSQLiteDBStorageSpecJSI_getAllKeys(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getAllKeys", @selector(getAllKeys:), args, count); + } + + NativeAsyncSQLiteDBStorageSpecJSI::NativeAsyncSQLiteDBStorageSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["multiGet"] = MethodMetadata {2, __hostFunction_NativeAsyncSQLiteDBStorageSpecJSI_multiGet}; + + + methodMap_["multiSet"] = MethodMetadata {2, __hostFunction_NativeAsyncSQLiteDBStorageSpecJSI_multiSet}; + + + methodMap_["multiMerge"] = MethodMetadata {2, __hostFunction_NativeAsyncSQLiteDBStorageSpecJSI_multiMerge}; + + + methodMap_["multiRemove"] = MethodMetadata {2, __hostFunction_NativeAsyncSQLiteDBStorageSpecJSI_multiRemove}; + + + methodMap_["clear"] = MethodMetadata {1, __hostFunction_NativeAsyncSQLiteDBStorageSpecJSI_clear}; + + + methodMap_["getAllKeys"] = MethodMetadata {1, __hostFunction_NativeAsyncSQLiteDBStorageSpecJSI_getAllKeys}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeBlobModuleSpecJSI_addNetworkingHandler(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addNetworkingHandler", @selector(addNetworkingHandler), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeBlobModuleSpecJSI_addWebSocketHandler(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addWebSocketHandler", @selector(addWebSocketHandler:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeBlobModuleSpecJSI_removeWebSocketHandler(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeWebSocketHandler", @selector(removeWebSocketHandler:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeBlobModuleSpecJSI_sendOverSocket(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "sendOverSocket", @selector(sendOverSocket:socketID:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeBlobModuleSpecJSI_createFromParts(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "createFromParts", @selector(createFromParts:withId:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeBlobModuleSpecJSI_release(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "release", @selector(release:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeBlobModuleSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, ObjectKind, "getConstants", @selector(getConstants), args, count); + } + + NativeBlobModuleSpecJSI::NativeBlobModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["addNetworkingHandler"] = MethodMetadata {0, __hostFunction_NativeBlobModuleSpecJSI_addNetworkingHandler}; + + + methodMap_["addWebSocketHandler"] = MethodMetadata {1, __hostFunction_NativeBlobModuleSpecJSI_addWebSocketHandler}; + + + methodMap_["removeWebSocketHandler"] = MethodMetadata {1, __hostFunction_NativeBlobModuleSpecJSI_removeWebSocketHandler}; + + + methodMap_["sendOverSocket"] = MethodMetadata {2, __hostFunction_NativeBlobModuleSpecJSI_sendOverSocket}; + + + methodMap_["createFromParts"] = MethodMetadata {2, __hostFunction_NativeBlobModuleSpecJSI_createFromParts}; + + + methodMap_["release"] = MethodMetadata {1, __hostFunction_NativeBlobModuleSpecJSI_release}; + + + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeBlobModuleSpecJSI_getConstants}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeBugReportingSpecJSI_startReportAProblemFlow(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "startReportAProblemFlow", @selector(startReportAProblemFlow), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeBugReportingSpecJSI_setExtraData(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setExtraData", @selector(setExtraData:extraFiles:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeBugReportingSpecJSI_setCategoryID(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setCategoryID", @selector(setCategoryID:), args, count); + } + + NativeBugReportingSpecJSI::NativeBugReportingSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["startReportAProblemFlow"] = MethodMetadata {0, __hostFunction_NativeBugReportingSpecJSI_startReportAProblemFlow}; + + + methodMap_["setExtraData"] = MethodMetadata {2, __hostFunction_NativeBugReportingSpecJSI_setExtraData}; + + + methodMap_["setCategoryID"] = MethodMetadata {1, __hostFunction_NativeBugReportingSpecJSI_setCategoryID}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeClipboardSpecJSI_getString(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "getString", @selector(getString:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeClipboardSpecJSI_setString(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setString", @selector(setString:), args, count); + } + + NativeClipboardSpecJSI::NativeClipboardSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getString"] = MethodMetadata {0, __hostFunction_NativeClipboardSpecJSI_getString}; + + + methodMap_["setString"] = MethodMetadata {1, __hostFunction_NativeClipboardSpecJSI_setString}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeDevLoadingViewSpecJSI_showMessage(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "showMessage", @selector(showMessage:withColor:withBackgroundColor:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevLoadingViewSpecJSI_hide(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "hide", @selector(hide), args, count); + } + + NativeDevLoadingViewSpecJSI::NativeDevLoadingViewSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["showMessage"] = MethodMetadata {3, __hostFunction_NativeDevLoadingViewSpecJSI_showMessage}; + + + methodMap_["hide"] = MethodMetadata {0, __hostFunction_NativeDevLoadingViewSpecJSI_hide}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeDevMenuSpecJSI_show(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "show", @selector(show), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevMenuSpecJSI_reload(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "reload", @selector(reload), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevMenuSpecJSI_debugRemotely(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "debugRemotely", @selector(debugRemotely:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevMenuSpecJSI_setProfilingEnabled(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setProfilingEnabled", @selector(setProfilingEnabled:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevMenuSpecJSI_setHotLoadingEnabled(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setHotLoadingEnabled", @selector(setHotLoadingEnabled:), args, count); + } + + NativeDevMenuSpecJSI::NativeDevMenuSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["show"] = MethodMetadata {0, __hostFunction_NativeDevMenuSpecJSI_show}; + + + methodMap_["reload"] = MethodMetadata {0, __hostFunction_NativeDevMenuSpecJSI_reload}; + + + methodMap_["debugRemotely"] = MethodMetadata {1, __hostFunction_NativeDevMenuSpecJSI_debugRemotely}; + + + methodMap_["setProfilingEnabled"] = MethodMetadata {1, __hostFunction_NativeDevMenuSpecJSI_setProfilingEnabled}; + + + methodMap_["setHotLoadingEnabled"] = MethodMetadata {1, __hostFunction_NativeDevMenuSpecJSI_setHotLoadingEnabled}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeDevSettingsSpecJSI_reload(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "reload", @selector(reload), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevSettingsSpecJSI_reloadWithReason(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "reloadWithReason", @selector(reloadWithReason:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevSettingsSpecJSI_onFastRefresh(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "onFastRefresh", @selector(onFastRefresh), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevSettingsSpecJSI_setHotLoadingEnabled(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setHotLoadingEnabled", @selector(setHotLoadingEnabled:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevSettingsSpecJSI_setIsDebuggingRemotely(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setIsDebuggingRemotely", @selector(setIsDebuggingRemotely:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevSettingsSpecJSI_setProfilingEnabled(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setProfilingEnabled", @selector(setProfilingEnabled:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevSettingsSpecJSI_toggleElementInspector(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "toggleElementInspector", @selector(toggleElementInspector), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevSettingsSpecJSI_addMenuItem(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addMenuItem", @selector(addMenuItem:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevSettingsSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevSettingsSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeDevSettingsSpecJSI_setIsShakeToShowDevMenuEnabled(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setIsShakeToShowDevMenuEnabled", @selector(setIsShakeToShowDevMenuEnabled:), args, count); + } + + NativeDevSettingsSpecJSI::NativeDevSettingsSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["reload"] = MethodMetadata {0, __hostFunction_NativeDevSettingsSpecJSI_reload}; + + + methodMap_["reloadWithReason"] = MethodMetadata {1, __hostFunction_NativeDevSettingsSpecJSI_reloadWithReason}; + + + methodMap_["onFastRefresh"] = MethodMetadata {0, __hostFunction_NativeDevSettingsSpecJSI_onFastRefresh}; + + + methodMap_["setHotLoadingEnabled"] = MethodMetadata {1, __hostFunction_NativeDevSettingsSpecJSI_setHotLoadingEnabled}; + + + methodMap_["setIsDebuggingRemotely"] = MethodMetadata {1, __hostFunction_NativeDevSettingsSpecJSI_setIsDebuggingRemotely}; + + + methodMap_["setProfilingEnabled"] = MethodMetadata {1, __hostFunction_NativeDevSettingsSpecJSI_setProfilingEnabled}; + + + methodMap_["toggleElementInspector"] = MethodMetadata {0, __hostFunction_NativeDevSettingsSpecJSI_toggleElementInspector}; + + + methodMap_["addMenuItem"] = MethodMetadata {1, __hostFunction_NativeDevSettingsSpecJSI_addMenuItem}; + + + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeDevSettingsSpecJSI_addListener}; + + + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeDevSettingsSpecJSI_removeListeners}; + + + methodMap_["setIsShakeToShowDevMenuEnabled"] = MethodMetadata {1, __hostFunction_NativeDevSettingsSpecJSI_setIsShakeToShowDevMenuEnabled}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeDevSplitBundleLoaderSpecJSI_loadBundle(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "loadBundle", @selector(loadBundle:resolve:reject:), args, count); + } + + NativeDevSplitBundleLoaderSpecJSI::NativeDevSplitBundleLoaderSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["loadBundle"] = MethodMetadata {1, __hostFunction_NativeDevSplitBundleLoaderSpecJSI_loadBundle}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeDeviceEventManagerSpecJSI_invokeDefaultBackPressHandler(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "invokeDefaultBackPressHandler", @selector(invokeDefaultBackPressHandler), args, count); + } + + NativeDeviceEventManagerSpecJSI::NativeDeviceEventManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["invokeDefaultBackPressHandler"] = MethodMetadata {0, __hostFunction_NativeDeviceEventManagerSpecJSI_invokeDefaultBackPressHandler}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeDeviceInfoSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, ObjectKind, "getConstants", @selector(getConstants), args, count); + } + + NativeDeviceInfoSpecJSI::NativeDeviceInfoSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeDeviceInfoSpecJSI_getConstants}; + + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeExceptionsManager_StackFrame) ++ (RCTManagedPointer *)JS_NativeExceptionsManager_StackFrame:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +@implementation RCTCxxConvert (NativeExceptionsManager_ExceptionData) ++ (RCTManagedPointer *)JS_NativeExceptionsManager_ExceptionData:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeExceptionsManagerSpecJSI_reportFatalException(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "reportFatalException", @selector(reportFatalException:stack:exceptionId:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeExceptionsManagerSpecJSI_reportSoftException(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "reportSoftException", @selector(reportSoftException:stack:exceptionId:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeExceptionsManagerSpecJSI_reportException(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "reportException", @selector(reportException:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeExceptionsManagerSpecJSI_updateExceptionMessage(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "updateExceptionMessage", @selector(updateExceptionMessage:stack:exceptionId:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeExceptionsManagerSpecJSI_dismissRedbox(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "dismissRedbox", @selector(dismissRedbox), args, count); + } + + NativeExceptionsManagerSpecJSI::NativeExceptionsManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["reportFatalException"] = MethodMetadata {3, __hostFunction_NativeExceptionsManagerSpecJSI_reportFatalException}; + + + methodMap_["reportSoftException"] = MethodMetadata {3, __hostFunction_NativeExceptionsManagerSpecJSI_reportSoftException}; + + + methodMap_["reportException"] = MethodMetadata {1, __hostFunction_NativeExceptionsManagerSpecJSI_reportException}; + setMethodArgConversionSelector(@"reportException", 0, @"JS_NativeExceptionsManager_ExceptionData:"); + + methodMap_["updateExceptionMessage"] = MethodMetadata {3, __hostFunction_NativeExceptionsManagerSpecJSI_updateExceptionMessage}; + + + methodMap_["dismissRedbox"] = MethodMetadata {0, __hostFunction_NativeExceptionsManagerSpecJSI_dismissRedbox}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeFileReaderModuleSpecJSI_readAsDataURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "readAsDataURL", @selector(readAsDataURL:resolve:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeFileReaderModuleSpecJSI_readAsText(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "readAsText", @selector(readAsText:encoding:resolve:reject:), args, count); + } + + NativeFileReaderModuleSpecJSI::NativeFileReaderModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["readAsDataURL"] = MethodMetadata {1, __hostFunction_NativeFileReaderModuleSpecJSI_readAsDataURL}; + + + methodMap_["readAsText"] = MethodMetadata {2, __hostFunction_NativeFileReaderModuleSpecJSI_readAsText}; + + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeFrameRateLogger_SpecSetGlobalOptionsOptions) ++ (RCTManagedPointer *)JS_NativeFrameRateLogger_SpecSetGlobalOptionsOptions:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeFrameRateLoggerSpecJSI_setGlobalOptions(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setGlobalOptions", @selector(setGlobalOptions:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeFrameRateLoggerSpecJSI_setContext(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setContext", @selector(setContext:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeFrameRateLoggerSpecJSI_beginScroll(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "beginScroll", @selector(beginScroll), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeFrameRateLoggerSpecJSI_endScroll(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "endScroll", @selector(endScroll), args, count); + } + + NativeFrameRateLoggerSpecJSI::NativeFrameRateLoggerSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["setGlobalOptions"] = MethodMetadata {1, __hostFunction_NativeFrameRateLoggerSpecJSI_setGlobalOptions}; + setMethodArgConversionSelector(@"setGlobalOptions", 0, @"JS_NativeFrameRateLogger_SpecSetGlobalOptionsOptions:"); + + methodMap_["setContext"] = MethodMetadata {1, __hostFunction_NativeFrameRateLoggerSpecJSI_setContext}; + + + methodMap_["beginScroll"] = MethodMetadata {0, __hostFunction_NativeFrameRateLoggerSpecJSI_beginScroll}; + + + methodMap_["endScroll"] = MethodMetadata {0, __hostFunction_NativeFrameRateLoggerSpecJSI_endScroll}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeHeadlessJsTaskSupportSpecJSI_notifyTaskFinished(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "notifyTaskFinished", @selector(notifyTaskFinished:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeHeadlessJsTaskSupportSpecJSI_notifyTaskRetry(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "notifyTaskRetry", @selector(notifyTaskRetry:resolve:reject:), args, count); + } + + NativeHeadlessJsTaskSupportSpecJSI::NativeHeadlessJsTaskSupportSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["notifyTaskFinished"] = MethodMetadata {1, __hostFunction_NativeHeadlessJsTaskSupportSpecJSI_notifyTaskFinished}; + + + methodMap_["notifyTaskRetry"] = MethodMetadata {1, __hostFunction_NativeHeadlessJsTaskSupportSpecJSI_notifyTaskRetry}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeI18nManagerSpecJSI_allowRTL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "allowRTL", @selector(allowRTL:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeI18nManagerSpecJSI_forceRTL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "forceRTL", @selector(forceRTL:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeI18nManagerSpecJSI_swapLeftAndRightInRTL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "swapLeftAndRightInRTL", @selector(swapLeftAndRightInRTL:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeI18nManagerSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, ObjectKind, "getConstants", @selector(getConstants), args, count); + } + + NativeI18nManagerSpecJSI::NativeI18nManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["allowRTL"] = MethodMetadata {1, __hostFunction_NativeI18nManagerSpecJSI_allowRTL}; + + + methodMap_["forceRTL"] = MethodMetadata {1, __hostFunction_NativeI18nManagerSpecJSI_forceRTL}; + + + methodMap_["swapLeftAndRightInRTL"] = MethodMetadata {1, __hostFunction_NativeI18nManagerSpecJSI_swapLeftAndRightInRTL}; + + + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeI18nManagerSpecJSI_getConstants}; + + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeImageEditor_OptionsOffset) ++ (RCTManagedPointer *)JS_NativeImageEditor_OptionsOffset:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +@implementation RCTCxxConvert (NativeImageEditor_OptionsSize) ++ (RCTManagedPointer *)JS_NativeImageEditor_OptionsSize:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +@implementation RCTCxxConvert (NativeImageEditor_OptionsDisplaySize) ++ (RCTManagedPointer *)JS_NativeImageEditor_OptionsDisplaySize:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +@implementation RCTCxxConvert (NativeImageEditor_Options) ++ (RCTManagedPointer *)JS_NativeImageEditor_Options:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeImageEditorSpecJSI_cropImage(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "cropImage", @selector(cropImage:cropData:successCallback:errorCallback:), args, count); + } + + NativeImageEditorSpecJSI::NativeImageEditorSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["cropImage"] = MethodMetadata {4, __hostFunction_NativeImageEditorSpecJSI_cropImage}; + setMethodArgConversionSelector(@"cropImage", 1, @"JS_NativeImageEditor_Options:"); + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeImageLoaderIOSSpecJSI_getSize(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "getSize", @selector(getSize:resolve:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImageLoaderIOSSpecJSI_getSizeWithHeaders(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "getSizeWithHeaders", @selector(getSizeWithHeaders:headers:resolve:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImageLoaderIOSSpecJSI_prefetchImage(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "prefetchImage", @selector(prefetchImage:resolve:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImageLoaderIOSSpecJSI_prefetchImageWithMetadata(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "prefetchImageWithMetadata", @selector(prefetchImageWithMetadata:queryRootName:rootTag:resolve:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImageLoaderIOSSpecJSI_queryCache(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "queryCache", @selector(queryCache:resolve:reject:), args, count); + } + + NativeImageLoaderIOSSpecJSI::NativeImageLoaderIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getSize"] = MethodMetadata {1, __hostFunction_NativeImageLoaderIOSSpecJSI_getSize}; + + + methodMap_["getSizeWithHeaders"] = MethodMetadata {2, __hostFunction_NativeImageLoaderIOSSpecJSI_getSizeWithHeaders}; + + + methodMap_["prefetchImage"] = MethodMetadata {1, __hostFunction_NativeImageLoaderIOSSpecJSI_prefetchImage}; + + + methodMap_["prefetchImageWithMetadata"] = MethodMetadata {3, __hostFunction_NativeImageLoaderIOSSpecJSI_prefetchImageWithMetadata}; + + + methodMap_["queryCache"] = MethodMetadata {1, __hostFunction_NativeImageLoaderIOSSpecJSI_queryCache}; + + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeImagePickerIOS_SpecOpenCameraDialogConfig) ++ (RCTManagedPointer *)JS_NativeImagePickerIOS_SpecOpenCameraDialogConfig:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +@implementation RCTCxxConvert (NativeImagePickerIOS_SpecOpenSelectDialogConfig) ++ (RCTManagedPointer *)JS_NativeImagePickerIOS_SpecOpenSelectDialogConfig:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeImagePickerIOSSpecJSI_canRecordVideos(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "canRecordVideos", @selector(canRecordVideos:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImagePickerIOSSpecJSI_canUseCamera(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "canUseCamera", @selector(canUseCamera:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImagePickerIOSSpecJSI_openCameraDialog(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "openCameraDialog", @selector(openCameraDialog:successCallback:cancelCallback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImagePickerIOSSpecJSI_openSelectDialog(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "openSelectDialog", @selector(openSelectDialog:successCallback:cancelCallback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImagePickerIOSSpecJSI_clearAllPendingVideos(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "clearAllPendingVideos", @selector(clearAllPendingVideos), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImagePickerIOSSpecJSI_removePendingVideo(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removePendingVideo", @selector(removePendingVideo:), args, count); + } + + NativeImagePickerIOSSpecJSI::NativeImagePickerIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["canRecordVideos"] = MethodMetadata {1, __hostFunction_NativeImagePickerIOSSpecJSI_canRecordVideos}; + + + methodMap_["canUseCamera"] = MethodMetadata {1, __hostFunction_NativeImagePickerIOSSpecJSI_canUseCamera}; + + + methodMap_["openCameraDialog"] = MethodMetadata {3, __hostFunction_NativeImagePickerIOSSpecJSI_openCameraDialog}; + setMethodArgConversionSelector(@"openCameraDialog", 0, @"JS_NativeImagePickerIOS_SpecOpenCameraDialogConfig:"); + + methodMap_["openSelectDialog"] = MethodMetadata {3, __hostFunction_NativeImagePickerIOSSpecJSI_openSelectDialog}; + setMethodArgConversionSelector(@"openSelectDialog", 0, @"JS_NativeImagePickerIOS_SpecOpenSelectDialogConfig:"); + + methodMap_["clearAllPendingVideos"] = MethodMetadata {0, __hostFunction_NativeImagePickerIOSSpecJSI_clearAllPendingVideos}; + + + methodMap_["removePendingVideo"] = MethodMetadata {1, __hostFunction_NativeImagePickerIOSSpecJSI_removePendingVideo}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeImageStoreIOSSpecJSI_getBase64ForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getBase64ForTag", @selector(getBase64ForTag:successCallback:errorCallback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImageStoreIOSSpecJSI_hasImageForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "hasImageForTag", @selector(hasImageForTag:callback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImageStoreIOSSpecJSI_removeImageForTag(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeImageForTag", @selector(removeImageForTag:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeImageStoreIOSSpecJSI_addImageFromBase64(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addImageFromBase64", @selector(addImageFromBase64:successCallback:errorCallback:), args, count); + } + + NativeImageStoreIOSSpecJSI::NativeImageStoreIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getBase64ForTag"] = MethodMetadata {3, __hostFunction_NativeImageStoreIOSSpecJSI_getBase64ForTag}; + + + methodMap_["hasImageForTag"] = MethodMetadata {2, __hostFunction_NativeImageStoreIOSSpecJSI_hasImageForTag}; + + + methodMap_["removeImageForTag"] = MethodMetadata {1, __hostFunction_NativeImageStoreIOSSpecJSI_removeImageForTag}; + + + methodMap_["addImageFromBase64"] = MethodMetadata {3, __hostFunction_NativeImageStoreIOSSpecJSI_addImageFromBase64}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeJSCHeapCaptureSpecJSI_captureComplete(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "captureComplete", @selector(captureComplete:error:), args, count); + } + + NativeJSCHeapCaptureSpecJSI::NativeJSCHeapCaptureSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["captureComplete"] = MethodMetadata {2, __hostFunction_NativeJSCHeapCaptureSpecJSI_captureComplete}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeJSCSamplingProfilerSpecJSI_operationComplete(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "operationComplete", @selector(operationComplete:result:error:), args, count); + } + + NativeJSCSamplingProfilerSpecJSI::NativeJSCSamplingProfilerSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["operationComplete"] = MethodMetadata {3, __hostFunction_NativeJSCSamplingProfilerSpecJSI_operationComplete}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeJSDevSupportSpecJSI_onSuccess(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "onSuccess", @selector(onSuccess:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeJSDevSupportSpecJSI_onFailure(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "onFailure", @selector(onFailure:error:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeJSDevSupportSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, ObjectKind, "getConstants", @selector(getConstants), args, count); + } + + NativeJSDevSupportSpecJSI::NativeJSDevSupportSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["onSuccess"] = MethodMetadata {1, __hostFunction_NativeJSDevSupportSpecJSI_onSuccess}; + + + methodMap_["onFailure"] = MethodMetadata {2, __hostFunction_NativeJSDevSupportSpecJSI_onFailure}; + + + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeJSDevSupportSpecJSI_getConstants}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeKeyboardObserverSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeKeyboardObserverSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); + } + + NativeKeyboardObserverSpecJSI::NativeKeyboardObserverSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeKeyboardObserverSpecJSI_addListener}; + + + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeKeyboardObserverSpecJSI_removeListeners}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_getInitialURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "getInitialURL", @selector(getInitialURL:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_canOpenURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "canOpenURL", @selector(canOpenURL:resolve:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_openURL(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "openURL", @selector(openURL:resolve:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_openSettings(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "openSettings", @selector(openSettings:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeLinkingManagerSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); + } + + NativeLinkingManagerSpecJSI::NativeLinkingManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getInitialURL"] = MethodMetadata {0, __hostFunction_NativeLinkingManagerSpecJSI_getInitialURL}; + + + methodMap_["canOpenURL"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerSpecJSI_canOpenURL}; + + + methodMap_["openURL"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerSpecJSI_openURL}; + + + methodMap_["openSettings"] = MethodMetadata {0, __hostFunction_NativeLinkingManagerSpecJSI_openSettings}; + + + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerSpecJSI_addListener}; + + + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeLinkingManagerSpecJSI_removeListeners}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeLogBoxSpecJSI_show(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "show", @selector(show), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeLogBoxSpecJSI_hide(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "hide", @selector(hide), args, count); + } + + NativeLogBoxSpecJSI::NativeLogBoxSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["show"] = MethodMetadata {0, __hostFunction_NativeLogBoxSpecJSI_show}; + + + methodMap_["hide"] = MethodMetadata {0, __hostFunction_NativeLogBoxSpecJSI_hide}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeModalManagerSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeModalManagerSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); + } + + NativeModalManagerSpecJSI::NativeModalManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeModalManagerSpecJSI_addListener}; + + + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeModalManagerSpecJSI_removeListeners}; + + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeNetworkingIOS_SpecSendRequestQuery) ++ (RCTManagedPointer *)JS_NativeNetworkingIOS_SpecSendRequestQuery:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeNetworkingIOSSpecJSI_sendRequest(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "sendRequest", @selector(sendRequest:callback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeNetworkingIOSSpecJSI_abortRequest(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "abortRequest", @selector(abortRequest:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeNetworkingIOSSpecJSI_clearCookies(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "clearCookies", @selector(clearCookies:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeNetworkingIOSSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeNetworkingIOSSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); + } + + NativeNetworkingIOSSpecJSI::NativeNetworkingIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["sendRequest"] = MethodMetadata {2, __hostFunction_NativeNetworkingIOSSpecJSI_sendRequest}; + setMethodArgConversionSelector(@"sendRequest", 0, @"JS_NativeNetworkingIOS_SpecSendRequestQuery:"); + + methodMap_["abortRequest"] = MethodMetadata {1, __hostFunction_NativeNetworkingIOSSpecJSI_abortRequest}; + + + methodMap_["clearCookies"] = MethodMetadata {1, __hostFunction_NativeNetworkingIOSSpecJSI_clearCookies}; + + + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeNetworkingIOSSpecJSI_addListener}; + + + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeNetworkingIOSSpecJSI_removeListeners}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativePlatformConstantsIOSSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, ObjectKind, "getConstants", @selector(getConstants), args, count); + } + + NativePlatformConstantsIOSSpecJSI::NativePlatformConstantsIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativePlatformConstantsIOSSpecJSI_getConstants}; + + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativePushNotificationManagerIOS_SpecRequestPermissionsPermission) ++ (RCTManagedPointer *)JS_NativePushNotificationManagerIOS_SpecRequestPermissionsPermission:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +@implementation RCTCxxConvert (NativePushNotificationManagerIOS_Notification) ++ (RCTManagedPointer *)JS_NativePushNotificationManagerIOS_Notification:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_onFinishRemoteNotification(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "onFinishRemoteNotification", @selector(onFinishRemoteNotification:fetchResult:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_setApplicationIconBadgeNumber(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setApplicationIconBadgeNumber", @selector(setApplicationIconBadgeNumber:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_getApplicationIconBadgeNumber(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getApplicationIconBadgeNumber", @selector(getApplicationIconBadgeNumber:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_requestPermissions(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "requestPermissions", @selector(requestPermissions:resolve:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_abandonPermissions(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "abandonPermissions", @selector(abandonPermissions), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_checkPermissions(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "checkPermissions", @selector(checkPermissions:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_presentLocalNotification(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "presentLocalNotification", @selector(presentLocalNotification:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_scheduleLocalNotification(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "scheduleLocalNotification", @selector(scheduleLocalNotification:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_cancelAllLocalNotifications(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "cancelAllLocalNotifications", @selector(cancelAllLocalNotifications), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_cancelLocalNotifications(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "cancelLocalNotifications", @selector(cancelLocalNotifications:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_getInitialNotification(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "getInitialNotification", @selector(getInitialNotification:reject:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_getScheduledLocalNotifications(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getScheduledLocalNotifications", @selector(getScheduledLocalNotifications:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_removeAllDeliveredNotifications(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeAllDeliveredNotifications", @selector(removeAllDeliveredNotifications), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_removeDeliveredNotifications(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeDeliveredNotifications", @selector(removeDeliveredNotifications:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_getDeliveredNotifications(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getDeliveredNotifications", @selector(getDeliveredNotifications:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_getAuthorizationStatus(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getAuthorizationStatus", @selector(getAuthorizationStatus:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativePushNotificationManagerIOSSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); + } + + NativePushNotificationManagerIOSSpecJSI::NativePushNotificationManagerIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["onFinishRemoteNotification"] = MethodMetadata {2, __hostFunction_NativePushNotificationManagerIOSSpecJSI_onFinishRemoteNotification}; + + + methodMap_["setApplicationIconBadgeNumber"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_setApplicationIconBadgeNumber}; + + + methodMap_["getApplicationIconBadgeNumber"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_getApplicationIconBadgeNumber}; + + + methodMap_["requestPermissions"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_requestPermissions}; + setMethodArgConversionSelector(@"requestPermissions", 0, @"JS_NativePushNotificationManagerIOS_SpecRequestPermissionsPermission:"); + + methodMap_["abandonPermissions"] = MethodMetadata {0, __hostFunction_NativePushNotificationManagerIOSSpecJSI_abandonPermissions}; + + + methodMap_["checkPermissions"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_checkPermissions}; + + + methodMap_["presentLocalNotification"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_presentLocalNotification}; + setMethodArgConversionSelector(@"presentLocalNotification", 0, @"JS_NativePushNotificationManagerIOS_Notification:"); + + methodMap_["scheduleLocalNotification"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_scheduleLocalNotification}; + setMethodArgConversionSelector(@"scheduleLocalNotification", 0, @"JS_NativePushNotificationManagerIOS_Notification:"); + + methodMap_["cancelAllLocalNotifications"] = MethodMetadata {0, __hostFunction_NativePushNotificationManagerIOSSpecJSI_cancelAllLocalNotifications}; + + + methodMap_["cancelLocalNotifications"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_cancelLocalNotifications}; + + + methodMap_["getInitialNotification"] = MethodMetadata {0, __hostFunction_NativePushNotificationManagerIOSSpecJSI_getInitialNotification}; + + + methodMap_["getScheduledLocalNotifications"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_getScheduledLocalNotifications}; + + + methodMap_["removeAllDeliveredNotifications"] = MethodMetadata {0, __hostFunction_NativePushNotificationManagerIOSSpecJSI_removeAllDeliveredNotifications}; + + + methodMap_["removeDeliveredNotifications"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_removeDeliveredNotifications}; + + + methodMap_["getDeliveredNotifications"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_getDeliveredNotifications}; + + + methodMap_["getAuthorizationStatus"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_getAuthorizationStatus}; + + + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_addListener}; + + + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativePushNotificationManagerIOSSpecJSI_removeListeners}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeRedBoxSpecJSI_setExtraData(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setExtraData", @selector(setExtraData:forIdentifier:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeRedBoxSpecJSI_dismiss(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "dismiss", @selector(dismiss), args, count); + } + + NativeRedBoxSpecJSI::NativeRedBoxSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["setExtraData"] = MethodMetadata {2, __hostFunction_NativeRedBoxSpecJSI_setExtraData}; + + + methodMap_["dismiss"] = MethodMetadata {0, __hostFunction_NativeRedBoxSpecJSI_dismiss}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeSegmentFetcherSpecJSI_fetchSegment(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "fetchSegment", @selector(fetchSegment:options:callback:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeSegmentFetcherSpecJSI_getSegment(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getSegment", @selector(getSegment:options:callback:), args, count); + } + + NativeSegmentFetcherSpecJSI::NativeSegmentFetcherSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["fetchSegment"] = MethodMetadata {3, __hostFunction_NativeSegmentFetcherSpecJSI_fetchSegment}; + + + methodMap_["getSegment"] = MethodMetadata {3, __hostFunction_NativeSegmentFetcherSpecJSI_getSegment}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeSettingsManagerSpecJSI_setValues(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setValues", @selector(setValues:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeSettingsManagerSpecJSI_deleteValues(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "deleteValues", @selector(deleteValues:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeSettingsManagerSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, ObjectKind, "getConstants", @selector(getConstants), args, count); + } + + NativeSettingsManagerSpecJSI::NativeSettingsManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["setValues"] = MethodMetadata {1, __hostFunction_NativeSettingsManagerSpecJSI_setValues}; + + + methodMap_["deleteValues"] = MethodMetadata {1, __hostFunction_NativeSettingsManagerSpecJSI_deleteValues}; + + + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeSettingsManagerSpecJSI_getConstants}; + + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeShareModule_SpecShareContent) ++ (RCTManagedPointer *)JS_NativeShareModule_SpecShareContent:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeShareModuleSpecJSI_share(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, PromiseKind, "share", @selector(share:dialogTitle:resolve:reject:), args, count); + } + + NativeShareModuleSpecJSI::NativeShareModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["share"] = MethodMetadata {2, __hostFunction_NativeShareModuleSpecJSI_share}; + setMethodArgConversionSelector(@"share", 0, @"JS_NativeShareModule_SpecShareContent:"); + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeSoundManagerSpecJSI_playTouchSound(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "playTouchSound", @selector(playTouchSound), args, count); + } + + NativeSoundManagerSpecJSI::NativeSoundManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["playTouchSound"] = MethodMetadata {0, __hostFunction_NativeSoundManagerSpecJSI_playTouchSound}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeSourceCodeSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, ObjectKind, "getConstants", @selector(getConstants), args, count); + } + + NativeSourceCodeSpecJSI::NativeSourceCodeSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeSourceCodeSpecJSI_getConstants}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeStatusBarManagerIOSSpecJSI_getHeight(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "getHeight", @selector(getHeight:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeStatusBarManagerIOSSpecJSI_setNetworkActivityIndicatorVisible(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setNetworkActivityIndicatorVisible", @selector(setNetworkActivityIndicatorVisible:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeStatusBarManagerIOSSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeStatusBarManagerIOSSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeStatusBarManagerIOSSpecJSI_setStyle(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setStyle", @selector(setStyle:animated:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeStatusBarManagerIOSSpecJSI_setHidden(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setHidden", @selector(setHidden:withAnimation:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeStatusBarManagerIOSSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, ObjectKind, "getConstants", @selector(getConstants), args, count); + } + + NativeStatusBarManagerIOSSpecJSI::NativeStatusBarManagerIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["getHeight"] = MethodMetadata {1, __hostFunction_NativeStatusBarManagerIOSSpecJSI_getHeight}; + + + methodMap_["setNetworkActivityIndicatorVisible"] = MethodMetadata {1, __hostFunction_NativeStatusBarManagerIOSSpecJSI_setNetworkActivityIndicatorVisible}; + + + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeStatusBarManagerIOSSpecJSI_addListener}; + + + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeStatusBarManagerIOSSpecJSI_removeListeners}; + + + methodMap_["setStyle"] = MethodMetadata {2, __hostFunction_NativeStatusBarManagerIOSSpecJSI_setStyle}; + + + methodMap_["setHidden"] = MethodMetadata {2, __hostFunction_NativeStatusBarManagerIOSSpecJSI_setHidden}; + + + methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeStatusBarManagerIOSSpecJSI_getConstants}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeTimingSpecJSI_createTimer(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "createTimer", @selector(createTimer:duration:jsSchedulingTime:repeats:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeTimingSpecJSI_deleteTimer(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "deleteTimer", @selector(deleteTimer:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeTimingSpecJSI_setSendIdleEvents(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "setSendIdleEvents", @selector(setSendIdleEvents:), args, count); + } + + NativeTimingSpecJSI::NativeTimingSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["createTimer"] = MethodMetadata {4, __hostFunction_NativeTimingSpecJSI_createTimer}; + + + methodMap_["deleteTimer"] = MethodMetadata {1, __hostFunction_NativeTimingSpecJSI_deleteTimer}; + + + methodMap_["setSendIdleEvents"] = MethodMetadata {1, __hostFunction_NativeTimingSpecJSI_setSendIdleEvents}; + + } + } // namespace react +} // namespace facebook + +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeVibrationSpecJSI_vibrate(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "vibrate", @selector(vibrate:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeVibrationSpecJSI_vibrateByPattern(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "vibrateByPattern", @selector(vibrateByPattern:repeat:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeVibrationSpecJSI_cancel(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "cancel", @selector(cancel), args, count); + } + + NativeVibrationSpecJSI::NativeVibrationSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["vibrate"] = MethodMetadata {1, __hostFunction_NativeVibrationSpecJSI_vibrate}; + + + methodMap_["vibrateByPattern"] = MethodMetadata {2, __hostFunction_NativeVibrationSpecJSI_vibrateByPattern}; + + + methodMap_["cancel"] = MethodMetadata {0, __hostFunction_NativeVibrationSpecJSI_cancel}; + + } + } // namespace react +} // namespace facebook +@implementation RCTCxxConvert (NativeWebSocketModule_SpecConnectOptions) ++ (RCTManagedPointer *)JS_NativeWebSocketModule_SpecConnectOptions:(id)json +{ + return facebook::react::managedPointer(json); +} +@end +namespace facebook { + namespace react { + + static facebook::jsi::Value __hostFunction_NativeWebSocketModuleSpecJSI_connect(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "connect", @selector(connect:protocols:options:socketID:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeWebSocketModuleSpecJSI_send(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "send", @selector(send:forSocketID:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeWebSocketModuleSpecJSI_sendBinary(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "sendBinary", @selector(sendBinary:forSocketID:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeWebSocketModuleSpecJSI_ping(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "ping", @selector(ping:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeWebSocketModuleSpecJSI_close(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "close", @selector(close:reason:socketID:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeWebSocketModuleSpecJSI_addListener(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "addListener", @selector(addListener:), args, count); + } + + static facebook::jsi::Value __hostFunction_NativeWebSocketModuleSpecJSI_removeListeners(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "removeListeners", @selector(removeListeners:), args, count); + } + + NativeWebSocketModuleSpecJSI::NativeWebSocketModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms) + : ObjCTurboModule(params) { + + methodMap_["connect"] = MethodMetadata {4, __hostFunction_NativeWebSocketModuleSpecJSI_connect}; + setMethodArgConversionSelector(@"connect", 2, @"JS_NativeWebSocketModule_SpecConnectOptions:"); + + methodMap_["send"] = MethodMetadata {2, __hostFunction_NativeWebSocketModuleSpecJSI_send}; + + + methodMap_["sendBinary"] = MethodMetadata {2, __hostFunction_NativeWebSocketModuleSpecJSI_sendBinary}; + + + methodMap_["ping"] = MethodMetadata {1, __hostFunction_NativeWebSocketModuleSpecJSI_ping}; + + + methodMap_["close"] = MethodMetadata {3, __hostFunction_NativeWebSocketModuleSpecJSI_close}; + + + methodMap_["addListener"] = MethodMetadata {1, __hostFunction_NativeWebSocketModuleSpecJSI_addListener}; + + + methodMap_["removeListeners"] = MethodMetadata {1, __hostFunction_NativeWebSocketModuleSpecJSI_removeListeners}; + + } + } // namespace react +} // namespace facebook diff --git a/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h b/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h new file mode 100644 index 00000000000000..0491d34826f952 --- /dev/null +++ b/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h @@ -0,0 +1,2554 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @generated by codegen project: GenerateModuleObjCpp + * + * We create an umbrella header (and corresponding implementation) here since + * Cxx compilation in BUCK has a limitation: source-code producing genrule()s + * must have a single output. More files => more genrule()s => slower builds. + */ + +#ifndef __cplusplus +#error This file must be compiled as Obj-C++. If you are importing it, you must change your file extension to .mm. +#endif +#import +#import +#import +#import +#import +#import +#import +#import +#import +#import + + +@protocol NativeAccessibilityInfoSpec + +- (void)isReduceMotionEnabled:(RCTResponseSenderBlock)onSuccess; +- (void)isTouchExplorationEnabled:(RCTResponseSenderBlock)onSuccess; +- (void)setAccessibilityFocus:(double)reactTag; +- (void)announceForAccessibility:(NSString *)announcement; +- (void)getRecommendedTimeoutMillis:(double)mSec + onSuccess:(RCTResponseSenderBlock)onSuccess; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeAccessibilityInfo' + */ + class JSI_EXPORT NativeAccessibilityInfoSpecJSI : public ObjCTurboModule { + public: + NativeAccessibilityInfoSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeAccessibilityManager { + struct SpecSetAccessibilityContentSizeMultipliersJSMultipliers { + folly::Optional extraSmall() const; + folly::Optional small() const; + folly::Optional medium() const; + folly::Optional large() const; + folly::Optional extraLarge() const; + folly::Optional extraExtraLarge() const; + folly::Optional extraExtraExtraLarge() const; + folly::Optional accessibilityMedium() const; + folly::Optional accessibilityLarge() const; + folly::Optional accessibilityExtraLarge() const; + folly::Optional accessibilityExtraExtraLarge() const; + folly::Optional accessibilityExtraExtraExtraLarge() const; + + SpecSetAccessibilityContentSizeMultipliersJSMultipliers(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeAccessibilityManager_SpecSetAccessibilityContentSizeMultipliersJSMultipliers) ++ (RCTManagedPointer *)JS_NativeAccessibilityManager_SpecSetAccessibilityContentSizeMultipliersJSMultipliers:(id)json; +@end +@protocol NativeAccessibilityManagerSpec + +- (void)getCurrentBoldTextState:(RCTResponseSenderBlock)onSuccess + onError:(RCTResponseSenderBlock)onError; +- (void)getCurrentGrayscaleState:(RCTResponseSenderBlock)onSuccess + onError:(RCTResponseSenderBlock)onError; +- (void)getCurrentInvertColorsState:(RCTResponseSenderBlock)onSuccess + onError:(RCTResponseSenderBlock)onError; +- (void)getCurrentReduceMotionState:(RCTResponseSenderBlock)onSuccess + onError:(RCTResponseSenderBlock)onError; +- (void)getCurrentReduceTransparencyState:(RCTResponseSenderBlock)onSuccess + onError:(RCTResponseSenderBlock)onError; +- (void)getCurrentVoiceOverState:(RCTResponseSenderBlock)onSuccess + onError:(RCTResponseSenderBlock)onError; +- (void)setAccessibilityContentSizeMultipliers:(JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers &)JSMultipliers; +- (void)setAccessibilityFocus:(double)reactTag; +- (void)announceForAccessibility:(NSString *)announcement; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeAccessibilityManager' + */ + class JSI_EXPORT NativeAccessibilityManagerSpecJSI : public ObjCTurboModule { + public: + NativeAccessibilityManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeActionSheetManager { + struct SpecShowActionSheetWithOptionsOptions { + NSString *title() const; + NSString *message() const; + folly::Optional> options() const; + folly::Optional> destructiveButtonIndices() const; + folly::Optional cancelButtonIndex() const; + folly::Optional anchor() const; + folly::Optional tintColor() const; + NSString *userInterfaceStyle() const; + folly::Optional> disabledButtonIndices() const; + + SpecShowActionSheetWithOptionsOptions(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeActionSheetManager_SpecShowActionSheetWithOptionsOptions) ++ (RCTManagedPointer *)JS_NativeActionSheetManager_SpecShowActionSheetWithOptionsOptions:(id)json; +@end +namespace JS { + namespace NativeActionSheetManager { + struct SpecShowShareActionSheetWithOptionsOptions { + NSString *message() const; + NSString *url() const; + NSString *subject() const; + folly::Optional anchor() const; + folly::Optional tintColor() const; + folly::Optional> excludedActivityTypes() const; + NSString *userInterfaceStyle() const; + + SpecShowShareActionSheetWithOptionsOptions(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeActionSheetManager_SpecShowShareActionSheetWithOptionsOptions) ++ (RCTManagedPointer *)JS_NativeActionSheetManager_SpecShowShareActionSheetWithOptionsOptions:(id)json; +@end +@protocol NativeActionSheetManagerSpec + +- (void)showActionSheetWithOptions:(JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions &)options + callback:(RCTResponseSenderBlock)callback; +- (void)showShareActionSheetWithOptions:(JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions &)options + failureCallback:(RCTResponseSenderBlock)failureCallback + successCallback:(RCTResponseSenderBlock)successCallback; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeActionSheetManager' + */ + class JSI_EXPORT NativeActionSheetManagerSpecJSI : public ObjCTurboModule { + public: + NativeActionSheetManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeAlertManager { + struct Args { + NSString *title() const; + NSString *message() const; + folly::Optional >> buttons() const; + NSString *type() const; + NSString *defaultValue() const; + NSString *cancelButtonKey() const; + NSString *destructiveButtonKey() const; + NSString *keyboardType() const; + + Args(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeAlertManager_Args) ++ (RCTManagedPointer *)JS_NativeAlertManager_Args:(id)json; +@end +@protocol NativeAlertManagerSpec + +- (void)alertWithArgs:(JS::NativeAlertManager::Args &)args + callback:(RCTResponseSenderBlock)callback; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeAlertManager' + */ + class JSI_EXPORT NativeAlertManagerSpecJSI : public ObjCTurboModule { + public: + NativeAlertManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeAnimatedModule { + struct EventMapping { + facebook::react::LazyVector nativeEventPath() const; + folly::Optional animatedValueTag() const; + + EventMapping(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeAnimatedModule_EventMapping) ++ (RCTManagedPointer *)JS_NativeAnimatedModule_EventMapping:(id)json; +@end +@protocol NativeAnimatedModuleSpec + +- (void)startOperationBatch; +- (void)finishOperationBatch; +- (void)createAnimatedNode:(double)tag + config:(NSDictionary *)config; +- (void)getValue:(double)tag +saveValueCallback:(RCTResponseSenderBlock)saveValueCallback; +- (void)startListeningToAnimatedNodeValue:(double)tag; +- (void)stopListeningToAnimatedNodeValue:(double)tag; +- (void)connectAnimatedNodes:(double)parentTag + childTag:(double)childTag; +- (void)disconnectAnimatedNodes:(double)parentTag + childTag:(double)childTag; +- (void)startAnimatingNode:(double)animationId + nodeTag:(double)nodeTag + config:(NSDictionary *)config + endCallback:(RCTResponseSenderBlock)endCallback; +- (void)stopAnimation:(double)animationId; +- (void)setAnimatedNodeValue:(double)nodeTag + value:(double)value; +- (void)setAnimatedNodeOffset:(double)nodeTag + offset:(double)offset; +- (void)flattenAnimatedNodeOffset:(double)nodeTag; +- (void)extractAnimatedNodeOffset:(double)nodeTag; +- (void)connectAnimatedNodeToView:(double)nodeTag + viewTag:(double)viewTag; +- (void)disconnectAnimatedNodeFromView:(double)nodeTag + viewTag:(double)viewTag; +- (void)restoreDefaultValues:(double)nodeTag; +- (void)dropAnimatedNode:(double)tag; +- (void)addAnimatedEventToView:(double)viewTag + eventName:(NSString *)eventName + eventMapping:(JS::NativeAnimatedModule::EventMapping &)eventMapping; +- (void)removeAnimatedEventFromView:(double)viewTag + eventName:(NSString *)eventName + animatedNodeTag:(double)animatedNodeTag; +- (void)addListener:(NSString *)eventName; +- (void)removeListeners:(double)count; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeAnimatedModule' + */ + class JSI_EXPORT NativeAnimatedModuleSpecJSI : public ObjCTurboModule { + public: + NativeAnimatedModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeAnimatedTurboModule { + struct EventMapping { + facebook::react::LazyVector nativeEventPath() const; + folly::Optional animatedValueTag() const; + + EventMapping(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeAnimatedTurboModule_EventMapping) ++ (RCTManagedPointer *)JS_NativeAnimatedTurboModule_EventMapping:(id)json; +@end +@protocol NativeAnimatedTurboModuleSpec + +- (void)startOperationBatch; +- (void)finishOperationBatch; +- (void)createAnimatedNode:(double)tag + config:(NSDictionary *)config; +- (void)getValue:(double)tag +saveValueCallback:(RCTResponseSenderBlock)saveValueCallback; +- (void)startListeningToAnimatedNodeValue:(double)tag; +- (void)stopListeningToAnimatedNodeValue:(double)tag; +- (void)connectAnimatedNodes:(double)parentTag + childTag:(double)childTag; +- (void)disconnectAnimatedNodes:(double)parentTag + childTag:(double)childTag; +- (void)startAnimatingNode:(double)animationId + nodeTag:(double)nodeTag + config:(NSDictionary *)config + endCallback:(RCTResponseSenderBlock)endCallback; +- (void)stopAnimation:(double)animationId; +- (void)setAnimatedNodeValue:(double)nodeTag + value:(double)value; +- (void)setAnimatedNodeOffset:(double)nodeTag + offset:(double)offset; +- (void)flattenAnimatedNodeOffset:(double)nodeTag; +- (void)extractAnimatedNodeOffset:(double)nodeTag; +- (void)connectAnimatedNodeToView:(double)nodeTag + viewTag:(double)viewTag; +- (void)disconnectAnimatedNodeFromView:(double)nodeTag + viewTag:(double)viewTag; +- (void)restoreDefaultValues:(double)nodeTag; +- (void)dropAnimatedNode:(double)tag; +- (void)addAnimatedEventToView:(double)viewTag + eventName:(NSString *)eventName + eventMapping:(JS::NativeAnimatedTurboModule::EventMapping &)eventMapping; +- (void)removeAnimatedEventFromView:(double)viewTag + eventName:(NSString *)eventName + animatedNodeTag:(double)animatedNodeTag; +- (void)addListener:(NSString *)eventName; +- (void)removeListeners:(double)count; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeAnimatedTurboModule' + */ + class JSI_EXPORT NativeAnimatedTurboModuleSpecJSI : public ObjCTurboModule { + public: + NativeAnimatedTurboModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeAnimationsDebugModuleSpec + +- (void)startRecordingFps; +- (void)stopRecordingFps:(double)animationStopTimeMs; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeAnimationsDebugModule' + */ + class JSI_EXPORT NativeAnimationsDebugModuleSpecJSI : public ObjCTurboModule { + public: + NativeAnimationsDebugModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeAppState { + struct Constants { + + struct Builder { + struct Input { + RCTRequired initialAppState; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing Constants */ + Builder(Constants i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static Constants fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + Constants(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +@protocol NativeAppStateSpec + +- (void)getCurrentAppState:(RCTResponseSenderBlock)success + error:(RCTResponseSenderBlock)error; +- (void)addListener:(NSString *)eventName; +- (void)removeListeners:(double)count; +- (facebook::react::ModuleConstants)constantsToExport; +- (facebook::react::ModuleConstants)getConstants; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeAppState' + */ + class JSI_EXPORT NativeAppStateSpecJSI : public ObjCTurboModule { + public: + NativeAppStateSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeAppearanceSpec + +- (NSString * _Nullable)getColorScheme; +- (void)addListener:(NSString *)eventName; +- (void)removeListeners:(double)count; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeAppearance' + */ + class JSI_EXPORT NativeAppearanceSpecJSI : public ObjCTurboModule { + public: + NativeAppearanceSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeAsyncLocalStorageSpec + +- (void)multiGet:(NSArray *)keys + callback:(RCTResponseSenderBlock)callback; +- (void)multiSet:(NSArray *)kvPairs + callback:(RCTResponseSenderBlock)callback; +- (void)multiMerge:(NSArray *)kvPairs + callback:(RCTResponseSenderBlock)callback; +- (void)multiRemove:(NSArray *)keys + callback:(RCTResponseSenderBlock)callback; +- (void)clear:(RCTResponseSenderBlock)callback; +- (void)getAllKeys:(RCTResponseSenderBlock)callback; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeAsyncLocalStorage' + */ + class JSI_EXPORT NativeAsyncLocalStorageSpecJSI : public ObjCTurboModule { + public: + NativeAsyncLocalStorageSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeAsyncSQLiteDBStorageSpec + +- (void)multiGet:(NSArray *)keys + callback:(RCTResponseSenderBlock)callback; +- (void)multiSet:(NSArray *)kvPairs + callback:(RCTResponseSenderBlock)callback; +- (void)multiMerge:(NSArray *)kvPairs + callback:(RCTResponseSenderBlock)callback; +- (void)multiRemove:(NSArray *)keys + callback:(RCTResponseSenderBlock)callback; +- (void)clear:(RCTResponseSenderBlock)callback; +- (void)getAllKeys:(RCTResponseSenderBlock)callback; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeAsyncSQLiteDBStorage' + */ + class JSI_EXPORT NativeAsyncSQLiteDBStorageSpecJSI : public ObjCTurboModule { + public: + NativeAsyncSQLiteDBStorageSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeBlobModule { + struct Constants { + + struct Builder { + struct Input { + RCTRequired BLOB_URI_SCHEME; + RCTRequired BLOB_URI_HOST; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing Constants */ + Builder(Constants i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static Constants fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + Constants(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +@protocol NativeBlobModuleSpec + +- (void)addNetworkingHandler; +- (void)addWebSocketHandler:(double)id; +- (void)removeWebSocketHandler:(double)id; +- (void)sendOverSocket:(NSDictionary *)blob + socketID:(double)socketID; +- (void)createFromParts:(NSArray *)parts + withId:(NSString *)withId; +- (void)release:(NSString *)blobId; +- (facebook::react::ModuleConstants)constantsToExport; +- (facebook::react::ModuleConstants)getConstants; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeBlobModule' + */ + class JSI_EXPORT NativeBlobModuleSpecJSI : public ObjCTurboModule { + public: + NativeBlobModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeBugReportingSpec + +- (void)startReportAProblemFlow; +- (void)setExtraData:(NSDictionary *)extraData + extraFiles:(NSDictionary *)extraFiles; +- (void)setCategoryID:(NSString *)categoryID; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeBugReporting' + */ + class JSI_EXPORT NativeBugReportingSpecJSI : public ObjCTurboModule { + public: + NativeBugReportingSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeClipboardSpec + +- (void)getString:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)setString:(NSString *)content; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeClipboard' + */ + class JSI_EXPORT NativeClipboardSpecJSI : public ObjCTurboModule { + public: + NativeClipboardSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeDevLoadingViewSpec + +- (void)showMessage:(NSString *)message + withColor:(NSNumber *)withColor +withBackgroundColor:(NSNumber *)withBackgroundColor; +- (void)hide; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeDevLoadingView' + */ + class JSI_EXPORT NativeDevLoadingViewSpecJSI : public ObjCTurboModule { + public: + NativeDevLoadingViewSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeDevMenuSpec + +- (void)show; +- (void)reload; +- (void)debugRemotely:(BOOL)enableDebug; +- (void)setProfilingEnabled:(BOOL)enabled; +- (void)setHotLoadingEnabled:(BOOL)enabled; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeDevMenu' + */ + class JSI_EXPORT NativeDevMenuSpecJSI : public ObjCTurboModule { + public: + NativeDevMenuSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeDevSettingsSpec + +- (void)reload; +- (void)reloadWithReason:(NSString *)reason; +- (void)onFastRefresh; +- (void)setHotLoadingEnabled:(BOOL)isHotLoadingEnabled; +- (void)setIsDebuggingRemotely:(BOOL)isDebuggingRemotelyEnabled; +- (void)setProfilingEnabled:(BOOL)isProfilingEnabled; +- (void)toggleElementInspector; +- (void)addMenuItem:(NSString *)title; +- (void)addListener:(NSString *)eventName; +- (void)removeListeners:(double)count; +- (void)setIsShakeToShowDevMenuEnabled:(BOOL)enabled; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeDevSettings' + */ + class JSI_EXPORT NativeDevSettingsSpecJSI : public ObjCTurboModule { + public: + NativeDevSettingsSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeDevSplitBundleLoaderSpec + +- (void)loadBundle:(NSString *)bundlePath + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeDevSplitBundleLoader' + */ + class JSI_EXPORT NativeDevSplitBundleLoaderSpecJSI : public ObjCTurboModule { + public: + NativeDevSplitBundleLoaderSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeDeviceEventManagerSpec + +- (void)invokeDefaultBackPressHandler; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeDeviceEventManager' + */ + class JSI_EXPORT NativeDeviceEventManagerSpecJSI : public ObjCTurboModule { + public: + NativeDeviceEventManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeDeviceInfo { + struct DisplayMetrics { + + struct Builder { + struct Input { + RCTRequired width; + RCTRequired height; + RCTRequired scale; + RCTRequired fontScale; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing DisplayMetrics */ + Builder(DisplayMetrics i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static DisplayMetrics fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + DisplayMetrics(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +namespace JS { + namespace NativeDeviceInfo { + struct DisplayMetricsAndroid { + + struct Builder { + struct Input { + RCTRequired width; + RCTRequired height; + RCTRequired scale; + RCTRequired fontScale; + RCTRequired densityDpi; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing DisplayMetricsAndroid */ + Builder(DisplayMetricsAndroid i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static DisplayMetricsAndroid fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + DisplayMetricsAndroid(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +namespace JS { + namespace NativeDeviceInfo { + struct DimensionsPayload { + + struct Builder { + struct Input { + folly::Optional window; + folly::Optional screen; + folly::Optional windowPhysicalPixels; + folly::Optional screenPhysicalPixels; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing DimensionsPayload */ + Builder(DimensionsPayload i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static DimensionsPayload fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + DimensionsPayload(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +namespace JS { + namespace NativeDeviceInfo { + struct Constants { + + struct Builder { + struct Input { + RCTRequired Dimensions; + folly::Optional isIPhoneX_deprecated; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing Constants */ + Builder(Constants i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static Constants fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + Constants(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +@protocol NativeDeviceInfoSpec + +- (facebook::react::ModuleConstants)constantsToExport; +- (facebook::react::ModuleConstants)getConstants; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeDeviceInfo' + */ + class JSI_EXPORT NativeDeviceInfoSpecJSI : public ObjCTurboModule { + public: + NativeDeviceInfoSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeExceptionsManager { + struct StackFrame { + folly::Optional column() const; + NSString *file() const; + folly::Optional lineNumber() const; + NSString *methodName() const; + folly::Optional collapse() const; + + StackFrame(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeExceptionsManager_StackFrame) ++ (RCTManagedPointer *)JS_NativeExceptionsManager_StackFrame:(id)json; +@end +namespace JS { + namespace NativeExceptionsManager { + struct ExceptionData { + NSString *message() const; + NSString *originalMessage() const; + NSString *name() const; + NSString *componentStack() const; + facebook::react::LazyVector stack() const; + double id_() const; + bool isFatal() const; + id _Nullable extraData() const; + + ExceptionData(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeExceptionsManager_ExceptionData) ++ (RCTManagedPointer *)JS_NativeExceptionsManager_ExceptionData:(id)json; +@end +@protocol NativeExceptionsManagerSpec + +- (void)reportFatalException:(NSString *)message + stack:(NSArray *)stack + exceptionId:(double)exceptionId; +- (void)reportSoftException:(NSString *)message + stack:(NSArray *)stack + exceptionId:(double)exceptionId; +- (void)reportException:(JS::NativeExceptionsManager::ExceptionData &)data; +- (void)updateExceptionMessage:(NSString *)message + stack:(NSArray *)stack + exceptionId:(double)exceptionId; +- (void)dismissRedbox; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeExceptionsManager' + */ + class JSI_EXPORT NativeExceptionsManagerSpecJSI : public ObjCTurboModule { + public: + NativeExceptionsManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeFileReaderModuleSpec + +- (void)readAsDataURL:(NSDictionary *)data + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)readAsText:(NSDictionary *)data + encoding:(NSString *)encoding + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeFileReaderModule' + */ + class JSI_EXPORT NativeFileReaderModuleSpecJSI : public ObjCTurboModule { + public: + NativeFileReaderModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeFrameRateLogger { + struct SpecSetGlobalOptionsOptions { + folly::Optional debug() const; + folly::Optional reportStackTraces() const; + + SpecSetGlobalOptionsOptions(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeFrameRateLogger_SpecSetGlobalOptionsOptions) ++ (RCTManagedPointer *)JS_NativeFrameRateLogger_SpecSetGlobalOptionsOptions:(id)json; +@end +@protocol NativeFrameRateLoggerSpec + +- (void)setGlobalOptions:(JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions &)options; +- (void)setContext:(NSString *)context; +- (void)beginScroll; +- (void)endScroll; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeFrameRateLogger' + */ + class JSI_EXPORT NativeFrameRateLoggerSpecJSI : public ObjCTurboModule { + public: + NativeFrameRateLoggerSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeHeadlessJsTaskSupportSpec + +- (void)notifyTaskFinished:(double)taskId; +- (void)notifyTaskRetry:(double)taskId + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeHeadlessJsTaskSupport' + */ + class JSI_EXPORT NativeHeadlessJsTaskSupportSpecJSI : public ObjCTurboModule { + public: + NativeHeadlessJsTaskSupportSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeI18nManager { + struct Constants { + + struct Builder { + struct Input { + RCTRequired isRTL; + RCTRequired doLeftAndRightSwapInRTL; + RCTRequired localeIdentifier; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing Constants */ + Builder(Constants i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static Constants fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + Constants(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +@protocol NativeI18nManagerSpec + +- (void)allowRTL:(BOOL)allowRTL; +- (void)forceRTL:(BOOL)forceRTL; +- (void)swapLeftAndRightInRTL:(BOOL)flipStyles; +- (facebook::react::ModuleConstants)constantsToExport; +- (facebook::react::ModuleConstants)getConstants; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeI18nManager' + */ + class JSI_EXPORT NativeI18nManagerSpecJSI : public ObjCTurboModule { + public: + NativeI18nManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeImageEditor { + struct OptionsOffset { + double x() const; + double y() const; + + OptionsOffset(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeImageEditor_OptionsOffset) ++ (RCTManagedPointer *)JS_NativeImageEditor_OptionsOffset:(id)json; +@end +namespace JS { + namespace NativeImageEditor { + struct OptionsSize { + double width() const; + double height() const; + + OptionsSize(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeImageEditor_OptionsSize) ++ (RCTManagedPointer *)JS_NativeImageEditor_OptionsSize:(id)json; +@end +namespace JS { + namespace NativeImageEditor { + struct OptionsDisplaySize { + double width() const; + double height() const; + + OptionsDisplaySize(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeImageEditor_OptionsDisplaySize) ++ (RCTManagedPointer *)JS_NativeImageEditor_OptionsDisplaySize:(id)json; +@end +namespace JS { + namespace NativeImageEditor { + struct Options { + JS::NativeImageEditor::OptionsOffset offset() const; + JS::NativeImageEditor::OptionsSize size() const; + folly::Optional displaySize() const; + NSString *resizeMode() const; + folly::Optional allowExternalStorage() const; + + Options(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeImageEditor_Options) ++ (RCTManagedPointer *)JS_NativeImageEditor_Options:(id)json; +@end +@protocol NativeImageEditorSpec + +- (void)cropImage:(NSString *)uri + cropData:(JS::NativeImageEditor::Options &)cropData + successCallback:(RCTResponseSenderBlock)successCallback + errorCallback:(RCTResponseSenderBlock)errorCallback; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeImageEditor' + */ + class JSI_EXPORT NativeImageEditorSpecJSI : public ObjCTurboModule { + public: + NativeImageEditorSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeImageLoaderIOSSpec + +- (void)getSize:(NSString *)uri + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)getSizeWithHeaders:(NSString *)uri + headers:(NSDictionary *)headers + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)prefetchImage:(NSString *)uri + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)prefetchImageWithMetadata:(NSString *)uri + queryRootName:(NSString *)queryRootName + rootTag:(double)rootTag + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)queryCache:(NSArray *)uris + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeImageLoaderIOS' + */ + class JSI_EXPORT NativeImageLoaderIOSSpecJSI : public ObjCTurboModule { + public: + NativeImageLoaderIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeImagePickerIOS { + struct SpecOpenCameraDialogConfig { + bool unmirrorFrontFacingCamera() const; + bool videoMode() const; + + SpecOpenCameraDialogConfig(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeImagePickerIOS_SpecOpenCameraDialogConfig) ++ (RCTManagedPointer *)JS_NativeImagePickerIOS_SpecOpenCameraDialogConfig:(id)json; +@end +namespace JS { + namespace NativeImagePickerIOS { + struct SpecOpenSelectDialogConfig { + bool showImages() const; + bool showVideos() const; + + SpecOpenSelectDialogConfig(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeImagePickerIOS_SpecOpenSelectDialogConfig) ++ (RCTManagedPointer *)JS_NativeImagePickerIOS_SpecOpenSelectDialogConfig:(id)json; +@end +@protocol NativeImagePickerIOSSpec + +- (void)canRecordVideos:(RCTResponseSenderBlock)callback; +- (void)canUseCamera:(RCTResponseSenderBlock)callback; +- (void)openCameraDialog:(JS::NativeImagePickerIOS::SpecOpenCameraDialogConfig &)config + successCallback:(RCTResponseSenderBlock)successCallback + cancelCallback:(RCTResponseSenderBlock)cancelCallback; +- (void)openSelectDialog:(JS::NativeImagePickerIOS::SpecOpenSelectDialogConfig &)config + successCallback:(RCTResponseSenderBlock)successCallback + cancelCallback:(RCTResponseSenderBlock)cancelCallback; +- (void)clearAllPendingVideos; +- (void)removePendingVideo:(NSString *)url; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeImagePickerIOS' + */ + class JSI_EXPORT NativeImagePickerIOSSpecJSI : public ObjCTurboModule { + public: + NativeImagePickerIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeImageStoreIOSSpec + +- (void)getBase64ForTag:(NSString *)uri + successCallback:(RCTResponseSenderBlock)successCallback + errorCallback:(RCTResponseSenderBlock)errorCallback; +- (void)hasImageForTag:(NSString *)uri + callback:(RCTResponseSenderBlock)callback; +- (void)removeImageForTag:(NSString *)uri; +- (void)addImageFromBase64:(NSString *)base64ImageData + successCallback:(RCTResponseSenderBlock)successCallback + errorCallback:(RCTResponseSenderBlock)errorCallback; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeImageStoreIOS' + */ + class JSI_EXPORT NativeImageStoreIOSSpecJSI : public ObjCTurboModule { + public: + NativeImageStoreIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeJSCHeapCaptureSpec + +- (void)captureComplete:(NSString *)path + error:(NSString * _Nullable)error; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeJSCHeapCapture' + */ + class JSI_EXPORT NativeJSCHeapCaptureSpecJSI : public ObjCTurboModule { + public: + NativeJSCHeapCaptureSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeJSCSamplingProfilerSpec + +- (void)operationComplete:(double)token + result:(NSString * _Nullable)result + error:(NSString * _Nullable)error; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeJSCSamplingProfiler' + */ + class JSI_EXPORT NativeJSCSamplingProfilerSpecJSI : public ObjCTurboModule { + public: + NativeJSCSamplingProfilerSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeJSDevSupport { + struct Constants { + + struct Builder { + struct Input { + RCTRequired ERROR_CODE_EXCEPTION; + RCTRequired ERROR_CODE_VIEW_NOT_FOUND; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing Constants */ + Builder(Constants i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static Constants fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + Constants(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +@protocol NativeJSDevSupportSpec + +- (void)onSuccess:(NSString *)data; +- (void)onFailure:(double)errorCode + error:(NSString *)error; +- (facebook::react::ModuleConstants)constantsToExport; +- (facebook::react::ModuleConstants)getConstants; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeJSDevSupport' + */ + class JSI_EXPORT NativeJSDevSupportSpecJSI : public ObjCTurboModule { + public: + NativeJSDevSupportSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeKeyboardObserverSpec + +- (void)addListener:(NSString *)eventName; +- (void)removeListeners:(double)count; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeKeyboardObserver' + */ + class JSI_EXPORT NativeKeyboardObserverSpecJSI : public ObjCTurboModule { + public: + NativeKeyboardObserverSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeLinkingManagerSpec + +- (void)getInitialURL:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)canOpenURL:(NSString *)url + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)openURL:(NSString *)url + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)openSettings:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)addListener:(NSString *)eventName; +- (void)removeListeners:(double)count; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeLinkingManager' + */ + class JSI_EXPORT NativeLinkingManagerSpecJSI : public ObjCTurboModule { + public: + NativeLinkingManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeLogBoxSpec + +- (void)show; +- (void)hide; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeLogBox' + */ + class JSI_EXPORT NativeLogBoxSpecJSI : public ObjCTurboModule { + public: + NativeLogBoxSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeModalManagerSpec + +- (void)addListener:(NSString *)eventName; +- (void)removeListeners:(double)count; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeModalManager' + */ + class JSI_EXPORT NativeModalManagerSpecJSI : public ObjCTurboModule { + public: + NativeModalManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeNetworkingIOS { + struct SpecSendRequestQuery { + NSString *method() const; + NSString *url() const; + id data() const; + id headers() const; + NSString *responseType() const; + bool incrementalUpdates() const; + double timeout() const; + bool withCredentials() const; + + SpecSendRequestQuery(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeNetworkingIOS_SpecSendRequestQuery) ++ (RCTManagedPointer *)JS_NativeNetworkingIOS_SpecSendRequestQuery:(id)json; +@end +@protocol NativeNetworkingIOSSpec + +- (void)sendRequest:(JS::NativeNetworkingIOS::SpecSendRequestQuery &)query + callback:(RCTResponseSenderBlock)callback; +- (void)abortRequest:(double)requestId; +- (void)clearCookies:(RCTResponseSenderBlock)callback; +- (void)addListener:(NSString *)eventName; +- (void)removeListeners:(double)count; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeNetworkingIOS' + */ + class JSI_EXPORT NativeNetworkingIOSSpecJSI : public ObjCTurboModule { + public: + NativeNetworkingIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativePlatformConstantsIOS { + struct ConstantsReactNativeVersion { + + struct Builder { + struct Input { + RCTRequired major; + RCTRequired minor; + RCTRequired patch; + RCTRequired> prerelease; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing ConstantsReactNativeVersion */ + Builder(ConstantsReactNativeVersion i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static ConstantsReactNativeVersion fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + ConstantsReactNativeVersion(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +namespace JS { + namespace NativePlatformConstantsIOS { + struct Constants { + + struct Builder { + struct Input { + RCTRequired isTesting; + RCTRequired reactNativeVersion; + RCTRequired forceTouchAvailable; + RCTRequired osVersion; + RCTRequired systemName; + RCTRequired interfaceIdiom; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing Constants */ + Builder(Constants i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static Constants fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + Constants(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +@protocol NativePlatformConstantsIOSSpec + +- (facebook::react::ModuleConstants)constantsToExport; +- (facebook::react::ModuleConstants)getConstants; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativePlatformConstantsIOS' + */ + class JSI_EXPORT NativePlatformConstantsIOSSpecJSI : public ObjCTurboModule { + public: + NativePlatformConstantsIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativePushNotificationManagerIOS { + struct SpecRequestPermissionsPermission { + bool alert() const; + bool badge() const; + bool sound() const; + + SpecRequestPermissionsPermission(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativePushNotificationManagerIOS_SpecRequestPermissionsPermission) ++ (RCTManagedPointer *)JS_NativePushNotificationManagerIOS_SpecRequestPermissionsPermission:(id)json; +@end +namespace JS { + namespace NativePushNotificationManagerIOS { + struct Notification { + NSString *alertTitle() const; + folly::Optional fireDate() const; + NSString *alertBody() const; + NSString *alertAction() const; + id _Nullable userInfo() const; + NSString *category() const; + NSString *repeatInterval() const; + folly::Optional applicationIconBadgeNumber() const; + folly::Optional isSilent() const; + + Notification(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativePushNotificationManagerIOS_Notification) ++ (RCTManagedPointer *)JS_NativePushNotificationManagerIOS_Notification:(id)json; +@end +@protocol NativePushNotificationManagerIOSSpec + +- (void)onFinishRemoteNotification:(NSString *)notificationId + fetchResult:(NSString *)fetchResult; +- (void)setApplicationIconBadgeNumber:(double)num; +- (void)getApplicationIconBadgeNumber:(RCTResponseSenderBlock)callback; +- (void)requestPermissions:(JS::NativePushNotificationManagerIOS::SpecRequestPermissionsPermission &)permission + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)abandonPermissions; +- (void)checkPermissions:(RCTResponseSenderBlock)callback; +- (void)presentLocalNotification:(JS::NativePushNotificationManagerIOS::Notification &)notification; +- (void)scheduleLocalNotification:(JS::NativePushNotificationManagerIOS::Notification &)notification; +- (void)cancelAllLocalNotifications; +- (void)cancelLocalNotifications:(NSDictionary *)userInfo; +- (void)getInitialNotification:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; +- (void)getScheduledLocalNotifications:(RCTResponseSenderBlock)callback; +- (void)removeAllDeliveredNotifications; +- (void)removeDeliveredNotifications:(NSArray *)identifiers; +- (void)getDeliveredNotifications:(RCTResponseSenderBlock)callback; +- (void)getAuthorizationStatus:(RCTResponseSenderBlock)callback; +- (void)addListener:(NSString *)eventType; +- (void)removeListeners:(double)count; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativePushNotificationManagerIOS' + */ + class JSI_EXPORT NativePushNotificationManagerIOSSpecJSI : public ObjCTurboModule { + public: + NativePushNotificationManagerIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeRedBoxSpec + +- (void)setExtraData:(NSDictionary *)extraData + forIdentifier:(NSString *)forIdentifier; +- (void)dismiss; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeRedBox' + */ + class JSI_EXPORT NativeRedBoxSpecJSI : public ObjCTurboModule { + public: + NativeRedBoxSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeSegmentFetcherSpec + +- (void)fetchSegment:(double)segmentId + options:(NSDictionary *)options + callback:(RCTResponseSenderBlock)callback; +- (void)getSegment:(double)segmentId + options:(NSDictionary *)options + callback:(RCTResponseSenderBlock)callback; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeSegmentFetcher' + */ + class JSI_EXPORT NativeSegmentFetcherSpecJSI : public ObjCTurboModule { + public: + NativeSegmentFetcherSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeSettingsManager { + struct Constants { + + struct Builder { + struct Input { + RCTRequired > settings; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing Constants */ + Builder(Constants i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static Constants fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + Constants(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +@protocol NativeSettingsManagerSpec + +- (void)setValues:(NSDictionary *)values; +- (void)deleteValues:(NSArray *)values; +- (facebook::react::ModuleConstants)constantsToExport; +- (facebook::react::ModuleConstants)getConstants; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeSettingsManager' + */ + class JSI_EXPORT NativeSettingsManagerSpecJSI : public ObjCTurboModule { + public: + NativeSettingsManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeShareModule { + struct SpecShareContent { + NSString *title() const; + NSString *message() const; + + SpecShareContent(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeShareModule_SpecShareContent) ++ (RCTManagedPointer *)JS_NativeShareModule_SpecShareContent:(id)json; +@end +@protocol NativeShareModuleSpec + +- (void)share:(JS::NativeShareModule::SpecShareContent &)content + dialogTitle:(NSString *)dialogTitle + resolve:(RCTPromiseResolveBlock)resolve + reject:(RCTPromiseRejectBlock)reject; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeShareModule' + */ + class JSI_EXPORT NativeShareModuleSpecJSI : public ObjCTurboModule { + public: + NativeShareModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeSoundManagerSpec + +- (void)playTouchSound; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeSoundManager' + */ + class JSI_EXPORT NativeSoundManagerSpecJSI : public ObjCTurboModule { + public: + NativeSoundManagerSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeSourceCode { + struct Constants { + + struct Builder { + struct Input { + RCTRequired scriptURL; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing Constants */ + Builder(Constants i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static Constants fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + Constants(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +@protocol NativeSourceCodeSpec + +- (facebook::react::ModuleConstants)constantsToExport; +- (facebook::react::ModuleConstants)getConstants; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeSourceCode' + */ + class JSI_EXPORT NativeSourceCodeSpecJSI : public ObjCTurboModule { + public: + NativeSourceCodeSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeStatusBarManagerIOS { + struct Constants { + + struct Builder { + struct Input { + RCTRequired HEIGHT; + folly::Optional DEFAULT_BACKGROUND_COLOR; + }; + + /** Initialize with a set of values */ + Builder(const Input i); + /** Initialize with an existing Constants */ + Builder(Constants i); + /** Builds the object. Generally used only by the infrastructure. */ + NSDictionary *buildUnsafeRawValue() const { return _factory(); }; + private: + NSDictionary *(^_factory)(void); + }; + + static Constants fromUnsafeRawValue(NSDictionary *const v) { return {v}; } + NSDictionary *unsafeRawValue() const { return _v; } + private: + Constants(NSDictionary *const v) : _v(v) {} + NSDictionary *_v; + }; + } +} +@protocol NativeStatusBarManagerIOSSpec + +- (void)getHeight:(RCTResponseSenderBlock)callback; +- (void)setNetworkActivityIndicatorVisible:(BOOL)visible; +- (void)addListener:(NSString *)eventType; +- (void)removeListeners:(double)count; +- (void)setStyle:(NSString * _Nullable)statusBarStyle + animated:(BOOL)animated; +- (void)setHidden:(BOOL)hidden + withAnimation:(NSString *)withAnimation; +- (facebook::react::ModuleConstants)constantsToExport; +- (facebook::react::ModuleConstants)getConstants; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeStatusBarManagerIOS' + */ + class JSI_EXPORT NativeStatusBarManagerIOSSpecJSI : public ObjCTurboModule { + public: + NativeStatusBarManagerIOSSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeTimingSpec + +- (void)createTimer:(double)callbackID + duration:(double)duration + jsSchedulingTime:(double)jsSchedulingTime + repeats:(BOOL)repeats; +- (void)deleteTimer:(double)timerID; +- (void)setSendIdleEvents:(BOOL)sendIdleEvents; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeTiming' + */ + class JSI_EXPORT NativeTimingSpecJSI : public ObjCTurboModule { + public: + NativeTimingSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +@protocol NativeVibrationSpec + +- (void)vibrate:(double)pattern; +- (void)vibrateByPattern:(NSArray *)pattern + repeat:(double)repeat; +- (void)cancel; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeVibration' + */ + class JSI_EXPORT NativeVibrationSpecJSI : public ObjCTurboModule { + public: + NativeVibrationSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook +namespace JS { + namespace NativeWebSocketModule { + struct SpecConnectOptions { + id _Nullable headers() const; + + SpecConnectOptions(NSDictionary *const v) : _v(v) {} + private: + NSDictionary *_v; + }; + } +} + +@interface RCTCxxConvert (NativeWebSocketModule_SpecConnectOptions) ++ (RCTManagedPointer *)JS_NativeWebSocketModule_SpecConnectOptions:(id)json; +@end +@protocol NativeWebSocketModuleSpec + +- (void)connect:(NSString *)url + protocols:(NSArray * _Nullable)protocols + options:(JS::NativeWebSocketModule::SpecConnectOptions &)options + socketID:(double)socketID; +- (void)send:(NSString *)message + forSocketID:(double)forSocketID; +- (void)sendBinary:(NSString *)base64String + forSocketID:(double)forSocketID; +- (void)ping:(double)socketID; +- (void)close:(double)code + reason:(NSString *)reason + socketID:(double)socketID; +- (void)addListener:(NSString *)eventName; +- (void)removeListeners:(double)count; + +@end +namespace facebook { + namespace react { + /** + * ObjC++ class for module 'NativeWebSocketModule' + */ + class JSI_EXPORT NativeWebSocketModuleSpecJSI : public ObjCTurboModule { + public: + NativeWebSocketModuleSpecJSI(const ObjCTurboModule::InitParams ¶ms); + }; + } // namespace react +} // namespace facebook + +inline folly::Optional JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers::extraSmall() const +{ + id const p = _v[@"extraSmall"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers::small() const +{ + id const p = _v[@"small"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers::medium() const +{ + id const p = _v[@"medium"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers::large() const +{ + id const p = _v[@"large"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers::extraLarge() const +{ + id const p = _v[@"extraLarge"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers::extraExtraLarge() const +{ + id const p = _v[@"extraExtraLarge"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers::extraExtraExtraLarge() const +{ + id const p = _v[@"extraExtraExtraLarge"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers::accessibilityMedium() const +{ + id const p = _v[@"accessibilityMedium"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers::accessibilityLarge() const +{ + id const p = _v[@"accessibilityLarge"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers::accessibilityExtraLarge() const +{ + id const p = _v[@"accessibilityExtraLarge"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers::accessibilityExtraExtraLarge() const +{ + id const p = _v[@"accessibilityExtraExtraLarge"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeAccessibilityManager::SpecSetAccessibilityContentSizeMultipliersJSMultipliers::accessibilityExtraExtraExtraLarge() const +{ + id const p = _v[@"accessibilityExtraExtraExtraLarge"]; + return RCTBridgingToOptionalDouble(p); +} +inline NSString *JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions::title() const +{ + id const p = _v[@"title"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions::message() const +{ + id const p = _v[@"message"]; + return RCTBridgingToOptionalString(p); +} +inline folly::Optional> JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions::options() const +{ + id const p = _v[@"options"]; + return RCTBridgingToOptionalVec(p, ^NSString *(id itemValue_0) { return RCTBridgingToString(itemValue_0); }); +} +inline folly::Optional> JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions::destructiveButtonIndices() const +{ + id const p = _v[@"destructiveButtonIndices"]; + return RCTBridgingToOptionalVec(p, ^double(id itemValue_0) { return RCTBridgingToDouble(itemValue_0); }); +} +inline folly::Optional JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions::cancelButtonIndex() const +{ + id const p = _v[@"cancelButtonIndex"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions::anchor() const +{ + id const p = _v[@"anchor"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions::tintColor() const +{ + id const p = _v[@"tintColor"]; + return RCTBridgingToOptionalDouble(p); +} +inline NSString *JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions::userInterfaceStyle() const +{ + id const p = _v[@"userInterfaceStyle"]; + return RCTBridgingToOptionalString(p); +} +inline folly::Optional> JS::NativeActionSheetManager::SpecShowActionSheetWithOptionsOptions::disabledButtonIndices() const +{ + id const p = _v[@"disabledButtonIndices"]; + return RCTBridgingToOptionalVec(p, ^double(id itemValue_0) { return RCTBridgingToDouble(itemValue_0); }); +} +inline NSString *JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions::message() const +{ + id const p = _v[@"message"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions::url() const +{ + id const p = _v[@"url"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions::subject() const +{ + id const p = _v[@"subject"]; + return RCTBridgingToOptionalString(p); +} +inline folly::Optional JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions::anchor() const +{ + id const p = _v[@"anchor"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions::tintColor() const +{ + id const p = _v[@"tintColor"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional> JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions::excludedActivityTypes() const +{ + id const p = _v[@"excludedActivityTypes"]; + return RCTBridgingToOptionalVec(p, ^NSString *(id itemValue_0) { return RCTBridgingToString(itemValue_0); }); +} +inline NSString *JS::NativeActionSheetManager::SpecShowShareActionSheetWithOptionsOptions::userInterfaceStyle() const +{ + id const p = _v[@"userInterfaceStyle"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativeAlertManager::Args::title() const +{ + id const p = _v[@"title"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativeAlertManager::Args::message() const +{ + id const p = _v[@"message"]; + return RCTBridgingToOptionalString(p); +} +inline folly::Optional >> JS::NativeAlertManager::Args::buttons() const +{ + id const p = _v[@"buttons"]; + return RCTBridgingToOptionalVec(p, ^id (id itemValue_0) { return itemValue_0; }); +} +inline NSString *JS::NativeAlertManager::Args::type() const +{ + id const p = _v[@"type"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativeAlertManager::Args::defaultValue() const +{ + id const p = _v[@"defaultValue"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativeAlertManager::Args::cancelButtonKey() const +{ + id const p = _v[@"cancelButtonKey"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativeAlertManager::Args::destructiveButtonKey() const +{ + id const p = _v[@"destructiveButtonKey"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativeAlertManager::Args::keyboardType() const +{ + id const p = _v[@"keyboardType"]; + return RCTBridgingToOptionalString(p); +} +inline facebook::react::LazyVector JS::NativeAnimatedModule::EventMapping::nativeEventPath() const +{ + id const p = _v[@"nativeEventPath"]; + return RCTBridgingToVec(p, ^NSString *(id itemValue_0) { return RCTBridgingToString(itemValue_0); }); +} +inline folly::Optional JS::NativeAnimatedModule::EventMapping::animatedValueTag() const +{ + id const p = _v[@"animatedValueTag"]; + return RCTBridgingToOptionalDouble(p); +} +inline facebook::react::LazyVector JS::NativeAnimatedTurboModule::EventMapping::nativeEventPath() const +{ + id const p = _v[@"nativeEventPath"]; + return RCTBridgingToVec(p, ^NSString *(id itemValue_0) { return RCTBridgingToString(itemValue_0); }); +} +inline folly::Optional JS::NativeAnimatedTurboModule::EventMapping::animatedValueTag() const +{ + id const p = _v[@"animatedValueTag"]; + return RCTBridgingToOptionalDouble(p); +} + +inline JS::NativeAppState::Constants::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto initialAppState = i.initialAppState.get(); + d[@"initialAppState"] = initialAppState; + return d; +}) {} +inline JS::NativeAppState::Constants::Builder::Builder(Constants i) : _factory(^{ + return i.unsafeRawValue(); +}) {} + + + +inline JS::NativeBlobModule::Constants::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto BLOB_URI_SCHEME = i.BLOB_URI_SCHEME.get(); + d[@"BLOB_URI_SCHEME"] = BLOB_URI_SCHEME; + auto BLOB_URI_HOST = i.BLOB_URI_HOST.get(); + d[@"BLOB_URI_HOST"] = BLOB_URI_HOST; + return d; +}) {} +inline JS::NativeBlobModule::Constants::Builder::Builder(Constants i) : _factory(^{ + return i.unsafeRawValue(); +}) {} + + + + + + + +inline JS::NativeDeviceInfo::DisplayMetrics::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto width = i.width.get(); + d[@"width"] = @(width); + auto height = i.height.get(); + d[@"height"] = @(height); + auto scale = i.scale.get(); + d[@"scale"] = @(scale); + auto fontScale = i.fontScale.get(); + d[@"fontScale"] = @(fontScale); + return d; +}) {} +inline JS::NativeDeviceInfo::DisplayMetrics::Builder::Builder(DisplayMetrics i) : _factory(^{ + return i.unsafeRawValue(); +}) {} +inline JS::NativeDeviceInfo::DisplayMetricsAndroid::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto width = i.width.get(); + d[@"width"] = @(width); + auto height = i.height.get(); + d[@"height"] = @(height); + auto scale = i.scale.get(); + d[@"scale"] = @(scale); + auto fontScale = i.fontScale.get(); + d[@"fontScale"] = @(fontScale); + auto densityDpi = i.densityDpi.get(); + d[@"densityDpi"] = @(densityDpi); + return d; +}) {} +inline JS::NativeDeviceInfo::DisplayMetricsAndroid::Builder::Builder(DisplayMetricsAndroid i) : _factory(^{ + return i.unsafeRawValue(); +}) {} +inline JS::NativeDeviceInfo::DimensionsPayload::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto window = i.window; + d[@"window"] = window.hasValue() ? window.value().buildUnsafeRawValue() : nil; + auto screen = i.screen; + d[@"screen"] = screen.hasValue() ? screen.value().buildUnsafeRawValue() : nil; + auto windowPhysicalPixels = i.windowPhysicalPixels; + d[@"windowPhysicalPixels"] = windowPhysicalPixels.hasValue() ? windowPhysicalPixels.value().buildUnsafeRawValue() : nil; + auto screenPhysicalPixels = i.screenPhysicalPixels; + d[@"screenPhysicalPixels"] = screenPhysicalPixels.hasValue() ? screenPhysicalPixels.value().buildUnsafeRawValue() : nil; + return d; +}) {} +inline JS::NativeDeviceInfo::DimensionsPayload::Builder::Builder(DimensionsPayload i) : _factory(^{ + return i.unsafeRawValue(); +}) {} +inline JS::NativeDeviceInfo::Constants::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto Dimensions = i.Dimensions.get(); + d[@"Dimensions"] = Dimensions.buildUnsafeRawValue(); + auto isIPhoneX_deprecated = i.isIPhoneX_deprecated; + d[@"isIPhoneX_deprecated"] = isIPhoneX_deprecated.hasValue() ? @((BOOL)isIPhoneX_deprecated.value()) : nil; + return d; +}) {} +inline JS::NativeDeviceInfo::Constants::Builder::Builder(Constants i) : _factory(^{ + return i.unsafeRawValue(); +}) {} +inline folly::Optional JS::NativeExceptionsManager::StackFrame::column() const +{ + id const p = _v[@"column"]; + return RCTBridgingToOptionalDouble(p); +} +inline NSString *JS::NativeExceptionsManager::StackFrame::file() const +{ + id const p = _v[@"file"]; + return RCTBridgingToOptionalString(p); +} +inline folly::Optional JS::NativeExceptionsManager::StackFrame::lineNumber() const +{ + id const p = _v[@"lineNumber"]; + return RCTBridgingToOptionalDouble(p); +} +inline NSString *JS::NativeExceptionsManager::StackFrame::methodName() const +{ + id const p = _v[@"methodName"]; + return RCTBridgingToString(p); +} +inline folly::Optional JS::NativeExceptionsManager::StackFrame::collapse() const +{ + id const p = _v[@"collapse"]; + return RCTBridgingToOptionalBool(p); +} +inline NSString *JS::NativeExceptionsManager::ExceptionData::message() const +{ + id const p = _v[@"message"]; + return RCTBridgingToString(p); +} +inline NSString *JS::NativeExceptionsManager::ExceptionData::originalMessage() const +{ + id const p = _v[@"originalMessage"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativeExceptionsManager::ExceptionData::name() const +{ + id const p = _v[@"name"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativeExceptionsManager::ExceptionData::componentStack() const +{ + id const p = _v[@"componentStack"]; + return RCTBridgingToOptionalString(p); +} +inline facebook::react::LazyVector JS::NativeExceptionsManager::ExceptionData::stack() const +{ + id const p = _v[@"stack"]; + return RCTBridgingToVec(p, ^JS::NativeExceptionsManager::StackFrame(id itemValue_0) { return JS::NativeExceptionsManager::StackFrame(itemValue_0); }); +} +inline double JS::NativeExceptionsManager::ExceptionData::id_() const +{ + id const p = _v[@"id"]; + return RCTBridgingToDouble(p); +} +inline bool JS::NativeExceptionsManager::ExceptionData::isFatal() const +{ + id const p = _v[@"isFatal"]; + return RCTBridgingToBool(p); +} +inline id _Nullable JS::NativeExceptionsManager::ExceptionData::extraData() const +{ + id const p = _v[@"extraData"]; + return p; +} + +inline folly::Optional JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions::debug() const +{ + id const p = _v[@"debug"]; + return RCTBridgingToOptionalBool(p); +} +inline folly::Optional JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions::reportStackTraces() const +{ + id const p = _v[@"reportStackTraces"]; + return RCTBridgingToOptionalBool(p); +} + +inline JS::NativeI18nManager::Constants::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto isRTL = i.isRTL.get(); + d[@"isRTL"] = @(isRTL); + auto doLeftAndRightSwapInRTL = i.doLeftAndRightSwapInRTL.get(); + d[@"doLeftAndRightSwapInRTL"] = @(doLeftAndRightSwapInRTL); + auto localeIdentifier = i.localeIdentifier.get(); + d[@"localeIdentifier"] = localeIdentifier; + return d; +}) {} +inline JS::NativeI18nManager::Constants::Builder::Builder(Constants i) : _factory(^{ + return i.unsafeRawValue(); +}) {} +inline double JS::NativeImageEditor::OptionsOffset::x() const +{ + id const p = _v[@"x"]; + return RCTBridgingToDouble(p); +} +inline double JS::NativeImageEditor::OptionsOffset::y() const +{ + id const p = _v[@"y"]; + return RCTBridgingToDouble(p); +} +inline double JS::NativeImageEditor::OptionsSize::width() const +{ + id const p = _v[@"width"]; + return RCTBridgingToDouble(p); +} +inline double JS::NativeImageEditor::OptionsSize::height() const +{ + id const p = _v[@"height"]; + return RCTBridgingToDouble(p); +} +inline double JS::NativeImageEditor::OptionsDisplaySize::width() const +{ + id const p = _v[@"width"]; + return RCTBridgingToDouble(p); +} +inline double JS::NativeImageEditor::OptionsDisplaySize::height() const +{ + id const p = _v[@"height"]; + return RCTBridgingToDouble(p); +} +inline JS::NativeImageEditor::OptionsOffset JS::NativeImageEditor::Options::offset() const +{ + id const p = _v[@"offset"]; + return JS::NativeImageEditor::OptionsOffset(p); +} +inline JS::NativeImageEditor::OptionsSize JS::NativeImageEditor::Options::size() const +{ + id const p = _v[@"size"]; + return JS::NativeImageEditor::OptionsSize(p); +} +inline folly::Optional JS::NativeImageEditor::Options::displaySize() const +{ + id const p = _v[@"displaySize"]; + return (p == nil ? folly::none : folly::make_optional(JS::NativeImageEditor::OptionsDisplaySize(p))); +} +inline NSString *JS::NativeImageEditor::Options::resizeMode() const +{ + id const p = _v[@"resizeMode"]; + return RCTBridgingToOptionalString(p); +} +inline folly::Optional JS::NativeImageEditor::Options::allowExternalStorage() const +{ + id const p = _v[@"allowExternalStorage"]; + return RCTBridgingToOptionalBool(p); +} + +inline bool JS::NativeImagePickerIOS::SpecOpenCameraDialogConfig::unmirrorFrontFacingCamera() const +{ + id const p = _v[@"unmirrorFrontFacingCamera"]; + return RCTBridgingToBool(p); +} +inline bool JS::NativeImagePickerIOS::SpecOpenCameraDialogConfig::videoMode() const +{ + id const p = _v[@"videoMode"]; + return RCTBridgingToBool(p); +} +inline bool JS::NativeImagePickerIOS::SpecOpenSelectDialogConfig::showImages() const +{ + id const p = _v[@"showImages"]; + return RCTBridgingToBool(p); +} +inline bool JS::NativeImagePickerIOS::SpecOpenSelectDialogConfig::showVideos() const +{ + id const p = _v[@"showVideos"]; + return RCTBridgingToBool(p); +} + + + +inline JS::NativeJSDevSupport::Constants::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto ERROR_CODE_EXCEPTION = i.ERROR_CODE_EXCEPTION.get(); + d[@"ERROR_CODE_EXCEPTION"] = @(ERROR_CODE_EXCEPTION); + auto ERROR_CODE_VIEW_NOT_FOUND = i.ERROR_CODE_VIEW_NOT_FOUND.get(); + d[@"ERROR_CODE_VIEW_NOT_FOUND"] = @(ERROR_CODE_VIEW_NOT_FOUND); + return d; +}) {} +inline JS::NativeJSDevSupport::Constants::Builder::Builder(Constants i) : _factory(^{ + return i.unsafeRawValue(); +}) {} + + + + +inline NSString *JS::NativeNetworkingIOS::SpecSendRequestQuery::method() const +{ + id const p = _v[@"method"]; + return RCTBridgingToString(p); +} +inline NSString *JS::NativeNetworkingIOS::SpecSendRequestQuery::url() const +{ + id const p = _v[@"url"]; + return RCTBridgingToString(p); +} +inline id JS::NativeNetworkingIOS::SpecSendRequestQuery::data() const +{ + id const p = _v[@"data"]; + return p; +} +inline id JS::NativeNetworkingIOS::SpecSendRequestQuery::headers() const +{ + id const p = _v[@"headers"]; + return p; +} +inline NSString *JS::NativeNetworkingIOS::SpecSendRequestQuery::responseType() const +{ + id const p = _v[@"responseType"]; + return RCTBridgingToString(p); +} +inline bool JS::NativeNetworkingIOS::SpecSendRequestQuery::incrementalUpdates() const +{ + id const p = _v[@"incrementalUpdates"]; + return RCTBridgingToBool(p); +} +inline double JS::NativeNetworkingIOS::SpecSendRequestQuery::timeout() const +{ + id const p = _v[@"timeout"]; + return RCTBridgingToDouble(p); +} +inline bool JS::NativeNetworkingIOS::SpecSendRequestQuery::withCredentials() const +{ + id const p = _v[@"withCredentials"]; + return RCTBridgingToBool(p); +} +inline JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto major = i.major.get(); + d[@"major"] = @(major); + auto minor = i.minor.get(); + d[@"minor"] = @(minor); + auto patch = i.patch.get(); + d[@"patch"] = @(patch); + auto prerelease = i.prerelease.get(); + d[@"prerelease"] = prerelease.hasValue() ? @((double)prerelease.value()) : nil; + return d; +}) {} +inline JS::NativePlatformConstantsIOS::ConstantsReactNativeVersion::Builder::Builder(ConstantsReactNativeVersion i) : _factory(^{ + return i.unsafeRawValue(); +}) {} +inline JS::NativePlatformConstantsIOS::Constants::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto isTesting = i.isTesting.get(); + d[@"isTesting"] = @(isTesting); + auto reactNativeVersion = i.reactNativeVersion.get(); + d[@"reactNativeVersion"] = reactNativeVersion.buildUnsafeRawValue(); + auto forceTouchAvailable = i.forceTouchAvailable.get(); + d[@"forceTouchAvailable"] = @(forceTouchAvailable); + auto osVersion = i.osVersion.get(); + d[@"osVersion"] = osVersion; + auto systemName = i.systemName.get(); + d[@"systemName"] = systemName; + auto interfaceIdiom = i.interfaceIdiom.get(); + d[@"interfaceIdiom"] = interfaceIdiom; + return d; +}) {} +inline JS::NativePlatformConstantsIOS::Constants::Builder::Builder(Constants i) : _factory(^{ + return i.unsafeRawValue(); +}) {} +inline bool JS::NativePushNotificationManagerIOS::SpecRequestPermissionsPermission::alert() const +{ + id const p = _v[@"alert"]; + return RCTBridgingToBool(p); +} +inline bool JS::NativePushNotificationManagerIOS::SpecRequestPermissionsPermission::badge() const +{ + id const p = _v[@"badge"]; + return RCTBridgingToBool(p); +} +inline bool JS::NativePushNotificationManagerIOS::SpecRequestPermissionsPermission::sound() const +{ + id const p = _v[@"sound"]; + return RCTBridgingToBool(p); +} +inline NSString *JS::NativePushNotificationManagerIOS::Notification::alertTitle() const +{ + id const p = _v[@"alertTitle"]; + return RCTBridgingToOptionalString(p); +} +inline folly::Optional JS::NativePushNotificationManagerIOS::Notification::fireDate() const +{ + id const p = _v[@"fireDate"]; + return RCTBridgingToOptionalDouble(p); +} +inline NSString *JS::NativePushNotificationManagerIOS::Notification::alertBody() const +{ + id const p = _v[@"alertBody"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativePushNotificationManagerIOS::Notification::alertAction() const +{ + id const p = _v[@"alertAction"]; + return RCTBridgingToOptionalString(p); +} +inline id _Nullable JS::NativePushNotificationManagerIOS::Notification::userInfo() const +{ + id const p = _v[@"userInfo"]; + return p; +} +inline NSString *JS::NativePushNotificationManagerIOS::Notification::category() const +{ + id const p = _v[@"category"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativePushNotificationManagerIOS::Notification::repeatInterval() const +{ + id const p = _v[@"repeatInterval"]; + return RCTBridgingToOptionalString(p); +} +inline folly::Optional JS::NativePushNotificationManagerIOS::Notification::applicationIconBadgeNumber() const +{ + id const p = _v[@"applicationIconBadgeNumber"]; + return RCTBridgingToOptionalDouble(p); +} +inline folly::Optional JS::NativePushNotificationManagerIOS::Notification::isSilent() const +{ + id const p = _v[@"isSilent"]; + return RCTBridgingToOptionalBool(p); +} + + +inline JS::NativeSettingsManager::Constants::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto settings = i.settings.get(); + d[@"settings"] = settings; + return d; +}) {} +inline JS::NativeSettingsManager::Constants::Builder::Builder(Constants i) : _factory(^{ + return i.unsafeRawValue(); +}) {} +inline NSString *JS::NativeShareModule::SpecShareContent::title() const +{ + id const p = _v[@"title"]; + return RCTBridgingToOptionalString(p); +} +inline NSString *JS::NativeShareModule::SpecShareContent::message() const +{ + id const p = _v[@"message"]; + return RCTBridgingToOptionalString(p); +} + +inline JS::NativeSourceCode::Constants::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto scriptURL = i.scriptURL.get(); + d[@"scriptURL"] = scriptURL; + return d; +}) {} +inline JS::NativeSourceCode::Constants::Builder::Builder(Constants i) : _factory(^{ + return i.unsafeRawValue(); +}) {} +inline JS::NativeStatusBarManagerIOS::Constants::Builder::Builder(const Input i) : _factory(^{ + NSMutableDictionary *d = [NSMutableDictionary new]; + auto HEIGHT = i.HEIGHT.get(); + d[@"HEIGHT"] = @(HEIGHT); + auto DEFAULT_BACKGROUND_COLOR = i.DEFAULT_BACKGROUND_COLOR; + d[@"DEFAULT_BACKGROUND_COLOR"] = DEFAULT_BACKGROUND_COLOR.hasValue() ? @((double)DEFAULT_BACKGROUND_COLOR.value()) : nil; + return d; +}) {} +inline JS::NativeStatusBarManagerIOS::Constants::Builder::Builder(Constants i) : _factory(^{ + return i.unsafeRawValue(); +}) {} + + +inline id _Nullable JS::NativeWebSocketModule::SpecConnectOptions::headers() const +{ + id const p = _v[@"headers"]; + return p; +} diff --git a/React/Modules/RCTI18nUtil.h b/React/Modules/RCTI18nUtil.h index 79828eb74958a1..f3a1550e5ec778 100644 --- a/React/Modules/RCTI18nUtil.h +++ b/React/Modules/RCTI18nUtil.h @@ -18,19 +18,11 @@ + (instancetype)sharedInstance; - (BOOL)isRTL; - -/** - * Should be used very early during app start up - * Before the bridge is initialized - */ -@property (atomic, setter=allowRTL:) BOOL isRTLAllowed; - -/** - * Could be used to test RTL layout with English - * Used for development and testing purpose - */ -@property (atomic, setter=forceRTL:) BOOL isRTLForced; - -@property (atomic, setter=swapLeftAndRightInRTL:) BOOL doLeftAndRightSwapInRTL; +- (BOOL)isRTLAllowed; +- (void)allowRTL:(BOOL)value; +- (BOOL)isRTLForced; +- (void)forceRTL:(BOOL)value; +- (BOOL)doLeftAndRightSwapInRTL; +- (void)swapLeftAndRightInRTL:(BOOL)value; @end diff --git a/React/Modules/RCTI18nUtil.m b/React/Modules/RCTI18nUtil.m index 17207d053635d3..eb26f7fe23e68d 100644 --- a/React/Modules/RCTI18nUtil.m +++ b/React/Modules/RCTI18nUtil.m @@ -18,7 +18,6 @@ + (instancetype)sharedInstance dispatch_once(&onceToken, ^{ sharedInstance = [self new]; [sharedInstance swapLeftAndRightInRTL:true]; - [sharedInstance allowRTL:true]; }); return sharedInstance; @@ -41,6 +40,53 @@ - (BOOL)isRTL return NO; } +/** + * Should be used very early during app start up + * Before the bridge is initialized + * @return whether the app allows RTL layout, default is true + */ +- (BOOL)isRTLAllowed +{ + NSNumber *value = [[NSUserDefaults standardUserDefaults] objectForKey:@"RCTI18nUtil_allowRTL"]; + if (value == nil) { + return YES; + } + return [value boolValue]; +} + +- (void)allowRTL:(BOOL)rtlStatus +{ + [[NSUserDefaults standardUserDefaults] setBool:rtlStatus forKey:@"RCTI18nUtil_allowRTL"]; + [[NSUserDefaults standardUserDefaults] synchronize]; +} + +/** + * Could be used to test RTL layout with English + * Used for development and testing purpose + */ +- (BOOL)isRTLForced +{ + BOOL rtlStatus = [[NSUserDefaults standardUserDefaults] boolForKey:@"RCTI18nUtil_forceRTL"]; + return rtlStatus; +} + +- (void)forceRTL:(BOOL)rtlStatus +{ + [[NSUserDefaults standardUserDefaults] setBool:rtlStatus forKey:@"RCTI18nUtil_forceRTL"]; + [[NSUserDefaults standardUserDefaults] synchronize]; +} + +- (BOOL)doLeftAndRightSwapInRTL +{ + return [[NSUserDefaults standardUserDefaults] boolForKey:@"RCTI18nUtil_makeRTLFlipLeftAndRightStyles"]; +} + +- (void)swapLeftAndRightInRTL:(BOOL)value +{ + [[NSUserDefaults standardUserDefaults] setBool:value forKey:@"RCTI18nUtil_makeRTLFlipLeftAndRightStyles"]; + [[NSUserDefaults standardUserDefaults] synchronize]; +} + // Check if the current device language is RTL - (BOOL)isDevicePreferredLanguageRTL { diff --git a/ReactAndroid/gradle.properties b/ReactAndroid/gradle.properties index b563dcad32b401..432839ab31a916 100644 --- a/ReactAndroid/gradle.properties +++ b/ReactAndroid/gradle.properties @@ -1,4 +1,4 @@ -VERSION_NAME=1000.0.0-main +VERSION_NAME=0.67.2 GROUP=com.facebook.react POM_NAME=ReactNative @@ -12,7 +12,7 @@ JUNIT_VERSION=4.12 ANDROIDX_TEST_VERSION=1.1.0 FRESCO_VERSION=2.5.0 -OKHTTP_VERSION=4.9.1 +OKHTTP_VERSION=4.9.2 SO_LOADER_VERSION=0.10.1 BOOST_VERSION=1_63_0 diff --git a/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java b/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java index 7519f2146faf6d..2081216f3f9d47 100644 --- a/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +++ b/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java @@ -16,14 +16,20 @@ public class HermesExecutor extends JavaScriptExecutor { private static String mode_; static { - // libhermes must be loaded explicitly to invoke its JNI_OnLoad. - SoLoader.loadLibrary("hermes"); - try { - SoLoader.loadLibrary("hermes-executor-debug"); - mode_ = "Debug"; - } catch (UnsatisfiedLinkError e) { - SoLoader.loadLibrary("hermes-executor-release"); - mode_ = "Release"; + loadLibrary(); + } + + public static void loadLibrary() throws UnsatisfiedLinkError { + if (mode_ == null) { + // libhermes must be loaded explicitly to invoke its JNI_OnLoad. + SoLoader.loadLibrary("hermes"); + try { + SoLoader.loadLibrary("hermes-executor-debug"); + mode_ = "Debug"; + } catch (UnsatisfiedLinkError e) { + SoLoader.loadLibrary("hermes-executor-release"); + mode_ = "Release"; + } } } diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java index ddfb5507ec4b47..672d370cd06323 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java @@ -14,6 +14,7 @@ import android.app.Application; import android.content.Context; import androidx.annotation.Nullable; +import com.facebook.hermes.reactexecutor.HermesExecutor; import com.facebook.hermes.reactexecutor.HermesExecutorFactory; import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.JSBundleLoader; @@ -28,6 +29,7 @@ import com.facebook.react.devsupport.RedBoxHandler; import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener; import com.facebook.react.devsupport.interfaces.DevSupportManager; +import com.facebook.react.jscexecutor.JSCExecutor; import com.facebook.react.jscexecutor.JSCExecutorFactory; import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler; import com.facebook.react.packagerconnection.RequestHandler; @@ -347,7 +349,7 @@ private JavaScriptExecutorFactory getDefaultJSExecutorFactory( try { // If JSC is included, use it as normal initializeSoLoaderIfNecessary(applicationContext); - SoLoader.loadLibrary("jscexecutor"); + JSCExecutor.loadLibrary(); return new JSCExecutorFactory(appName, deviceName); } catch (UnsatisfiedLinkError jscE) { // https://github.com/facebook/hermes/issues/78 shows that @@ -365,6 +367,7 @@ private JavaScriptExecutorFactory getDefaultJSExecutorFactory( // Otherwise use Hermes try { + HermesExecutor.loadLibrary(); return new HermesExecutorFactory(); } catch (UnsatisfiedLinkError hermesE) { // If we get here, either this is a JSC build, and of course diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java b/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java index 5bfdf9aafd8398..875c5085a31fe4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java @@ -26,6 +26,7 @@ import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; +import android.view.WindowInsets; import android.view.WindowManager; import android.widget.FrameLayout; import androidx.annotation.Nullable; @@ -775,9 +776,12 @@ private void checkForKeyboardEvents() { getRootView().getWindowVisibleDisplayFrame(mVisibleViewArea); int notchHeight = 0; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - DisplayCutout displayCutout = getRootView().getRootWindowInsets().getDisplayCutout(); - if (displayCutout != null) { - notchHeight = displayCutout.getSafeInsetTop(); + WindowInsets insets = getRootView().getRootWindowInsets(); + if (insets != null) { + DisplayCutout displayCutout = insets.getDisplayCutout(); + if (displayCutout != null) { + notchHeight = displayCutout.getSafeInsetTop(); + } } } final int heightDiff = diff --git a/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.java b/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.java index 09737c178b985a..4adb377de8136c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.java +++ b/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.java @@ -14,8 +14,13 @@ import com.facebook.soloader.SoLoader; @DoNotStrip -/* package */ class JSCExecutor extends JavaScriptExecutor { +/* package */ public class JSCExecutor extends JavaScriptExecutor { + static { + loadLibrary(); + } + + public static void loadLibrary() throws UnsatisfiedLinkError { SoLoader.loadLibrary("jscexecutor"); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java index 529af0090f5388..383fb408937288 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java @@ -142,9 +142,14 @@ protected void doInBackgroundGuarded(Void... params) { // We cannot catch MissingWebViewPackageException as it is in a private / system API // class. This validates the exception's message to ensure we are only handling this // specific exception. + // The exception class doesn't always contain the correct name as it depends on the OEM + // and OS version. It is better to check the message for clues regarding the exception + // as that is somewhat consistent across OEMs. // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/WebViewFactory.java#348 - if (message != null - && exception.getClass().getCanonicalName().contains("MissingWebViewPackageException")) { + if (message!=null && + (message.contains("WebView provider") + || message.contains("No WebView installed") + || message.contains("WebView"))) { return null; } else { throw exception; diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java index 6278912404c943..ff4dd7632008bc 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java @@ -1,5 +1,5 @@ /** - * @generated by scripts/bump-oss-version.js + * @generated by scripts/set-rn-version.js * * Copyright (c) Facebook, Inc. and its affiliates. * @@ -16,7 +16,7 @@ public class ReactNativeVersion { public static final Map VERSION = MapBuilder.of( "major", 0, - "minor", 0, - "patch", 0, + "minor", 67, + "patch", 2, "prerelease", null); } diff --git a/ReactAndroid/src/main/third-party/java/okhttp/BUCK b/ReactAndroid/src/main/third-party/java/okhttp/BUCK index 62813049874d1f..f9fb068058c38e 100644 --- a/ReactAndroid/src/main/third-party/java/okhttp/BUCK +++ b/ReactAndroid/src/main/third-party/java/okhttp/BUCK @@ -30,8 +30,8 @@ rn_prebuilt_jar( fb_native.remote_file( name = "okhttp3-binary.jar", - sha1 = "51215279c3fe472c59b6b7dd7491e6ac2e28a81b", - url = "mvn:com.squareup.okhttp3:okhttp:jar:4.9.1", + sha1 = "5302714ee9320b64cf65ed865e5f65981ef9ba46", + url = "mvn:com.squareup.okhttp3:okhttp:jar:4.9.2", ) rn_prebuilt_jar( @@ -41,6 +41,6 @@ rn_prebuilt_jar( fb_native.remote_file( name = "okhttp3-urlconnection-binary.jar", - sha1 = "f45e809215bd0961350148cf5b78707865084e6f", - url = "mvn:com.squareup.okhttp3:okhttp-urlconnection:jar:4.9.1", + sha1 = "3b9e64d3d56370bc7488ed8b336d17a8013cb336", + url = "mvn:com.squareup.okhttp3:okhttp-urlconnection:jar:4.9.2", ) diff --git a/ReactCommon/cxxreact/ReactNativeVersion.h b/ReactCommon/cxxreact/ReactNativeVersion.h index d6cbbcd82a9c6d..f10f8271384c95 100644 --- a/ReactCommon/cxxreact/ReactNativeVersion.h +++ b/ReactCommon/cxxreact/ReactNativeVersion.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated by scripts/bump-oss-version.js + * @generated by scripts/set-rn-version.js */ #pragma once @@ -16,8 +16,8 @@ namespace facebook::react { constexpr struct { int32_t Major = 0; - int32_t Minor = 0; - int32_t Patch = 0; + int32_t Minor = 67; + int32_t Patch = 2; std::string_view Prerelease = ""; } ReactNativeVersion; diff --git a/bots/datastore.js b/bots/datastore.js index ca04ca66d408df..04fbd69acc4c36 100644 --- a/bots/datastore.js +++ b/bots/datastore.js @@ -92,12 +92,14 @@ function getBinarySizesCollection(db) { * @param {firebase.firestore.CollectionReference} collection * @param {string} sha The Git SHA used to identify the entry * @param {firebase.firestore.UpdateData} data The data to be inserted/updated + * @param {string} branch The Git branch where this data was computed for * @returns {Promise} */ -function createOrUpdateDocument(collectionRef, sha, data) { +function createOrUpdateDocument(collectionRef, sha, data, branch) { const stampedData = { ...data, timestamp: firestore.Timestamp.now(), + branch, }; const docRef = firestore.doc(collectionRef, sha); return firestore.updateDoc(docRef, stampedData).catch(async error => { @@ -115,14 +117,16 @@ function createOrUpdateDocument(collectionRef, sha, data) { * Returns the latest document in collection. * * @param {firebase.firestore.CollectionReference} collection + * @param {string} branch The Git branch for the data * @returns {Promise} */ -async function getLatestDocument(collectionRef) { +async function getLatestDocument(collectionRef, branch) { try { const querySnapshot = await firestore.getDocs( firestore.query( collectionRef, firestore.orderBy('timestamp', 'desc'), + firestore.where('branch', '==', branch), firestore.limit(1), ), ); diff --git a/bots/report-bundle-size.js b/bots/report-bundle-size.js index 5d422483909e5a..fc9161688f8bac 100644 --- a/bots/report-bundle-size.js +++ b/bots/report-bundle-size.js @@ -25,7 +25,7 @@ const datastore = require('./datastore'); const {createOrUpdateComment} = require('./make-comment'); /** - * Generates and submits a comment. If this is run on main branch, data is + * Generates and submits a comment. If this is run on the main or release branch, data is * committed to the store instead. * @param {{ 'android-hermes-arm64-v8a'?: number; @@ -47,7 +47,7 @@ async function reportSizeStats(stats, replacePattern) { ); const collection = datastore.getBinarySizesCollection(store); - if (GITHUB_REF === 'main') { + if (GITHUB_REF === 'main' || GITHUB_REF.endsWith('-stable')) { // Ensure we only store numbers greater than zero. const validatedStats = Object.keys(stats).reduce((validated, key) => { const value = stats[key]; @@ -58,63 +58,85 @@ async function reportSizeStats(stats, replacePattern) { validated[key] = value; return validated; }, {}); + if (Object.keys(validatedStats).length > 0) { + // Print out the new stats + const document = + (await datastore.getLatestDocument(collection, GITHUB_REF)) || {}; + const formattedStats = formatBundleStats(document, validatedStats); + console.log(formattedStats); + await datastore.createOrUpdateDocument( collection, GITHUB_SHA, validatedStats, + GITHUB_REF, ); } } else { - const document = await datastore.getLatestDocument(collection); - - const diffFormatter = new Intl.NumberFormat('en', {signDisplay: 'always'}); - const sizeFormatter = new Intl.NumberFormat('en', {}); - - // | Platform | Engine | Arch | Size (bytes) | Diff | - // |:---------|:-------|:------------|-------------:|-----:| - // | android | hermes | arm64-v8a | 9437184 | ±0 | - // | android | hermes | armeabi-v7a | 9015296 | ±0 | - // | android | hermes | x86 | 9498624 | ±0 | - // | android | hermes | x86_64 | 9965568 | ±0 | - // | android | jsc | arm64-v8a | 9236480 | ±0 | - // | android | jsc | armeabi-v7a | 8814592 | ±0 | - // | android | jsc | x86 | 9297920 | ±0 | - // | android | jsc | x86_64 | 9764864 | ±0 | - // | android | jsc | x86_64 | 9764864 | ±0 | - // | ios | - | universal | 10715136 | ±0 | - const comment = [ - '| Platform | Engine | Arch | Size (bytes) | Diff |', - '|:---------|:-------|:-----|-------------:|-----:|', - ...Object.keys(stats).map(identifier => { - const [size, diff] = (() => { - const statSize = stats[identifier]; - if (!statSize) { - return ['n/a', '--']; - } else if (!(identifier in document)) { - return [statSize, 'n/a']; - } else { - return [ - sizeFormatter.format(statSize), - diffFormatter.format(statSize - document[identifier]), - ]; - } - })(); - - const [platform, engineOrArch, ...archParts] = identifier.split('-'); - const arch = archParts.join('-') || engineOrArch; - const engine = arch === engineOrArch ? '-' : engineOrArch; // e.g. 'ios-universal' - return `| ${platform} | ${engine} | ${arch} | ${size} | ${diff} |`; - }), - '', - `Base commit: ${document.commit}`, - ].join('\n'); + // For PRs, always compare vs main. + const document = + (await datastore.getLatestDocument(collection, 'main')) || {}; + const comment = formatBundleStats(document, stats); createOrUpdateComment(comment, replacePattern); } await datastore.terminateStore(store); } +/** + * Format the new bundle stats as compared to the latest stored entry. + * @param {firebase.firestore.DocumentData} document the latest entry to compare against + * @param {firebase.firestore.UpdateData} stats The stats to be formatted + * @returns {string} + */ +function formatBundleStats(document, stats) { + const diffFormatter = new Intl.NumberFormat('en', {signDisplay: 'always'}); + const sizeFormatter = new Intl.NumberFormat('en', {}); + + // | Platform | Engine | Arch | Size (bytes) | Diff | + // |:---------|:-------|:------------|-------------:|-----:| + // | android | hermes | arm64-v8a | 9437184 | ±0 | + // | android | hermes | armeabi-v7a | 9015296 | ±0 | + // | android | hermes | x86 | 9498624 | ±0 | + // | android | hermes | x86_64 | 9965568 | ±0 | + // | android | jsc | arm64-v8a | 9236480 | ±0 | + // | android | jsc | armeabi-v7a | 8814592 | ±0 | + // | android | jsc | x86 | 9297920 | ±0 | + // | android | jsc | x86_64 | 9764864 | ±0 | + // | android | jsc | x86_64 | 9764864 | ±0 | + // | ios | - | universal | 10715136 | ±0 | + const formatted = [ + '| Platform | Engine | Arch | Size (bytes) | Diff |', + '|:---------|:-------|:-----|-------------:|-----:|', + ...Object.keys(stats).map(identifier => { + const [size, diff] = (() => { + const statSize = stats[identifier]; + if (!statSize) { + return ['n/a', '--']; + } else if (!(identifier in document)) { + return [statSize, 'n/a']; + } else { + return [ + sizeFormatter.format(statSize), + diffFormatter.format(statSize - document[identifier]), + ]; + } + })(); + + const [platform, engineOrArch, ...archParts] = identifier.split('-'); + const arch = archParts.join('-') || engineOrArch; + const engine = arch === engineOrArch ? '-' : engineOrArch; // e.g. 'ios-universal' + return `| ${platform} | ${engine} | ${arch} | ${size} | ${diff} |`; + }), + '', + `Base commit: ${document.commit || ''}`, + `Branch: ${document.branch || ''}`, + ].join('\n'); + + return formatted; +} + /** * Returns the size of the file at specified path in bytes. * @param {fs.PathLike} path diff --git a/jest/mockModal.js b/jest/mockModal.js index 8c5bfc7ec092cf..dc0d07b7609de0 100644 --- a/jest/mockModal.js +++ b/jest/mockModal.js @@ -13,11 +13,11 @@ 'use strict'; const React = require('react'); -const Modal = require('../Libraries/Modal/Modal'); +import typeof Modal from '../Libraries/Modal/Modal'; function mockModal(BaseComponent: $FlowFixMe) { class ModalMock extends BaseComponent { - render(): React.Element { + render(): React.Element { return ( {this.props.visible !== true ? null : this.props.children} diff --git a/jest/preprocessor.js b/jest/preprocessor.js index e209750d697334..e9d12710ddf4ed 100644 --- a/jest/preprocessor.js +++ b/jest/preprocessor.js @@ -13,42 +13,10 @@ 'use strict'; const babelRegisterOnly = require('metro-babel-register'); -const nullthrows = require('nullthrows'); const createCacheKeyFunction = require('@jest/create-cache-key-function') .default; -const t = require('@babel/types'); -const {statements} = require('@babel/template').default; -const importDefault = '__importDefault__'; -const importAll = '__importAll__'; - -// prelude -const importPrelude = statements(` - function ${importDefault}(moduleId) { - const exports = require(moduleId); - - if (exports && exports.__esModule) { - return exports.default; - } - - return exports; - }; - - function ${importAll}(moduleId) { - const exports = require(moduleId); - - if (exports && exports.__esModule) { - return exports; - } - - return Object.assign({}, exports, {default: exports}); - }; -`); - -const { - transformSync: babelTransformSync, - transformFromAstSync: babelTransformFromAstSync, -} = require('@babel/core'); +const {transformSync: babelTransformSync} = require('@babel/core'); const generate = require('@babel/generator').default; const nodeFiles = new RegExp( @@ -73,13 +41,13 @@ module.exports = { }).code; } - let {ast} = transformer.transform({ + const {ast} = transformer.transform({ filename: file, options: { ast: true, // needed for open source (?) https://github.com/facebook/react-native/commit/f8d6b97140cffe8d18b2558f94570c8d1b410d5c#r28647044 dev: true, enableBabelRuntime: false, - experimentalImportSupport: true, + experimentalImportSupport: false, globalPrefix: '', hot: false, inlineRequires: true, @@ -111,6 +79,10 @@ module.exports = { [require('@babel/plugin-transform-regenerator')], [require('@babel/plugin-transform-sticky-regex')], [require('@babel/plugin-transform-unicode-regex')], + [ + require('@babel/plugin-transform-modules-commonjs'), + {strict: false, allowTopLevelThis: true}, + ], [require('@babel/plugin-transform-classes')], [require('@babel/plugin-transform-arrow-functions')], [require('@babel/plugin-transform-spread')], @@ -127,46 +99,6 @@ module.exports = { ], }); - // We're not using @babel/plugin-transform-modules-commonjs so - // we need to add 'use strict' manually - const directives = ast.program.directives; - - if ( - ast.program.sourceType === 'module' && - (directives == null || - directives.findIndex(d => d.value.value === 'use strict') === -1) - ) { - ast.program.directives = [ - ...(directives || []), - t.directive(t.directiveLiteral('use strict')), - ]; - } - - // Postprocess the transformed module to handle ESM and inline requires. - // We need to do this in a separate pass to avoid issues tracking references. - const babelTransformResult = babelTransformFromAstSync(ast, src, { - ast: true, - retainLines: true, - plugins: [ - [ - require('metro-transform-plugins').importExportPlugin, - {importDefault, importAll}, - ], - [ - require('babel-preset-fbjs/plugins/inline-requires.js'), - {inlineableCalls: [importDefault, importAll]}, - ], - ], - sourceType: 'module', - }); - - ast = nullthrows(babelTransformResult.ast); - - // Inject import helpers *after* running the inline-requires transform, - // because otherwise it will assume they are user code and bail out of - // inlining calls to them. - ast.program.body.unshift(...importPrelude()); - return generate( ast, // $FlowFixMe[prop-missing] Error found when improving flow typing for libs diff --git a/package.json b/package.json index 50cfac09c649c4..259a884cd0eb65 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,6 @@ { "name": "react-native", - "private": true, - "version": "1000.0.0", + "version": "0.67.2", "bin": "./cli.js", "description": "A framework for building native apps using React", "license": "MIT", @@ -80,10 +79,6 @@ "test-ios-e2e": "detox test -c ios.sim.release packages/rn-tester/e2e", "test-ios": "./scripts/objc-test.sh test" }, - "workspaces": [ - "packages/!(eslint-config-react-native-community)", - "repo-config" - ], "peerDependencies": { "react": "17.0.2" }, @@ -116,11 +111,53 @@ "stacktrace-parser": "^0.1.3", "use-subscription": "^1.0.0", "whatwg-fetch": "^3.0.0", - "ws": "^6.1.4" + "ws": "^6.1.4", + "react-native-codegen": "^0.0.8" }, "devDependencies": { "flow-bin": "^0.162.0", - "react": "17.0.2" + "react": "17.0.2", + "@babel/core": "^7.14.0", + "@babel/generator": "^7.14.0", + "@babel/template": "^7.0.0", + "@babel/types": "^7.0.0", + "@react-native-community/eslint-plugin": "*", + "@reactions/component": "^2.0.2", + "async": "^2.4.0", + "babel-eslint": "^10.1.0", + "babel-preset-fbjs": "^3.4.0", + "clang-format": "^1.2.4", + "connect": "^3.6.5", + "coveralls": "^3.0.2", + "detox": "16.7.2", + "eslint": "7.12.0", + "eslint-config-fb-strict": "^24.9.0", + "eslint-config-fbjs": "2.1.0", + "eslint-config-prettier": "^6.0.0", + "eslint-plugin-babel": "^5.3.0", + "eslint-plugin-eslint-comments": "^3.1.1", + "eslint-plugin-flowtype": "2.50.3", + "eslint-plugin-jest": "22.4.1", + "eslint-plugin-jsx-a11y": "6.2.1", + "eslint-plugin-prettier": "2.6.2", + "eslint-plugin-react": "7.21.5", + "eslint-plugin-react-hooks": "^4.2.0", + "eslint-plugin-react-native": "3.10.0", + "eslint-plugin-relay": "1.8.1", + "jest": "^26.6.3", + "jest-junit": "^10.0.0", + "jscodeshift": "^0.11.0", + "metro-babel-register": "0.66.2", + "metro-transform-plugins": "^0.66.2", + "mkdirp": "^0.5.1", + "prettier": "1.19.1", + "react-shallow-renderer": "16.14.1", + "react-test-renderer": "17.0.2", + "shelljs": "^0.7.8", + "signedsource": "^1.0.0", + "ws": "^6.1.4", + "yargs": "^15.3.1", + "inquirer": "^7.1.0" }, "detox": { "test-runner": "jest", @@ -159,4 +196,4 @@ } } } -} +} \ No newline at end of file diff --git a/packages/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/TaskConfiguration.kt b/packages/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/TaskConfiguration.kt index eefaef68a8735c..37ff1c2ab0f54b 100644 --- a/packages/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/TaskConfiguration.kt +++ b/packages/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/TaskConfiguration.kt @@ -244,10 +244,6 @@ private fun Project.cleanupVMFiles( } else { // For JSC, delete all the libhermes* files it.include("**/libhermes*.so") - // Delete the libjscexecutor from release build - if (cleanup) { - it.include("**/libjscexecutor.so") - } } } .visit { visit -> diff --git a/packages/rn-tester/Podfile b/packages/rn-tester/Podfile index 88d94344f2ff29..a6902753aea65f 100644 --- a/packages/rn-tester/Podfile +++ b/packages/rn-tester/Podfile @@ -52,4 +52,5 @@ end post_install do |installer| react_native_post_install(installer) + __apply_Xcode_12_5_M1_post_install_workaround(installer) end diff --git a/packages/rn-tester/Podfile.lock b/packages/rn-tester/Podfile.lock index afdcd457dd4f4a..acd766a4ea879c 100644 --- a/packages/rn-tester/Podfile.lock +++ b/packages/rn-tester/Podfile.lock @@ -2,14 +2,14 @@ PODS: - boost (1.76.0) - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (1000.0.0) - - FBReactNativeSpec (1000.0.0): - - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-Core (= 1000.0.0) - - React-jsi (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) + - FBLazyVector (0.67.2) + - FBReactNativeSpec (0.67.2): + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-Core (= 0.67.2) + - React-jsi (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) - Flipper (0.99.0): - Flipper-Folly (~> 2.6) - Flipper-RSocket (~> 1.4) @@ -90,620 +90,620 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog - - RCTRequired (1000.0.0) - - RCTTypeSafety (1000.0.0): - - FBLazyVector (= 1000.0.0) - - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - React-Core (= 1000.0.0) - - React (1000.0.0): - - React-Core (= 1000.0.0) - - React-Core/DevSupport (= 1000.0.0) - - React-Core/RCTWebSocket (= 1000.0.0) - - React-RCTActionSheet (= 1000.0.0) - - React-RCTAnimation (= 1000.0.0) - - React-RCTBlob (= 1000.0.0) - - React-RCTImage (= 1000.0.0) - - React-RCTLinking (= 1000.0.0) - - React-RCTNetwork (= 1000.0.0) - - React-RCTSettings (= 1000.0.0) - - React-RCTText (= 1000.0.0) - - React-RCTVibration (= 1000.0.0) - - React-callinvoker (1000.0.0) - - React-Core (1000.0.0): + - RCTRequired (0.67.2) + - RCTTypeSafety (0.67.2): + - FBLazyVector (= 0.67.2) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - React-Core (= 0.67.2) + - React (0.67.2): + - React-Core (= 0.67.2) + - React-Core/DevSupport (= 0.67.2) + - React-Core/RCTWebSocket (= 0.67.2) + - React-RCTActionSheet (= 0.67.2) + - React-RCTAnimation (= 0.67.2) + - React-RCTBlob (= 0.67.2) + - React-RCTImage (= 0.67.2) + - React-RCTLinking (= 0.67.2) + - React-RCTNetwork (= 0.67.2) + - React-RCTSettings (= 0.67.2) + - React-RCTText (= 0.67.2) + - React-RCTVibration (= 0.67.2) + - React-callinvoker (0.67.2) + - React-Core (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 1000.0.0) - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-Core/Default (= 0.67.2) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/CoreModulesHeaders (1000.0.0): + - React-Core/CoreModulesHeaders (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/Default (1000.0.0): + - React-Core/Default (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/DevSupport (1000.0.0): + - React-Core/DevSupport (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 1000.0.0) - - React-Core/RCTWebSocket (= 1000.0.0) - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-jsinspector (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-Core/Default (= 0.67.2) + - React-Core/RCTWebSocket (= 0.67.2) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-jsinspector (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/RCTActionSheetHeaders (1000.0.0): + - React-Core/RCTActionSheetHeaders (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/RCTAnimationHeaders (1000.0.0): + - React-Core/RCTAnimationHeaders (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/RCTBlobHeaders (1000.0.0): + - React-Core/RCTBlobHeaders (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/RCTImageHeaders (1000.0.0): + - React-Core/RCTImageHeaders (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/RCTLinkingHeaders (1000.0.0): + - React-Core/RCTLinkingHeaders (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/RCTNetworkHeaders (1000.0.0): + - React-Core/RCTNetworkHeaders (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/RCTPushNotificationHeaders (1000.0.0): + - React-Core/RCTPushNotificationHeaders (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/RCTSettingsHeaders (1000.0.0): + - React-Core/RCTSettingsHeaders (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/RCTTextHeaders (1000.0.0): + - React-Core/RCTTextHeaders (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/RCTVibrationHeaders (1000.0.0): + - React-Core/RCTVibrationHeaders (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-Core/RCTWebSocket (1000.0.0): + - React-Core/RCTWebSocket (0.67.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 1000.0.0) - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-perflogger (= 1000.0.0) + - React-Core/Default (= 0.67.2) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-perflogger (= 0.67.2) - Yoga - - React-CoreModules (1000.0.0): - - FBReactNativeSpec (= 1000.0.0) - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 1000.0.0) - - React-Core/CoreModulesHeaders (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-RCTImage (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-cxxreact (1000.0.0): + - React-CoreModules (0.67.2): + - FBReactNativeSpec (= 0.67.2) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.67.2) + - React-Core/CoreModulesHeaders (= 0.67.2) + - React-jsi (= 0.67.2) + - React-RCTImage (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-cxxreact (0.67.2): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsinspector (= 1000.0.0) - - React-logger (= 1000.0.0) - - React-perflogger (= 1000.0.0) - - React-runtimeexecutor (= 1000.0.0) - - React-Fabric (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-Fabric/animations (= 1000.0.0) - - React-Fabric/attributedstring (= 1000.0.0) - - React-Fabric/better (= 1000.0.0) - - React-Fabric/componentregistry (= 1000.0.0) - - React-Fabric/componentregistrynative (= 1000.0.0) - - React-Fabric/components (= 1000.0.0) - - React-Fabric/config (= 1000.0.0) - - React-Fabric/core (= 1000.0.0) - - React-Fabric/debug_core (= 1000.0.0) - - React-Fabric/debug_renderer (= 1000.0.0) - - React-Fabric/imagemanager (= 1000.0.0) - - React-Fabric/leakchecker (= 1000.0.0) - - React-Fabric/mounting (= 1000.0.0) - - React-Fabric/runtimescheduler (= 1000.0.0) - - React-Fabric/scheduler (= 1000.0.0) - - React-Fabric/telemetry (= 1000.0.0) - - React-Fabric/templateprocessor (= 1000.0.0) - - React-Fabric/textlayoutmanager (= 1000.0.0) - - React-Fabric/uimanager (= 1000.0.0) - - React-Fabric/utils (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/animations (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/attributedstring (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/better (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/componentregistry (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/componentregistrynative (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-Fabric/components/activityindicator (= 1000.0.0) - - React-Fabric/components/image (= 1000.0.0) - - React-Fabric/components/inputaccessory (= 1000.0.0) - - React-Fabric/components/legacyviewmanagerinterop (= 1000.0.0) - - React-Fabric/components/modal (= 1000.0.0) - - React-Fabric/components/rncore (= 1000.0.0) - - React-Fabric/components/root (= 1000.0.0) - - React-Fabric/components/safeareaview (= 1000.0.0) - - React-Fabric/components/scrollview (= 1000.0.0) - - React-Fabric/components/slider (= 1000.0.0) - - React-Fabric/components/text (= 1000.0.0) - - React-Fabric/components/textinput (= 1000.0.0) - - React-Fabric/components/unimplementedview (= 1000.0.0) - - React-Fabric/components/view (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/activityindicator (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/image (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/inputaccessory (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/legacyviewmanagerinterop (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/modal (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/rncore (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/root (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/safeareaview (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/scrollview (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/slider (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/text (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/textinput (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/unimplementedview (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/components/view (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) + - React-callinvoker (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsinspector (= 0.67.2) + - React-logger (= 0.67.2) + - React-perflogger (= 0.67.2) + - React-runtimeexecutor (= 0.67.2) + - React-Fabric (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-Fabric/animations (= 0.67.2) + - React-Fabric/attributedstring (= 0.67.2) + - React-Fabric/better (= 0.67.2) + - React-Fabric/componentregistry (= 0.67.2) + - React-Fabric/componentregistrynative (= 0.67.2) + - React-Fabric/components (= 0.67.2) + - React-Fabric/config (= 0.67.2) + - React-Fabric/core (= 0.67.2) + - React-Fabric/debug_core (= 0.67.2) + - React-Fabric/debug_renderer (= 0.67.2) + - React-Fabric/imagemanager (= 0.67.2) + - React-Fabric/leakchecker (= 0.67.2) + - React-Fabric/mounting (= 0.67.2) + - React-Fabric/runtimescheduler (= 0.67.2) + - React-Fabric/scheduler (= 0.67.2) + - React-Fabric/telemetry (= 0.67.2) + - React-Fabric/templateprocessor (= 0.67.2) + - React-Fabric/textlayoutmanager (= 0.67.2) + - React-Fabric/uimanager (= 0.67.2) + - React-Fabric/utils (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/animations (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/attributedstring (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/better (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/componentregistry (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/componentregistrynative (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-Fabric/components/activityindicator (= 0.67.2) + - React-Fabric/components/image (= 0.67.2) + - React-Fabric/components/inputaccessory (= 0.67.2) + - React-Fabric/components/legacyviewmanagerinterop (= 0.67.2) + - React-Fabric/components/modal (= 0.67.2) + - React-Fabric/components/rncore (= 0.67.2) + - React-Fabric/components/root (= 0.67.2) + - React-Fabric/components/safeareaview (= 0.67.2) + - React-Fabric/components/scrollview (= 0.67.2) + - React-Fabric/components/slider (= 0.67.2) + - React-Fabric/components/text (= 0.67.2) + - React-Fabric/components/textinput (= 0.67.2) + - React-Fabric/components/unimplementedview (= 0.67.2) + - React-Fabric/components/view (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/activityindicator (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/image (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/inputaccessory (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/legacyviewmanagerinterop (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/modal (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/rncore (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/root (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/safeareaview (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/scrollview (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/slider (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/text (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/textinput (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/unimplementedview (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/components/view (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) - Yoga - - React-Fabric/config (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/core (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/debug_core (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/debug_renderer (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/imagemanager (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - React-RCTImage (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/leakchecker (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/mounting (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/runtimescheduler (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/scheduler (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/telemetry (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/templateprocessor (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/textlayoutmanager (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) + - React-Fabric/config (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/core (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/debug_core (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/debug_renderer (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/imagemanager (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - React-RCTImage (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/leakchecker (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/mounting (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/runtimescheduler (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/scheduler (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/telemetry (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/templateprocessor (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/textlayoutmanager (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) - React-Fabric/uimanager - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/uimanager (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-Fabric/utils (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-graphics (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-jsiexecutor (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-graphics (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - React-Core/Default (= 1000.0.0) - - React-jsi (1000.0.0): + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/uimanager (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-Fabric/utils (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - RCTRequired (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-graphics (= 0.67.2) + - React-jsi (= 0.67.2) + - React-jsiexecutor (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-graphics (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - React-Core/Default (= 0.67.2) + - React-jsi (0.67.2): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Default (= 1000.0.0) - - React-jsi/Default (1000.0.0): + - React-jsi/Default (= 0.67.2) + - React-jsi/Default (0.67.2): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Fabric (1000.0.0): + - React-jsi/Fabric (0.67.2): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsiexecutor (1000.0.0): + - React-jsiexecutor (0.67.2): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-perflogger (= 1000.0.0) - - React-jsinspector (1000.0.0) - - React-logger (1000.0.0): + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-perflogger (= 0.67.2) + - React-jsinspector (0.67.2) + - React-logger (0.67.2): - glog - - React-perflogger (1000.0.0) - - React-RCTActionSheet (1000.0.0): - - React-Core/RCTActionSheetHeaders (= 1000.0.0) - - React-RCTAnimation (1000.0.0): - - FBReactNativeSpec (= 1000.0.0) - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 1000.0.0) - - React-Core/RCTAnimationHeaders (= 1000.0.0) - - React-jsi (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-RCTBlob (1000.0.0): - - FBReactNativeSpec (= 1000.0.0) - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/RCTBlobHeaders (= 1000.0.0) - - React-Core/RCTWebSocket (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-RCTNetwork (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-RCTFabric (1000.0.0): - - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - React-Core (= 1000.0.0) - - React-Fabric (= 1000.0.0) - - React-RCTImage (= 1000.0.0) - - React-RCTImage (1000.0.0): - - FBReactNativeSpec (= 1000.0.0) - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 1000.0.0) - - React-Core/RCTImageHeaders (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-RCTNetwork (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-RCTLinking (1000.0.0): - - FBReactNativeSpec (= 1000.0.0) - - React-Core/RCTLinkingHeaders (= 1000.0.0) - - React-jsi (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-RCTNetwork (1000.0.0): - - FBReactNativeSpec (= 1000.0.0) - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 1000.0.0) - - React-Core/RCTNetworkHeaders (= 1000.0.0) - - React-jsi (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-RCTPushNotification (1000.0.0): - - FBReactNativeSpec (= 1000.0.0) - - RCTTypeSafety (= 1000.0.0) - - React-Core/RCTPushNotificationHeaders (= 1000.0.0) - - React-jsi (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-RCTSettings (1000.0.0): - - FBReactNativeSpec (= 1000.0.0) - - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 1000.0.0) - - React-Core/RCTSettingsHeaders (= 1000.0.0) - - React-jsi (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-RCTTest (1000.0.0): - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core (= 1000.0.0) - - React-CoreModules (= 1000.0.0) - - React-jsi (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-RCTText (1000.0.0): - - React-Core/RCTTextHeaders (= 1000.0.0) - - React-RCTVibration (1000.0.0): - - FBReactNativeSpec (= 1000.0.0) - - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/RCTVibrationHeaders (= 1000.0.0) - - React-jsi (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) - - React-runtimeexecutor (1000.0.0): - - React-jsi (= 1000.0.0) - - ReactCommon/turbomodule/core (1000.0.0): + - React-perflogger (0.67.2) + - React-RCTActionSheet (0.67.2): + - React-Core/RCTActionSheetHeaders (= 0.67.2) + - React-RCTAnimation (0.67.2): + - FBReactNativeSpec (= 0.67.2) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.67.2) + - React-Core/RCTAnimationHeaders (= 0.67.2) + - React-jsi (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-RCTBlob (0.67.2): + - FBReactNativeSpec (= 0.67.2) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/RCTBlobHeaders (= 0.67.2) + - React-Core/RCTWebSocket (= 0.67.2) + - React-jsi (= 0.67.2) + - React-RCTNetwork (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-RCTFabric (0.67.2): + - RCT-Folly/Fabric (= 2021.06.28.00-v2) + - React-Core (= 0.67.2) + - React-Fabric (= 0.67.2) + - React-RCTImage (= 0.67.2) + - React-RCTImage (0.67.2): + - FBReactNativeSpec (= 0.67.2) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.67.2) + - React-Core/RCTImageHeaders (= 0.67.2) + - React-jsi (= 0.67.2) + - React-RCTNetwork (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-RCTLinking (0.67.2): + - FBReactNativeSpec (= 0.67.2) + - React-Core/RCTLinkingHeaders (= 0.67.2) + - React-jsi (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-RCTNetwork (0.67.2): + - FBReactNativeSpec (= 0.67.2) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.67.2) + - React-Core/RCTNetworkHeaders (= 0.67.2) + - React-jsi (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-RCTPushNotification (0.67.2): + - FBReactNativeSpec (= 0.67.2) + - RCTTypeSafety (= 0.67.2) + - React-Core/RCTPushNotificationHeaders (= 0.67.2) + - React-jsi (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-RCTSettings (0.67.2): + - FBReactNativeSpec (= 0.67.2) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTTypeSafety (= 0.67.2) + - React-Core/RCTSettingsHeaders (= 0.67.2) + - React-jsi (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-RCTTest (0.67.2): + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core (= 0.67.2) + - React-CoreModules (= 0.67.2) + - React-jsi (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-RCTText (0.67.2): + - React-Core/RCTTextHeaders (= 0.67.2) + - React-RCTVibration (0.67.2): + - FBReactNativeSpec (= 0.67.2) + - RCT-Folly (= 2021.06.28.00-v2) + - React-Core/RCTVibrationHeaders (= 0.67.2) + - React-jsi (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) + - React-runtimeexecutor (0.67.2): + - React-jsi (= 0.67.2) + - ReactCommon/turbomodule/core (0.67.2): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 1000.0.0) - - React-Core (= 1000.0.0) - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-logger (= 1000.0.0) - - React-perflogger (= 1000.0.0) - - ReactCommon/turbomodule/samples (1000.0.0): + - React-callinvoker (= 0.67.2) + - React-Core (= 0.67.2) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-logger (= 0.67.2) + - React-perflogger (= 0.67.2) + - ReactCommon/turbomodule/samples (0.67.2): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 1000.0.0) - - React-Core (= 1000.0.0) - - React-cxxreact (= 1000.0.0) - - React-jsi (= 1000.0.0) - - React-logger (= 1000.0.0) - - React-perflogger (= 1000.0.0) - - ReactCommon/turbomodule/core (= 1000.0.0) + - React-callinvoker (= 0.67.2) + - React-Core (= 0.67.2) + - React-cxxreact (= 0.67.2) + - React-jsi (= 0.67.2) + - React-logger (= 0.67.2) + - React-perflogger (= 0.67.2) + - ReactCommon/turbomodule/core (= 0.67.2) - ScreenshotManager (0.0.1): - RCT-Folly (= 2021.06.28.00-v2) - React @@ -871,8 +871,8 @@ SPEC CHECKSUMS: boost: a7c83b31436843459a1961bfd74b96033dc77234 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 - FBLazyVector: b81a2b70c72d8b0aefb652cea22c11e9ffd02949 - FBReactNativeSpec: 00db9a8a231ace8f457589cd2da0a1528e77ac95 + FBLazyVector: 244195e30d63d7f564c55da4410b9a24e8fbceaa + FBReactNativeSpec: 2e2033e9dfdc3d463113e4dbdc03e332d7289dd4 Flipper: 30e8eeeed6abdc98edaf32af0cda2f198be4b733 Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c Flipper-DoubleConversion: 57ffbe81ef95306cc9e69c4aa3aeeeeb58a6a28c @@ -887,38 +887,38 @@ SPEC CHECKSUMS: libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b RCT-Folly: 803a9cfd78114b2ec0f140cfa6fa2a6bafb2d685 - RCTRequired: af2d6080a4b9ba0885b28ca78879a92066c71cab - RCTTypeSafety: c7a7f67ae5b1b986b78d817baa408fc984ab7c0c - React: f64c9f6db5428717922a3292ba6a448615a2e143 - React-callinvoker: c5d61e29df57793f0dc10ec2bc01c846f863e51f - React-Core: 22bc86b79dd931dbfb7fd2af91a35a98d41ceb64 - React-CoreModules: 1a96917a9a5fd73a989b462ed4dee742fb92332f - React-cxxreact: cfc1663dae1ea52b465bbf021ef7b1527c5dc80c - React-Fabric: 1489d7b89f472f291b950a483c905ca5443eb288 - React-graphics: 9a84942b49ea1375ce83844041fa2ba766cfe0b9 - React-jsi: c1c0108d86e1378aabf7c9146ed7d12d87c7df85 - React-jsiexecutor: d08ec14edc8f2e19af51550cd1505332eae35c7b - React-jsinspector: 7d223826b0e7a61b3540c21b9eca2603b1d4e823 - React-logger: 2009c0280c286a76200d6b7c5fe242fad51ddd7a - React-perflogger: fe66bd6d8b17ebcfdf0159bf41fe28d8035ac20c - React-RCTActionSheet: 3131a0b9280aa0e51bdf54b3d79aecd8503db62c - React-RCTAnimation: 5b2a86f9b5dc9683bfcf6315c58d04e93da57fd7 - React-RCTBlob: d417f5814b38d91c8e7a1f667aef7d36c6c789de - React-RCTFabric: 921f6d8ae5211e1c0bd31d426487118a61502c8b - React-RCTImage: 1717771340c6319ed49a529faf1581c779c52d77 - React-RCTLinking: 559c9223212ab2824950883220582c5e29a6fcb2 - React-RCTNetwork: fe64ecd503461a8c01a0ab21d07cf9419f1cba54 - React-RCTPushNotification: fafeb247db030c4d3f0a098d729e49f62ed32b3f - React-RCTSettings: b9b3db270879f3e8b89122938a9a96ac93a5bd98 - React-RCTTest: 12bbd7fc2e72bd9920dc7286c5b8ef96639582b6 - React-RCTText: e9146b2c0550a83d1335bfe2553760070a2d75c7 - React-RCTVibration: 3f42a7cbba10f87dfaeedd529484ac275203e175 - React-runtimeexecutor: 4b0c6eb341c7d3ceb5e2385cb0fdb9bf701024f3 - ReactCommon: 7a2714d1128f965392b6f99a8b390e3aa38c9569 + RCTRequired: cd47794163052d2b8318c891a7a14fcfaccc75ab + RCTTypeSafety: 393bb40b3e357b224cde53d3fec26813c52428b1 + React: dec6476bc27155b250eeadfc11ea779265f53ebf + React-callinvoker: e5047929e80aea942e6fdd96482504ef0189ca63 + React-Core: e382655566b2b9a6e3b4f641d777b7bfdbe52358 + React-CoreModules: cf262e82fa101c0aee022b6f90d1a5b612038b64 + React-cxxreact: 69d53de3b30c7c161ba087ca1ecdffed9ccb1039 + React-Fabric: 6704470e1cb96ee2109ea23c064e42eaa7b7476b + React-graphics: a5284e2d76635aa6fd9e579f465a1a8906a0a3c8 + React-jsi: ce9a2d804adf75809ce2fe2374ba3fbbf5d59b03 + React-jsiexecutor: 52beb652bbc61201bd70cbe4f0b8edb607e8da4f + React-jsinspector: 595f76eba2176ebd8817a1fffd47b84fbdab9383 + React-logger: 23de8ea0f44fa00ee77e96060273225607fd4d78 + React-perflogger: 3c9bb7372493e49036f07a82c44c8cf65cbe88db + React-RCTActionSheet: 052606483045a408693aa7e864410b4a052f541a + React-RCTAnimation: 08d4cac13222bb1348c687a0158dfd3b577cdb63 + React-RCTBlob: 928ad1df65219c3d9e2ac80983b943a75b5c3629 + React-RCTFabric: b45b76dfeb3a8aa293043fd7f79fc908112e800e + React-RCTImage: 524d7313b142a39ee0e20fa312b67277917fe076 + React-RCTLinking: 44036ea6f13a2e46238be07a67566247fee35244 + React-RCTNetwork: 9b6faacf1e0789253e319ca53b1f8d92c2ac5455 + React-RCTPushNotification: 385de64576065900e562ea5db2c7bcccb498fa68 + React-RCTSettings: ecd8094f831130a49581d5112a8607220e5d12a5 + React-RCTTest: 0e08aab266d47be8001adc7c6bdbedcca4eb2535 + React-RCTText: 14ba976fb48ed283cfdb1a754a5d4276471e0152 + React-RCTVibration: 99c7f67fba7a5ade46e98e870c6ff2444484f995 + React-runtimeexecutor: 2450b43df7ffe8e805a0b3dcb2abd4282f1f1836 + ReactCommon: d98c6c96b567f9b3a15f9fd4cc302c1eda8e3cf2 ScreenshotManager: 77a411be93200db8e25f9e1d59a1e88a829e358b - Yoga: c0d06f5380d34e939f55420669a60fe08b79bd75 + Yoga: 9b6696970c3289e8dea34b3eda93f23e61fb8121 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: f2609ec079811d7784b6e802b8351314bd41de51 +PODFILE CHECKSUM: 21be0a8894b752aaab399f9d4075cf41baf345f3 COCOAPODS: 1.11.2 diff --git a/react.gradle b/react.gradle index d9e27140aeaf94..2aefa12f86cb37 100644 --- a/react.gradle +++ b/react.gradle @@ -363,10 +363,6 @@ afterEvaluate { } else { // For JSC, delete all the libhermes* files include "**/libhermes*.so" - // Delete the libjscexecutor from release build - if (cleanup) { - include "**/libjscexecutor.so" - } } }.visit { details -> def targetVariant1 = ".*/transforms/[^/]*/${targetPath}/.*" diff --git a/repo-config/package.json b/repo-config/package.json index ca4ac3eae9300c..7a39b866ea59ba 100644 --- a/repo-config/package.json +++ b/repo-config/package.json @@ -11,13 +11,10 @@ "dependencies": { "@babel/core": "^7.14.0", "@babel/generator": "^7.14.0", - "@babel/template": "^7.0.0", - "@babel/types": "^7.0.0", "@react-native-community/eslint-plugin": "*", "@reactions/component": "^2.0.2", "async": "^2.4.0", "babel-eslint": "^10.1.0", - "babel-preset-fbjs": "^3.4.0", "clang-format": "^1.2.4", "connect": "^3.6.5", "coveralls": "^3.0.2", @@ -37,11 +34,11 @@ "eslint-plugin-react-native": "3.10.0", "eslint-plugin-relay": "1.8.1", "flow-bin": "^0.162.0", + "inquirer": "^7.1.0", "jest": "^26.6.3", "jest-junit": "^10.0.0", "jscodeshift": "^0.11.0", "metro-babel-register": "0.66.2", - "metro-transform-plugins": "^0.66.2", "mkdirp": "^0.5.1", "prettier": "1.19.1", "react": "17.0.2", diff --git a/scripts/__tests__/version-utils-test.js b/scripts/__tests__/version-utils-test.js new file mode 100644 index 00000000000000..900f538bd65391 --- /dev/null +++ b/scripts/__tests__/version-utils-test.js @@ -0,0 +1,132 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + */ + +const { + parseVersion, + isTaggedLatest, + isReleaseBranch, +} = require('../version-utils'); + +let execResult = null; +jest.mock('shelljs', () => ({ + exec: () => { + return { + stdout: execResult, + }; + }, +})); + +describe('version-utils', () => { + describe('isReleaseBranch', () => { + it('should identify as release branch', () => { + expect(isReleaseBranch('v0.66-stable')).toBe(true); + expect(isReleaseBranch('0.66-stable')).toBe(true); + expect(isReleaseBranch('made-up-stuff-stable')).toBe(true); + }); + it('should not identify as release branch', () => { + expect(isReleaseBranch('main')).toBe(false); + expect(isReleaseBranch('pull/32659')).toBe(false); + }); + }); + describe('isTaggedLatest', () => { + it('it should identify commit as tagged `latest`', () => { + execResult = '6c19dc3266b84f47a076b647a1c93b3c3b69d2c5\n'; + expect(isTaggedLatest('6c19dc3266b84f47a076b647a1c93b3c3b69d2c5')).toBe( + true, + ); + }); + it('it should not identify commit as tagged `latest`', () => { + execResult = '6c19dc3266b84f47a076b647a1c93b3c3b69d2c5\n'; + expect(isTaggedLatest('6c19dc3266b8')).toBe(false); + }); + }); + + describe('parseVersion', () => { + it('should throw error if invalid match', () => { + function testInvalidVersion() { + parseVersion(''); + } + expect(testInvalidVersion).toThrowErrorMatchingInlineSnapshot( + `"You must pass a correctly formatted version; couldn't parse "`, + ); + }); + + it('should parse pre-release version with .', () => { + const {version, major, minor, patch, prerelease} = parseVersion( + '0.66.0-rc.4', + ); + expect(version).toBe('0.66.0-rc.4'); + expect(major).toBe('0'); + expect(minor).toBe('66'); + expect(patch).toBe('0'); + expect(prerelease).toBe('rc.4'); + }); + + it('should parse pre-release version with -', () => { + const {version, major, minor, patch, prerelease} = parseVersion( + '0.66.0-rc-4', + ); + expect(version).toBe('0.66.0-rc-4'); + expect(major).toBe('0'); + expect(minor).toBe('66'); + expect(patch).toBe('0'); + expect(prerelease).toBe('rc-4'); + }); + + it('should parse stable version', () => { + const {version, major, minor, patch, prerelease} = parseVersion('0.66.0'); + expect(version).toBe('0.66.0'); + expect(major).toBe('0'); + expect(minor).toBe('66'); + expect(patch).toBe('0'); + expect(prerelease).toBeUndefined(); + }); + it('should parse pre-release version from tag', () => { + const {version, major, minor, patch, prerelease} = parseVersion( + 'v0.66.1-rc.4', + ); + expect(version).toBe('0.66.1-rc.4'); + expect(major).toBe('0'); + expect(minor).toBe('66'); + expect(patch).toBe('1'); + expect(prerelease).toBe('rc.4'); + }); + + it('should parse stable version from tag', () => { + const {version, major, minor, patch, prerelease} = parseVersion( + 'v0.66.0', + ); + expect(version).toBe('0.66.0'); + expect(major).toBe('0'); + expect(minor).toBe('66'); + expect(patch).toBe('0'); + expect(prerelease).toBeUndefined(); + }); + + it('should parse nightly fake version', () => { + const {version, major, minor, patch, prerelease} = parseVersion('0.0.0'); + expect(version).toBe('0.0.0'); + expect(major).toBe('0'); + expect(minor).toBe('0'); + expect(patch).toBe('0'); + expect(prerelease).toBeUndefined(); + }); + + it('should parse dryrun fake version', () => { + const {version, major, minor, patch, prerelease} = parseVersion( + '1000.0.0', + ); + expect(version).toBe('1000.0.0'); + expect(major).toBe('1000'); + expect(minor).toBe('0'); + expect(patch).toBe('0'); + expect(prerelease).toBeUndefined(); + }); + }); +}); diff --git a/scripts/bump-oss-version.js b/scripts/bump-oss-version.js index 6550726ed89e93..55003d4579d458 100755 --- a/scripts/bump-oss-version.js +++ b/scripts/bump-oss-version.js @@ -11,223 +11,149 @@ 'use strict'; /** - * This script bumps a new version for open source releases. - * It updates the version in json/gradle files and makes sure they are consistent between each other - * After changing the files it makes a commit and tags it. - * All you have to do is push changes to remote and CI will make a new build. + * This script walks a releaser through bumping the version for a release + * It will commit the appropriate tags to trigger the CircleCI jobs. + * TODO change this workflow to use POST a trigger vs. using tags */ -const fs = require('fs'); -const {cat, echo, exec, exit, sed} = require('shelljs'); +const {exec, exit} = require('shelljs'); const yargs = require('yargs'); +const inquirer = require('inquirer'); +const request = require('request'); + +const { + parseVersion, + isReleaseBranch, + getBranchName, +} = require('./version-utils'); let argv = yargs .option('r', { alias: 'remote', default: 'origin', }) - .option('n', { - alias: 'nightly', - type: 'boolean', - default: false, + .option('t', { + alias: 'token', + describe: + 'Your CircleCI personal API token. See https://circleci.com/docs/2.0/managing-api-tokens/#creating-a-personal-api-token to set one', + required: true, }) .option('v', { alias: 'to-version', - type: 'string', + describe: 'Version you aim to release, ex. 0.67.0-rc.1, 0.66.3', + required: true, + }) + .check(() => { + const branch = getBranchName(); + exitIfNotOnReleaseBranch(branch); + return true; }).argv; -const nightlyBuild = argv.nightly; -const version = argv.toVersion; - -if (!version) { - echo( - 'You must specify a version using -v', - ); - exit(1); -} - -let branch; -if (!nightlyBuild) { - // Check we are in release branch, e.g. 0.33-stable - branch = exec('git symbolic-ref --short HEAD', { - silent: true, - }).stdout.trim(); - - if (branch.indexOf('-stable') === -1) { - echo('You must be in 0.XX-stable branch to bump a version'); - exit(1); - } - - // e.g. 0.33 - let versionMajor = branch.slice(0, branch.indexOf('-stable')); - - // - check that argument version matches branch - // e.g. 0.33.1 or 0.33.0-rc4 - if (version.indexOf(versionMajor) !== 0) { - echo( - `You must specify a version tag like 0.${versionMajor}.[X]-rc[Y] to bump a version`, +function exitIfNotOnReleaseBranch(branch) { + if (!isReleaseBranch(branch)) { + console.log( + 'This script must be run in a react-native git repository checkout and on a release branch', ); exit(1); } } -// Generate version files to detect mismatches between JS and native. -let match = version.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/); -if (!match) { - echo( - `You must pass a correctly formatted version; couldn't parse ${version}`, - ); - exit(1); -} -let [, major, minor, patch, prerelease] = match; - -fs.writeFileSync( - 'ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java', - cat('scripts/versiontemplates/ReactNativeVersion.java.template') - .replace('${major}', major) - .replace('${minor}', minor) - .replace('${patch}', patch) - .replace( - '${prerelease}', - prerelease !== undefined ? `"${prerelease}"` : 'null', - ), - 'utf-8', -); - -fs.writeFileSync( - 'React/Base/RCTVersion.m', - cat('scripts/versiontemplates/RCTVersion.m.template') - .replace('${major}', `@(${major})`) - .replace('${minor}', `@(${minor})`) - .replace('${patch}', `@(${patch})`) - .replace( - '${prerelease}', - prerelease !== undefined ? `@"${prerelease}"` : '[NSNull null]', - ), - 'utf-8', -); - -fs.writeFileSync( - 'ReactCommon/cxxreact/ReactNativeVersion.h', - cat('scripts/versiontemplates/ReactNativeVersion.h.template') - .replace('${major}', major) - .replace('${minor}', minor) - .replace('${patch}', patch) - .replace( - '${prerelease}', - prerelease !== undefined ? `"${prerelease}"` : '""', - ), - 'utf-8', -); - -fs.writeFileSync( - 'Libraries/Core/ReactNativeVersion.js', - cat('scripts/versiontemplates/ReactNativeVersion.js.template') - .replace('${major}', major) - .replace('${minor}', minor) - .replace('${patch}', patch) - .replace( - '${prerelease}', - prerelease !== undefined ? `'${prerelease}'` : 'null', - ), - 'utf-8', -); - -let packageJson = JSON.parse(cat('package.json')); -packageJson.version = version; -delete packageJson.workspaces; -delete packageJson.private; - -// Copy dependencies over from repo-config/package.json -const repoConfigJson = JSON.parse(cat('repo-config/package.json')); -packageJson.devDependencies = {...packageJson.devDependencies, ...repoConfigJson.dependencies}; -// Make react-native-codegen a direct dependency of react-native -delete packageJson.devDependencies['react-native-codegen']; -packageJson.dependencies = {...packageJson.dependencies, 'react-native-codegen': repoConfigJson.dependencies['react-native-codegen']}; -fs.writeFileSync('package.json', JSON.stringify(packageJson, null, 2), 'utf-8'); - -// Change ReactAndroid/gradle.properties -if ( - sed( - '-i', - /^VERSION_NAME=.*/, - `VERSION_NAME=${version}`, - 'ReactAndroid/gradle.properties', - ).code -) { - echo("Couldn't update version for Gradle"); - exit(1); +function getLatestTag(versionPrefix) { + const tags = exec(`git tag --list "v${versionPrefix}*" --sort=-refname`, { + silent: true, + }) + .stdout.trim() + .split('\n') + .filter(tag => tag.length > 0); + if (tags.length > 0) { + return tags[0]; + } + return null; } -// Change react-native version in the template's package.json -exec(`node scripts/set-rn-template-version.js ${version}`); - -// Verify that files changed, we just do a git diff and check how many times version is added across files -const filesToValidate = [ - 'package.json', - 'ReactAndroid/gradle.properties', - 'template/package.json', -]; -let numberOfChangedLinesWithNewVersion = exec( - `git diff -U0 ${filesToValidate.join(' ')}| grep '^[+]' | grep -c ${version} `, - {silent: true}, -).stdout.trim(); - -// Make sure to update ruby version -if (exec('scripts/update-ruby.sh').code) { - echo('Failed to update Ruby version'); - exit(1); +function triggerReleaseWorkflow(options) { + return new Promise((resolve, reject) => { + request(options, function (error, response, body) { + if (error) { + reject(error); + } else { + resolve(body); + } + }); + }); } -// Release builds should commit the version bumps, and create tags. -// Nightly builds do not need to do that. -if (!nightlyBuild) { - if (+numberOfChangedLinesWithNewVersion !== filesToValidate.length) { - echo( - `Failed to update all the files: [${filesToValidate.join(', ')}] must have versions in them`, - ); - echo('Fix the issue, revert and try again'); - exec('git diff'); - exit(1); - } +async function main() { + const branch = getBranchName(); + const token = argv.token; + const releaseVersion = argv.toVersion; - // Update Podfile.lock only on release builds, not nightlies. - // Nightly builds don't need it as the main branch will already be up-to-date. - echo('Updating RNTester Podfile.lock...'); - if (exec('source scripts/update_podfile_lock.sh && update_pods').code) { - echo('Failed to update RNTester Podfile.lock.'); - echo('Fix the issue, revert and try again.'); - exit(1); - } + const {pushed} = await inquirer.prompt({ + type: 'confirm', + name: 'pushed', + message: `This script will trigger a release with whatever changes are on the remote branch: ${branch}. \nMake sure you have pushed any updates remotely.`, + }); - // Make commit [0.21.0-rc] Bump version numbers - if (exec(`git commit -a -m "[${version}] Bump version numbers"`).code) { - echo('failed to commit'); + if (!pushed) { + console.log(`Please run 'git push ${argv.remote} ${branch}'`); exit(1); + return; } - // Add tag v0.21.0-rc - if (exec(`git tag v${version}`).code) { - echo( - `failed to tag the commit with v${version}, are you sure this release wasn't made earlier?`, - ); - echo('You may want to rollback the last commit'); - echo('git reset --hard HEAD~1'); - exit(1); + let latest = false; + const {version, prerelease} = parseVersion(releaseVersion); + if (!prerelease) { + const {setLatest} = await inquirer.prompt({ + type: 'confirm', + name: 'setLatest', + message: `Do you want to set ${version} as "latest" release on npm?`, + }); + latest = setLatest; } - // Push newly created tag - let remote = argv.remote; - exec(`git push ${remote} v${version}`); + const npmTag = latest ? 'latest' : !prerelease ? branch : 'next'; + const {confirmRelease} = await inquirer.prompt({ + type: 'confirm', + name: 'confirmRelease', + message: `Releasing version "${version}" with npm tag "${npmTag}". Is this correct?`, + }); - // Tag latest if doing stable release - if (version.indexOf('rc') === -1) { - exec('git tag -d latest'); - exec(`git push ${remote} :latest`); - exec('git tag latest'); - exec(`git push ${remote} latest`); + if (!confirmRelease) { + console.log('Aborting.'); + return; } - exec(`git push ${remote} ${branch} --follow-tags`); + const parameters = { + release_version: version, + release_latest: latest, + run_package_release_workflow_only: true, + }; + + const options = { + method: 'POST', + url: 'https://circleci.com/api/v2/project/github/facebook/react-native/pipeline', + headers: { + 'Circle-Token': token, + 'content-type': 'application/json', + }, + body: { + branch, + parameters, + }, + json: true, + }; + + // See response: https://circleci.com/docs/api/v2/#operation/triggerPipeline + const body = await triggerReleaseWorkflow(options); + console.log( + `Monitor your release workflow: https://app.circleci.com/pipelines/github/facebook/react-native/${body.number}`, + ); + + // TODO + // - Output the release changelog to paste into Github releases + // - Link to release discussions to update + // - Verify RN-diff publish is through } -exit(0); +main().then(() => { + exit(0); +}); diff --git a/scripts/find-node.sh b/scripts/find-node.sh index 84e930a12d31d4..5d6d2c460e9dc0 100755 --- a/scripts/find-node.sh +++ b/scripts/find-node.sh @@ -19,12 +19,16 @@ fi # Define NVM_DIR and source the nvm.sh setup script [ -z "$NVM_DIR" ] && export NVM_DIR="$HOME/.nvm" +# Source nvm with '--no-use' and then `nvm use` to respect .nvmrc +# See: https://github.com/nvm-sh/nvm/issues/2053 if [[ -s "$HOME/.nvm/nvm.sh" ]]; then # shellcheck source=/dev/null - . "$HOME/.nvm/nvm.sh" + . "$HOME/.nvm/nvm.sh" --no-use + nvm use 2> /dev/null || nvm use default elif [[ -x "$(command -v brew)" && -s "$(brew --prefix nvm)/nvm.sh" ]]; then # shellcheck source=/dev/null - . "$(brew --prefix nvm)/nvm.sh" + . "$(brew --prefix nvm)/nvm.sh" --no-use + nvm use 2> /dev/null || nvm use default fi # Set up the nodenv node version manager if present diff --git a/scripts/prepare-package-for-release.js b/scripts/prepare-package-for-release.js new file mode 100755 index 00000000000000..076cdaea11bb27 --- /dev/null +++ b/scripts/prepare-package-for-release.js @@ -0,0 +1,98 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + */ + +'use strict'; + +/** + * This script prepares a release package to be pushed to npm + * It is triggered to run on CircleCI + * It will: + * * It updates the version in json/gradle files and makes sure they are consistent between each other (set-rn-version) + * * Updates podfile for RNTester + * * Commits changes and tags with the next version based off of last version tag. + * This in turn will trigger another CircleCI job to publish to npm + */ +const {echo, exec, exit} = require('shelljs'); +const yargs = require('yargs'); +const {isReleaseBranch, parseVersion} = require('./version-utils'); + +const argv = yargs + .option('r', { + alias: 'remote', + default: 'origin', + }) + .option('v', { + alias: 'to-version', + type: 'string', + required: true, + }) + .option('l', { + alias: 'latest', + type: 'boolean', + default: false, + }).argv; + +const currentCommit = process.env.CIRCLE_SHA1; +const branch = process.env.CIRCLE_BRANCH; +const remote = argv.remote; +const releaseVersion = argv.toVersion; +const isLatest = argv.latest; + +if (!isReleaseBranch(branch)) { + console.error(`This needs to be on a release branch. On branch: ${branch}`); + exit(1); +} + +const {version} = parseVersion(releaseVersion); +if (version == null) { + console.error(`Invalid version provided: ${releaseVersion}`); + exit(1); +} + +if (exec(`node scripts/set-rn-version.js --to-version ${version}`).code) { + echo(`Failed to set React Native version to ${version}`); + exit(1); +} + +// Release builds should commit the version bumps, and create tags. +echo('Updating RNTester Podfile.lock...'); +if (exec('source scripts/update_podfile_lock.sh && update_pods').code) { + echo('Failed to update RNTester Podfile.lock.'); + echo('Fix the issue, revert and try again.'); + exit(1); +} + +// Make commit [0.21.0-rc] Bump version numbers +if (exec(`git commit -a -m "[${version}] Bump version numbers"`).code) { + echo('failed to commit'); + exit(1); +} + +// Add tag v0.21.0-rc.1 +if (exec(`git tag -a v${version} -m "v${version}"`).code) { + echo( + `failed to tag the commit with v${version}, are you sure this release wasn't made earlier?`, + ); + echo('You may want to rollback the last commit'); + echo('git reset --hard HEAD~1'); + exit(1); +} + +// If `isLatest`, this git tag will also set npm release as `latest` +if (isLatest) { + exec('git tag -d latest'); + exec(`git push ${remote} :latest`); + + // This will be pushed with the `--follow-tags` + exec('git tag -a latest -m "latest"'); +} + +exec(`git push ${remote} ${branch} --follow-tags`); + +exit(0); diff --git a/scripts/publish-npm.js b/scripts/publish-npm.js index 0b9deee0f23cea..552b41dcc27df2 100644 --- a/scripts/publish-npm.js +++ b/scripts/publish-npm.js @@ -10,50 +10,35 @@ 'use strict'; /** - * This script publishes a new version of react-native to NPM. + * This script prepares a release version of react-native and may publish to NPM. * It is supposed to run in CI environment, not on a developer's machine. * - * To make it easier for developers it uses some logic to identify with which - * version to publish the package. + * For a dry run (commitly), this script will: + * * Version the commitly of the form `1000.0.0-` + * * Create Android artifacts + * * It will not publish to npm * - * To cut a branch (and release RC): - * - Developer: `git checkout -b 0.XY-stable` - * - Developer: `./scripts/bump-oss-version.js -v v0.XY.0-rc.0` - * - CI: test and deploy to npm (run this script) with version `0.XY.0-rc.0` - * with tag "next" + * For a nightly run, this script will: + * * Version the nightly release of the form `0.0.0--` + * * Create Android artifacts + * * Publish to npm using `nightly` tag * - * To update RC release: - * - Developer: `git checkout 0.XY-stable` - * - Developer: cherry-pick whatever changes needed - * - Developer: `./scripts/bump-oss-version.js -v v0.XY.0-rc.1` - * - CI: test and deploy to npm (run this script) with version `0.XY.0-rc.1` - * with tag "next" - * - * To publish a release: - * - Developer: `git checkout 0.XY-stable` - * - Developer: cherry-pick whatever changes needed - * - Developer: `./scripts/bump-oss-version.js -v v0.XY.0` - * - CI: test and deploy to npm (run this script) with version `0.XY.0` - * and no tag ("latest" is implied by npm) - * - * To patch old release: - * - Developer: `git checkout 0.XY-stable` - * - Developer: cherry-pick whatever changes needed - * - Developer: `git tag v0.XY.Z` - * - Developer: `git push` to git@github.com:facebook/react-native.git (or merge as pull request) - * - CI: test and deploy to npm (run this script) with version 0.XY.Z with no tag, npm will not mark it as latest if - * there is a version higher than XY - * - * Important tags: - * If tag v0.XY.0-rc.Z is present on the commit then publish to npm with version 0.XY.0-rc.Z and tag next - * If tag v0.XY.Z is present on the commit then publish to npm with version 0.XY.Z and no tag (npm will consider it latest) + * For a release run, this script will: + * * Version the release by the tag version that triggered CI + * * Create Android artifacts + * * Publish to npm + * * using `latest` tag if commit is currently tagged `latest` + * * or otherwise `{major}.{minor}-stable` */ -/*eslint-disable no-undef */ -require('shelljs/global'); +const {exec, echo, exit, test} = require('shelljs'); const yargs = require('yargs'); +const {parseVersion, isTaggedLatest} = require('./version-utils'); -let argv = yargs +const buildTag = process.env.CIRCLE_TAG; +const otp = process.env.NPM_CONFIG_OTP; + +const argv = yargs .option('n', { alias: 'nightly', type: 'boolean', @@ -64,90 +49,60 @@ let argv = yargs type: 'boolean', default: false, }).argv; - const nightlyBuild = argv.nightly; const dryRunBuild = argv.dryRun; -const buildFromMain = nightlyBuild || dryRunBuild; -const buildTag = process.env.CIRCLE_TAG; -const otp = process.env.NPM_CONFIG_OTP; - -let branchVersion = 0; -if (buildFromMain) { - branchVersion = 0; -} else { - if (!buildTag) { - echo('Error: We publish only from git tags'); - exit(1); - } - - let match = buildTag.match(/^v(\d+\.\d+)\.\d+(?:-.+)?$/); - if (!match) { - echo('Error: We publish only from release version git tags'); - exit(1); - } - [, branchVersion] = match; -} -// 0.33 // 34c034298dc9cad5a4553964a5a324450fda0385 -const currentCommit = exec('git rev-parse HEAD', {silent: true}).stdout.trim(); - -// Note: We rely on tagsWithVersion to be alphabetically sorted -// [34c034298dc9cad5a4553964a5a324450fda0385, refs/heads/0.33-stable, refs/tags/latest, refs/tags/v0.33.1, refs/tags/v0.34.1-rc] -const tagsWithVersion = exec(`git ls-remote origin | grep ${currentCommit}`, { +const currentCommit = exec('git rev-parse HEAD', { silent: true, -}) - .stdout.split(/\s/) - // ['refs/tags/v0.33.0', 'refs/tags/v0.33.0-rc', 'refs/tags/v0.33.0-rc1', 'refs/tags/v0.33.0-rc2', 'refs/tags/v0.34.0'] - .filter( - version => - !!version && version.indexOf(`refs/tags/v${branchVersion}`) === 0, - ) - // ['refs/tags/v0.33.0', 'refs/tags/v0.33.0-rc', 'refs/tags/v0.33.0-rc1', 'refs/tags/v0.33.0-rc2'] - .filter(version => version.indexOf(branchVersion) !== -1) - // ['0.33.0', '0.33.0-rc', '0.33.0-rc1', '0.33.0-rc2'] - .map(version => version.slice('refs/tags/v'.length)); - -if (!buildFromMain && tagsWithVersion.length === 0) { - echo( - 'Error: Cannot find version tag in current commit. To deploy to NPM you must add tag v0.XY.Z[-rc] to your commit', - ); +}).stdout.trim(); +const shortCommit = currentCommit.slice(0, 9); + +const rawVersion = + // 0.0.0 triggers issues with cocoapods for codegen when building template project. + dryRunBuild + ? '1000.0.0' + : // For nightly we continue to use 0.0.0 for clarity for npm + nightlyBuild + ? '0.0.0' + : // For pre-release and stable releases, we use the git tag of the version we're releasing (set in bump-oss-version) + buildTag; + +let version, + major, + minor, + prerelease = null; +try { + ({version, major, minor, prerelease} = parseVersion(rawVersion)); +} catch (e) { + echo(e.message); exit(1); } let releaseVersion; +if (dryRunBuild) { + releaseVersion = `${version}-${shortCommit}`; +} else if (nightlyBuild) { + // 2021-09-28T05:38:40.669Z -> 20210928-0538 + const dateIdentifier = new Date() + .toISOString() + .slice(0, -8) + .replace(/[-:]/g, '') + .replace(/[T]/g, '-'); + releaseVersion = `${version}-${dateIdentifier}-${shortCommit}`; +} else { + releaseVersion = version; +} -if (buildFromMain) { - releaseVersion = '0.0.0'; - - if (nightlyBuild) { - releaseVersion += '-'; - // 2021-09-28T05:38:40.669Z -> 20210928-0538 - releaseVersion += new Date() - .toISOString() - .slice(0, -8) - .replace(/[-:]/g, '') - .replace(/[T]/g, '-'); - } - - releaseVersion += `-${currentCommit.slice(0, 9)}`; - // Bump version number in various files (package.json, gradle.properties etc) +// Bump version number in various files (package.json, gradle.properties etc) +// For stable, pre-release releases, we rely on CircleCI job `prepare_package_for_release` to handle this +if (nightlyBuild || dryRunBuild) { if ( - exec( - `node scripts/bump-oss-version.js --nightly --to-version ${releaseVersion}`, - ).code + exec(`node scripts/set-rn-version.js --to-version ${releaseVersion}`).code ) { - echo('Failed to bump version number'); + echo(`Failed to set version number to ${releaseVersion}`); exit(1); } -} else if (tagsWithVersion[0].indexOf('-rc') === -1) { - // if first tag on this commit is non -rc then we are making a stable release - // '0.33.0' - releaseVersion = tagsWithVersion[0]; -} else { - // otherwise pick last -rc tag, indicates latest rc version due to alpha-sort - // '0.33.0-rc2' - releaseVersion = tagsWithVersion[tagsWithVersion.length - 1]; } // -------- Generating Android Artifacts with JavaDoc @@ -182,12 +137,21 @@ if (dryRunBuild) { exit(0); } -// if version contains -rc, tag as prerelease +// Running to see if this commit has been git tagged as `latest` +const isLatest = isTaggedLatest(currentCommit); + +const releaseBranch = `${major}.${minor}-stable`; + +// Set the right tag for nightly and prerelease builds +// If a release is not git-tagged as `latest` we use `releaseBranch` to prevent +// npm from overriding the current `latest` version tag, which it will do if no tag is set. const tagFlag = nightlyBuild ? '--tag nightly' - : releaseVersion.indexOf('-rc') === -1 - ? '' - : '--tag next'; + : prerelease != null + ? '--tag next' + : isLatest + ? '--tag latest' + : `--tag ${releaseBranch}`; // use otp from envvars if available const otpFlag = otp ? `--otp ${otp}` : ''; @@ -199,4 +163,3 @@ if (exec(`npm publish ${tagFlag} ${otpFlag}`).code) { echo(`Published to npm ${releaseVersion}`); exit(0); } -/*eslint-enable no-undef */ diff --git a/scripts/react-native-xcode.sh b/scripts/react-native-xcode.sh index e9ddec0c304bf9..3ef9a71bb9c58b 100755 --- a/scripts/react-native-xcode.sh +++ b/scripts/react-native-xcode.sh @@ -117,7 +117,7 @@ fi BUNDLE_FILE="$CONFIGURATION_BUILD_DIR/main.jsbundle" -EXTRA_ARGS=() +EXTRA_ARGS= case "$PLATFORM_NAME" in "macosx") @@ -144,12 +144,12 @@ if [[ $EMIT_SOURCEMAP == true ]]; then else PACKAGER_SOURCEMAP_FILE="$SOURCEMAP_FILE" fi - EXTRA_ARGS+=("--sourcemap-output" "$PACKAGER_SOURCEMAP_FILE") + EXTRA_ARGS="$EXTRA_ARGS --sourcemap-output $PACKAGER_SOURCEMAP_FILE" fi # Hermes doesn't require JS minification. if [[ $USE_HERMES == true && $DEV == false ]]; then - EXTRA_ARGS+=("--minify" "false") + EXTRA_ARGS="$EXTRA_ARGS --minify false" fi "$NODE_BINARY" $NODE_ARGS "$CLI_PATH" $BUNDLE_COMMAND \ @@ -160,8 +160,8 @@ fi --reset-cache \ --bundle-output "$BUNDLE_FILE" \ --assets-dest "$DEST" \ - "${EXTRA_ARGS[@]}" \ - "${EXTRA_PACKAGER_ARGS[@]}" + $EXTRA_ARGS \ + $EXTRA_PACKAGER_ARGS if [[ $USE_HERMES != true ]]; then cp "$BUNDLE_FILE" "$DEST/" diff --git a/scripts/react_native_pods.rb b/scripts/react_native_pods.rb index 3c6a21eacc81de..1b8a078fa7c93b 100644 --- a/scripts/react_native_pods.rb +++ b/scripts/react_native_pods.rb @@ -374,8 +374,25 @@ def use_react_native_codegen!(spec, options={}) # See https://github.com/facebook/react-native/issues/31480#issuecomment-902912841 for more context. # Actual fix was authored by https://github.com/mikehardy. # New app template will call this for now until the underlying issue is resolved. -# -# It's not needed anymore and will be removed later def __apply_Xcode_12_5_M1_post_install_workaround(installer) - puts "__apply_Xcode_12_5_M1_post_install_workaround() is not needed anymore" + # Flipper podspecs are still targeting an older iOS deployment target, and may cause an error like: + # "error: thread-local storage is not supported for the current target" + # The most reliable known workaround is to bump iOS deployment target to match react-native (iOS 11 now). + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + # ensure IPHONEOS_DEPLOYMENT_TARGET is at least 11.0 + deployment_target = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f + should_upgrade = deployment_target < 11.0 && deployment_target != 0.0 + if should_upgrade + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' + end + end + end + + # But... doing so caused another issue in Flipper: + # "Time.h:52:17: error: typedef redefinition with different types" + # We need to make a patch to RCT-Folly - remove the `__IPHONE_OS_VERSION_MIN_REQUIRED` check. + # See https://github.com/facebook/flipper/issues/834 for more details. + time_header = "#{Pod::Config.instance.installation_root.to_s}/Pods/RCT-Folly/folly/portability/Time.h" + `sed -i -e $'s/ && (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_10_0)//' #{time_header}` end diff --git a/scripts/set-rn-version.js b/scripts/set-rn-version.js new file mode 100755 index 00000000000000..4afde0c86c63c0 --- /dev/null +++ b/scripts/set-rn-version.js @@ -0,0 +1,163 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + */ + +'use strict'; + +/** + * This script updates relevant React Native files with supplied version: + * * Prepares a package.json suitable for package consumption + * * Updates package.json for template project + * * Updates the version in gradle files and makes sure they are consistent between each other + * * Creates a gemfile + */ +const fs = require('fs'); +const {cat, echo, exec, exit, sed} = require('shelljs'); +const yargs = require('yargs'); +const {parseVersion} = require('./version-utils'); + +let argv = yargs.option('v', { + alias: 'to-version', + type: 'string', +}).argv; + +const version = argv.toVersion; + +if (!version) { + echo('You must specify a version using -v'); + exit(1); +} + +let major, + minor, + patch, + prerelease = -1; +try { + ({major, minor, patch, prerelease} = parseVersion(version)); +} catch (e) { + echo(e.message); + exit(1); +} + +fs.writeFileSync( + 'ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java', + cat('scripts/versiontemplates/ReactNativeVersion.java.template') + .replace('${major}', major) + .replace('${minor}', minor) + .replace('${patch}', patch) + .replace( + '${prerelease}', + prerelease !== undefined ? `"${prerelease}"` : 'null', + ), + 'utf-8', +); + +fs.writeFileSync( + 'React/Base/RCTVersion.m', + cat('scripts/versiontemplates/RCTVersion.m.template') + .replace('${major}', `@(${major})`) + .replace('${minor}', `@(${minor})`) + .replace('${patch}', `@(${patch})`) + .replace( + '${prerelease}', + prerelease !== undefined ? `@"${prerelease}"` : '[NSNull null]', + ), + 'utf-8', +); + +fs.writeFileSync( + 'ReactCommon/cxxreact/ReactNativeVersion.h', + cat('scripts/versiontemplates/ReactNativeVersion.h.template') + .replace('${major}', major) + .replace('${minor}', minor) + .replace('${patch}', patch) + .replace( + '${prerelease}', + prerelease !== undefined ? `"${prerelease}"` : '""', + ), + 'utf-8', +); + +fs.writeFileSync( + 'Libraries/Core/ReactNativeVersion.js', + cat('scripts/versiontemplates/ReactNativeVersion.js.template') + .replace('${major}', major) + .replace('${minor}', minor) + .replace('${patch}', patch) + .replace( + '${prerelease}', + prerelease !== undefined ? `'${prerelease}'` : 'null', + ), + 'utf-8', +); + +let packageJson = JSON.parse(cat('package.json')); +packageJson.version = version; +delete packageJson.workspaces; +delete packageJson.private; + +// Copy dependencies over from repo-config/package.json +const repoConfigJson = JSON.parse(cat('repo-config/package.json')); +packageJson.devDependencies = { + ...packageJson.devDependencies, + ...repoConfigJson.dependencies, +}; +// Make react-native-codegen a direct dependency of react-native +delete packageJson.devDependencies['react-native-codegen']; +packageJson.dependencies = { + ...packageJson.dependencies, + 'react-native-codegen': repoConfigJson.dependencies['react-native-codegen'], +}; +fs.writeFileSync('package.json', JSON.stringify(packageJson, null, 2), 'utf-8'); + +// Change ReactAndroid/gradle.properties +if ( + sed( + '-i', + /^VERSION_NAME=.*/, + `VERSION_NAME=${version}`, + 'ReactAndroid/gradle.properties', + ).code +) { + echo("Couldn't update version for Gradle"); + exit(1); +} + +// Change react-native version in the template's package.json +exec(`node scripts/set-rn-template-version.js ${version}`); + +// Make sure to update ruby version +if (exec('scripts/update-ruby.sh').code) { + echo('Failed to update Ruby version'); + exit(1); +} + +// Verify that files changed, we just do a git diff and check how many times version is added across files +const filesToValidate = [ + 'package.json', + 'ReactAndroid/gradle.properties', + 'template/package.json', +]; +const numberOfChangedLinesWithNewVersion = exec( + `git diff -U0 ${filesToValidate.join( + ' ', + )}| grep '^[+]' | grep -c ${version} `, + {silent: true}, +).stdout.trim(); + +if (+numberOfChangedLinesWithNewVersion !== filesToValidate.length) { + echo( + `Failed to update all the files: [${filesToValidate.join( + ', ', + )}] must have versions in them`, + ); + echo('Fix the issue and try again'); + exit(1); +} + +exit(0); diff --git a/scripts/update-ruby.sh b/scripts/update-ruby.sh index a220ad84735996..bb72719c43a376 100755 --- a/scripts/update-ruby.sh +++ b/scripts/update-ruby.sh @@ -55,6 +55,9 @@ sed_i -e "s/^\(ruby '\)[^']*\('.*\)$/\1$VERSION\2/" template/Gemfile rm -f Gemfile.lock template/Gemfile.lock +export BUNDLE_APP_CONFIG="$ROOT/.bundle" +cp "$BUNDLE_APP_CONFIG/"* template/_bundle # sync! + bundle lock (cd template && bundle lock) diff --git a/scripts/version-utils.js b/scripts/version-utils.js new file mode 100644 index 00000000000000..71733c7aa1ece2 --- /dev/null +++ b/scripts/version-utils.js @@ -0,0 +1,54 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @format + */ + +const {exec} = require('shelljs'); + +const VERSION_REGEX = /^v?((\d+)\.(\d+)\.(\d+)(?:-(.+))?)$/; + +function parseVersion(versionStr) { + const match = versionStr.match(VERSION_REGEX); + if (!match) { + throw new Error( + `You must pass a correctly formatted version; couldn't parse ${versionStr}`, + ); + } + const [, version, major, minor, patch, prerelease] = match; + return { + version, + major, + minor, + patch, + prerelease, + }; +} + +function isReleaseBranch(branch) { + return branch.endsWith('-stable'); +} + +function getBranchName() { + return exec('git rev-parse --abbrev-ref HEAD', { + silent: true, + }).stdout.trim(); +} + +function isTaggedLatest(commitSha) { + return ( + exec(`git rev-list -1 latest | grep ${commitSha}`, { + silent: true, + }).stdout.trim() === commitSha + ); +} + +module.exports = { + getBranchName, + isTaggedLatest, + parseVersion, + isReleaseBranch, +}; diff --git a/scripts/versiontemplates/RCTVersion.m.template b/scripts/versiontemplates/RCTVersion.m.template index 5df4b8fabdb477..cbb183b5c52cde 100644 --- a/scripts/versiontemplates/RCTVersion.m.template +++ b/scripts/versiontemplates/RCTVersion.m.template @@ -1,5 +1,5 @@ /** - * @generated by scripts/bump-oss-version.js + * @generated by scripts/set-rn-version.js * * Copyright (c) Facebook, Inc. and its affiliates. * diff --git a/scripts/versiontemplates/ReactNativeVersion.h.template b/scripts/versiontemplates/ReactNativeVersion.h.template index ed9d242c72a43d..a290a5994d4504 100644 --- a/scripts/versiontemplates/ReactNativeVersion.h.template +++ b/scripts/versiontemplates/ReactNativeVersion.h.template @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated by scripts/bump-oss-version.js + * @generated by scripts/set-rn-version.js */ #pragma once diff --git a/scripts/versiontemplates/ReactNativeVersion.java.template b/scripts/versiontemplates/ReactNativeVersion.java.template index 94d103f10002a9..4f1930434ac02b 100644 --- a/scripts/versiontemplates/ReactNativeVersion.java.template +++ b/scripts/versiontemplates/ReactNativeVersion.java.template @@ -1,5 +1,5 @@ /** - * @generated by scripts/bump-oss-version.js + * @generated by scripts/set-rn-version.js * * Copyright (c) Facebook, Inc. and its affiliates. * diff --git a/scripts/versiontemplates/ReactNativeVersion.js.template b/scripts/versiontemplates/ReactNativeVersion.js.template index 72bfcfef110580..cfeb6eebd0a663 100644 --- a/scripts/versiontemplates/ReactNativeVersion.js.template +++ b/scripts/versiontemplates/ReactNativeVersion.js.template @@ -1,5 +1,5 @@ /** - * @generated by scripts/bump-oss-version.js + * @generated by scripts/set-rn-version.js * * Copyright (c) Facebook, Inc. and its affiliates. * diff --git a/template/Gemfile.lock b/template/Gemfile.lock index f0b073f27b1d18..285424cd4b62bd 100644 --- a/template/Gemfile.lock +++ b/template/Gemfile.lock @@ -1,9 +1,9 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.4) + CFPropertyList (3.0.5) rexml - activesupport (6.1.4.1) + activesupport (6.1.4.4) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -15,7 +15,7 @@ GEM httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) - claide (1.0.3) + claide (1.1.0) cocoapods (1.11.2) addressable (~> 2.8) claide (>= 1.0.2, < 2.0) @@ -56,17 +56,17 @@ GEM colored2 (3.1.2) concurrent-ruby (1.1.9) escape (0.0.4) - ethon (0.14.0) + ethon (0.15.0) ffi (>= 1.15.0) - ffi (1.15.4) + ffi (1.15.5) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) httpclient (2.8.3) - i18n (1.8.10) + i18n (1.9.1) concurrent-ruby (~> 1.0) - json (2.5.1) - minitest (5.14.4) + json (2.6.1) + minitest (5.15.0) molinillo (0.8.0) nanaimo (0.3.0) nap (1.1.0) @@ -85,10 +85,10 @@ GEM colored2 (~> 3.1) nanaimo (~> 0.3.0) rexml (~> 3.2.4) - zeitwerk (2.4.2) + zeitwerk (2.5.4) PLATFORMS - arm64-darwin-20 + ruby DEPENDENCIES cocoapods (~> 1.11, >= 1.11.2) @@ -97,4 +97,4 @@ RUBY VERSION ruby 2.7.4p191 BUNDLED WITH - 2.2.28 + 2.2.27 diff --git a/template/ios/Podfile b/template/ios/Podfile index 65d5ffcbfcf420..9409747f917830 100644 --- a/template/ios/Podfile +++ b/template/ios/Podfile @@ -25,5 +25,6 @@ target 'HelloWorld' do post_install do |installer| react_native_post_install(installer) + __apply_Xcode_12_5_M1_post_install_workaround(installer) end end diff --git a/template/package.json b/template/package.json index 2b0c8aad988c56..20121b2a3aa6ab 100644 --- a/template/package.json +++ b/template/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "react": "17.0.2", - "react-native": "1000.0.0" + "react-native": "0.67.2" }, "devDependencies": { "@babel/core": "^7.12.9", diff --git a/yarn.lock b/yarn.lock index 591bd1f14869ca..c0222b5f20df18 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1103,6 +1103,26 @@ sudo-prompt "^9.0.0" wcwidth "^1.0.1" +"@react-native-community/eslint-plugin@*": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@react-native-community/eslint-plugin/-/eslint-plugin-1.1.0.tgz#e42b1bef12d2415411519fd528e64b593b1363dc" + integrity sha512-W/J0fNYVO01tioHjvYWQ9m6RgndVtbElzYozBq1ZPrHO/iCzlqoySHl4gO/fpCl9QEFjvJfjPgtPMTMlsoq5DQ== + +"@react-native/assets@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" + integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== + +"@react-native/normalize-color@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.0.0.tgz#da955909432474a9a0fe1cbffc66576a0447f567" + integrity sha512-Wip/xsc5lw8vsBlmY2MO/gFLp3MvuZ2baBZjDeTjjndMgM0h5sxz7AZR62RDPGgstp8Np7JzjvVqVT7tpFZqsw== + +"@react-native/polyfills@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-2.0.0.tgz#4c40b74655c83982c8cf47530ee7dc13d957b6aa" + integrity sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ== + "@reactions/component@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@reactions/component/-/component-2.0.2.tgz#40f8c1c2c37baabe57a0c944edb9310dc1ec6642" @@ -1926,11 +1946,24 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + child-process-promise@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/child-process-promise/-/child-process-promise-2.2.1.tgz#4730a11ef610fad450b8f223c79d31d7bdad8074" @@ -1976,11 +2009,23 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + cli-spinners@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.1.0.tgz#22c34b4d51f573240885b201efda4e4ec9fff3c7" integrity sha512-8B00fJOEh1HPrx4fo5eW16XmE1PcL1tGpGrxy63CXGP9nHdPBN63X75hA1zhvQuhVztJWLqV58Roj2qlNM7cAA== +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + cliui@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" @@ -2907,6 +2952,15 @@ extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -2953,6 +3007,13 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" @@ -3355,7 +3416,7 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== -iconv-lite@0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -3424,6 +3485,25 @@ ini@^1.3.4: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== +inquirer@^7.1.0: + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.19" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + internal-slot@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" @@ -4436,11 +4516,16 @@ lodash.throttle@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= -lodash@4.x.x, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.5: +lodash@4.x.x, lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== +lodash@^4.17.19: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + log-driver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" @@ -4904,6 +4989,11 @@ ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + mv@~2: version "2.1.1" resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" @@ -5242,7 +5332,7 @@ os-locale@^3.1.0: lcid "^2.0.0" mem "^4.0.0" -os-tmpdir@^1.0.0: +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= @@ -5572,6 +5662,15 @@ react-is@^16.8.1, react-is@^16.8.4: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-native-codegen@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.8.tgz#b7796a54074139d956fff2862cf1285db43c891b" + integrity sha512-k/944+0XD+8l7zDaiKfYabyEKmAmyZgS1mj+4LcSRPyHnrjgCHKrh/Y6jM6kucQ6xU1+1uyMmF/dSkikxK8i+Q== + dependencies: + flow-parser "^0.121.0" + jscodeshift "^0.11.0" + nullthrows "^1.1.1" + react-refresh@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.0.tgz#d421f9bd65e0e4b9822a399f14ac56bda9c92292" @@ -5833,6 +5932,14 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -5874,6 +5981,18 @@ rsvp@^3.3.3: resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +rxjs@^6.6.0: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -6171,13 +6290,6 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.0.tgz#2018a7ad2bdf8faf2691e5fddab26bed5a2bacab" - integrity sha512-vUoN3I7fHQe0R/SJLKRdKYuEdRGogsviXFkHHo17AWaTGv17VLnxw+CFXvqy+y4ORZ3doWLQcxRYfwKrsd/H7Q== - dependencies: - source-map "^0.6.0" - source-map-support@^0.5.16, source-map-support@^0.5.6: version "0.5.16" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" @@ -6545,6 +6657,18 @@ through2@^2.0.1: readable-stream "~2.3.6" xtend "~4.0.1" +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + tmpl@1.0.x: version "1.0.4" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" @@ -6618,6 +6742,11 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" +tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + tslib@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e"