Skip to content

Commit 4ffc4a6

Browse files
Abbondanzometa-codesync[bot]
authored andcommitted
Move sample TurboModule spec to RNTester (#58626)
Summary: Pull Request resolved: #58626 Move `NativeSampleTurboModule` into RNTester so React Native core codegen no longer treats the sample as public API. Retarget the sample native implementations to RNTester's generated `AppSpecs` on Android, iOS, and macOS. Changelog: [General][Removed] - Remove the sample TurboModule from React Native's public API Reviewed By: christophpurrer, javache Differential Revision: D121032097 fbshipit-source-id: 865222ce4d4d4c8da323ae444eb43bec940ef000
1 parent a016535 commit 4ffc4a6

13 files changed

Lines changed: 11 additions & 518 deletions

File tree

‎packages/react-native/Libraries/TurboModule/samples/NativeSampleTurboModule.js‎

Lines changed: 0 additions & 14 deletions
This file was deleted.

‎packages/react-native/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Pod::Spec.new do |s|
5454
s.dependency "React-cxxreact"
5555
s.dependency "React-jsi"
5656
s.dependency "RCTTypeSafety"
57-
add_dependency(s, "React-RCTFBReactNativeSpec")
57+
s.dependency "ReactCodegen"
5858
add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
5959
add_dependency(s, "React-NativeModulesApple")
6060

‎packages/react-native/ReactCommon/react/nativemodule/samples/platform/ios/ReactCommon/RCTSampleTurboModule.h‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77

88
#import <Foundation/Foundation.h>
99

10-
#import <FBReactNativeSpec/FBReactNativeSpec.h>
10+
#if __has_include(<ReactCodegen/AppSpecs.h>)
11+
#import <ReactCodegen/AppSpecs.h>
12+
#else
13+
#import <AppSpecs/AppSpecs.h>
14+
#endif
1115

1216
/**
1317
* Sample iOS-specific impl of a TurboModule, conforming to the spec protocol.

‎packages/react-native/src/private/specs_DEPRECATED/modules/NativeSampleTurboModule.js‎

Lines changed: 0 additions & 72 deletions
This file was deleted.

‎packages/rn-tester/js/examples/ContentURLAndroid/ContentURLAndroid.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ const ContentSelector = (): React.Node => {
4646
const imageSelector = useCallback(async () => {
4747
try {
4848
const NativeSampleTurboModule =
49-
require('../TurboModule/RNTesterSampleTurboModule').default;
49+
require('../TurboModule/NativeSampleTurboModule').default;
5050
const uri = await NativeSampleTurboModule.getImageUrl?.();
5151
if (uri != null) {
5252
console.log({uri});

packages/rn-tester/js/examples/TurboModule/RNTesterSampleTurboModule.js renamed to packages/rn-tester/js/examples/TurboModule/NativeSampleTurboModule.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ type ObjectStruct = {
2323
c?: ?string,
2424
};
2525

26-
interface RNTesterSampleTurboModuleSpec extends TurboModule {
26+
export interface Spec extends TurboModule {
2727
readonly onPress: CodegenTypes.EventEmitter<void>;
2828
readonly onClick: CodegenTypes.EventEmitter<string>;
2929
readonly onChange: CodegenTypes.EventEmitter<ObjectStruct>;
@@ -69,9 +69,7 @@ interface RNTesterSampleTurboModuleSpec extends TurboModule {
6969
readonly getImageUrl?: () => Promise<string | null>;
7070
}
7171

72-
const RNTesterSampleTurboModule: RNTesterSampleTurboModuleSpec =
73-
TurboModuleRegistry.getEnforcing<RNTesterSampleTurboModuleSpec>(
74-
'SampleTurboModule',
75-
);
72+
const RNTesterSampleTurboModule: Spec =
73+
TurboModuleRegistry.getEnforcing<Spec>('SampleTurboModule');
7674

7775
export default RNTesterSampleTurboModule;

‎packages/rn-tester/js/examples/TurboModule/SampleTurboModuleExample.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import type {EventSubscription, RootTag} from 'react-native';
1212

1313
import RNTesterText from '../../components/RNTesterText';
14-
import NativeSampleTurboModule, {EnumInt} from './RNTesterSampleTurboModule';
14+
import NativeSampleTurboModule, {EnumInt} from './NativeSampleTurboModule';
1515
import styles from './TurboModuleExampleCommon';
1616
import * as React from 'react';
1717
import {FlatList, RootTagContext, TouchableOpacity, View} from 'react-native';

‎scripts/cxx-api/api-snapshots/ReactAndroidDebugCxx.api‎

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -3912,10 +3912,6 @@ class facebook::react::NativeResizeObserver : public facebook::react::NativeResi
39123912
public void unobserve(facebook::jsi::Runtime& runtime, facebook::react::ResizeObserverObserverId resizeObserverId, facebook::jsi::Object targetToken);
39133913
}
39143914

3915-
class facebook::react::NativeSampleTurboModuleSpecJSI : public facebook::react::JavaTurboModule {
3916-
public NativeSampleTurboModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params);
3917-
}
3918-
39193915
class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::JavaTurboModule {
39203916
public NativeSegmentFetcherSpecJSI(const facebook::react::JavaTurboModule::InitParams& params);
39213917
}
@@ -6404,11 +6400,6 @@ enum facebook::react::ModalHostViewSupportedOrientations : facebook::react::Moda
64046400
PortraitUpsideDown,
64056401
}
64066402

6407-
enum facebook::react::NativeSampleTurboModuleEnumInt {
6408-
A,
6409-
B,
6410-
}
6411-
64126403
enum facebook::react::NullValueStrategy {
64136404
Ignore,
64146405
Override,
@@ -8720,14 +8711,6 @@ struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions {
87208711
public bool operator==(const facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions& other) const;
87218712
}
87228713

8723-
template <typename P0, typename P1, typename P2>
8724-
struct facebook::react::NativeSampleTurboModuleObjectStruct {
8725-
public P0 a;
8726-
public P1 b;
8727-
public P2 c;
8728-
public bool operator==(const facebook::react::NativeSampleTurboModuleObjectStruct& other) const;
8729-
}
8730-
87318714
template <typename P0, typename P1>
87328715
struct facebook::react::NativeAnimatedModuleEventMapping {
87338716
public P0 nativeEventPath;
@@ -9154,19 +9137,6 @@ class facebook::react::NativeResizeObserverCxxSpec : public facebook::react::Tur
91549137
public static constexpr std::string_view kModuleName;
91559138
}
91569139

9157-
template <typename T>
9158-
class facebook::react::NativeSampleTurboModuleCxxSpec : public facebook::react::TurboModule {
9159-
protected NativeSampleTurboModuleCxxSpec(std::shared_ptr<facebook::react::CallInvoker> jsInvoker);
9160-
protected void emitOnPress();
9161-
public static constexpr std::string_view kModuleName;
9162-
template <typename OnChangeType>
9163-
protected void emitOnChange(OnChangeType value);
9164-
template <typename OnClickType>
9165-
protected void emitOnClick(OnClickType value);
9166-
template <typename OnSubmitType>
9167-
protected void emitOnSubmit(std::vector<OnSubmitType> value);
9168-
}
9169-
91709140
template <typename T>
91719141
class facebook::react::NativeSegmentFetcherCxxSpec : public facebook::react::TurboModule {
91729142
protected NativeSegmentFetcherCxxSpec(std::shared_ptr<facebook::react::CallInvoker> jsInvoker);
@@ -9648,16 +9618,6 @@ struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptionsBr
96489618
public static std::optional<facebook::jsi::String> boxToJs(facebook::jsi::Runtime& rt, decltype(types.box) value);
96499619
}
96509620

9651-
template <typename T>
9652-
struct facebook::react::NativeSampleTurboModuleObjectStructBridging {
9653-
public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr<facebook::react::CallInvoker>& jsInvoker);
9654-
public static T types;
9655-
public static double aToJs(facebook::jsi::Runtime& rt, decltype(types.a) value);
9656-
public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr<facebook::react::CallInvoker>& jsInvoker);
9657-
public static facebook::jsi::String bToJs(facebook::jsi::Runtime& rt, decltype(types.b) value);
9658-
public static std::optional<facebook::jsi::String> cToJs(facebook::jsi::Runtime& rt, decltype(types.c) value);
9659-
}
9660-
96619621
template <typename T>
96629622
struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging {
96639623
public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr<facebook::react::CallInvoker>& jsInvoker);
@@ -9886,11 +9846,6 @@ struct facebook::react::Bridging<facebook::react::NativeReloadAndProfileConfig>
98869846
struct facebook::react::Bridging<facebook::react::NativeRequestIdleCallbackOptions> : public facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging<facebook::react::NativeRequestIdleCallbackOptions> {
98879847
}
98889848

9889-
struct facebook::react::Bridging<facebook::react::NativeSampleTurboModuleEnumInt> {
9890-
public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::NativeSampleTurboModuleEnumInt value);
9891-
public static facebook::react::NativeSampleTurboModuleEnumInt fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& rawValue);
9892-
}
9893-
98949849
struct facebook::react::Bridging<facebook::react::PerformanceEntryType> {
98959850
public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value);
98969851
public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value);

‎scripts/cxx-api/api-snapshots/ReactAndroidNewarchCxx.api‎

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -3786,10 +3786,6 @@ class facebook::react::NativeResizeObserver : public facebook::react::NativeResi
37863786
public void unobserve(facebook::jsi::Runtime& runtime, facebook::react::ResizeObserverObserverId resizeObserverId, facebook::jsi::Object targetToken);
37873787
}
37883788

3789-
class facebook::react::NativeSampleTurboModuleSpecJSI : public facebook::react::JavaTurboModule {
3790-
public NativeSampleTurboModuleSpecJSI(const facebook::react::JavaTurboModule::InitParams& params);
3791-
}
3792-
37933789
class facebook::react::NativeSegmentFetcherSpecJSI : public facebook::react::JavaTurboModule {
37943790
public NativeSegmentFetcherSpecJSI(const facebook::react::JavaTurboModule::InitParams& params);
37953791
}
@@ -6214,11 +6210,6 @@ enum facebook::react::ModalHostViewSupportedOrientations : facebook::react::Moda
62146210
PortraitUpsideDown,
62156211
}
62166212

6217-
enum facebook::react::NativeSampleTurboModuleEnumInt {
6218-
A,
6219-
B,
6220-
}
6221-
62226213
enum facebook::react::NullValueStrategy {
62236214
Ignore,
62246215
Override,
@@ -8480,14 +8471,6 @@ struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions {
84808471
public bool operator==(const facebook::react::NativeResizeObserverNativeResizeObserverObserveOptions& other) const;
84818472
}
84828473

8483-
template <typename P0, typename P1, typename P2>
8484-
struct facebook::react::NativeSampleTurboModuleObjectStruct {
8485-
public P0 a;
8486-
public P1 b;
8487-
public P2 c;
8488-
public bool operator==(const facebook::react::NativeSampleTurboModuleObjectStruct& other) const;
8489-
}
8490-
84918474
template <typename P0, typename P1>
84928475
struct facebook::react::NativeAnimatedModuleEventMapping {
84938476
public P0 nativeEventPath;
@@ -8914,19 +8897,6 @@ class facebook::react::NativeResizeObserverCxxSpec : public facebook::react::Tur
89148897
public static constexpr std::string_view kModuleName;
89158898
}
89168899

8917-
template <typename T>
8918-
class facebook::react::NativeSampleTurboModuleCxxSpec : public facebook::react::TurboModule {
8919-
protected NativeSampleTurboModuleCxxSpec(std::shared_ptr<facebook::react::CallInvoker> jsInvoker);
8920-
protected void emitOnPress();
8921-
public static constexpr std::string_view kModuleName;
8922-
template <typename OnChangeType>
8923-
protected void emitOnChange(OnChangeType value);
8924-
template <typename OnClickType>
8925-
protected void emitOnClick(OnClickType value);
8926-
template <typename OnSubmitType>
8927-
protected void emitOnSubmit(std::vector<OnSubmitType> value);
8928-
}
8929-
89308900
template <typename T>
89318901
class facebook::react::NativeSegmentFetcherCxxSpec : public facebook::react::TurboModule {
89328902
protected NativeSegmentFetcherCxxSpec(std::shared_ptr<facebook::react::CallInvoker> jsInvoker);
@@ -9265,13 +9235,6 @@ struct facebook::react::NativeResizeObserverNativeResizeObserverObserveOptionsBr
92659235
public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr<facebook::react::CallInvoker>& jsInvoker);
92669236
}
92679237

9268-
template <typename T>
9269-
struct facebook::react::NativeSampleTurboModuleObjectStructBridging {
9270-
public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr<facebook::react::CallInvoker>& jsInvoker);
9271-
public static T types;
9272-
public static facebook::jsi::Object toJs(facebook::jsi::Runtime& rt, const T& value, const std::shared_ptr<facebook::react::CallInvoker>& jsInvoker);
9273-
}
9274-
92759238
template <typename T>
92769239
struct facebook::react::NativeSourceCodeSourceCodeConstantsBridging {
92779240
public static T fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Object& value, const std::shared_ptr<facebook::react::CallInvoker>& jsInvoker);
@@ -9499,11 +9462,6 @@ struct facebook::react::Bridging<facebook::react::NativeReloadAndProfileConfig>
94999462
struct facebook::react::Bridging<facebook::react::NativeRequestIdleCallbackOptions> : public facebook::react::NativeIdleCallbacksRequestIdleCallbackOptionsBridging<facebook::react::NativeRequestIdleCallbackOptions> {
95009463
}
95019464

9502-
struct facebook::react::Bridging<facebook::react::NativeSampleTurboModuleEnumInt> {
9503-
public static facebook::jsi::Value toJs(facebook::jsi::Runtime& rt, facebook::react::NativeSampleTurboModuleEnumInt value);
9504-
public static facebook::react::NativeSampleTurboModuleEnumInt fromJs(facebook::jsi::Runtime& rt, const facebook::jsi::Value& rawValue);
9505-
}
9506-
95079465
struct facebook::react::Bridging<facebook::react::PerformanceEntryType> {
95089466
public static facebook::react::PerformanceEntryType fromJs(facebook::jsi::Runtime&, const facebook::jsi::Value& value);
95099467
public static int toJs(facebook::jsi::Runtime&, const facebook::react::PerformanceEntryType& value);

0 commit comments

Comments
 (0)