Codemod: Give legacy cxx and ObjC-only NativeModules a getTurboModule: method
Summary: We're making the getTurboModule: method required for all classes that conform to RCTTurboModule. Many of our ObjC-only and Cxx NativeModules don't implement this method. This diff implements a getTurboModule: method on all those modules that returns nullptr. **Question:** Why is it fine to make ObjC-only NativeModules return nullptr from their getTurboModule: method? - Because they're only accessed from ObjC, and should appear as null on the JavaScript side. Longer term, these NativeModules will also go away. **Question:** Why is it fine to make Cxx NativeModules return nullptr from getTurboModule: method? - Because after D27316872, the TurboModuleManager checks if the module is a CxxModule first. If it is, we do an early return, and never call the module's getTurboModule: method. Changelog: [Internal] Reviewed By: JoshuaGross Differential Revision: D27316871 fbshipit-source-id: bc693f2927ab3b0de24e6e9e7699390ec0f7d729
This commit is contained in:
Родитель
6a5e98a84c
Коммит
3f38186b78
|
@ -47,6 +47,12 @@ RCT_EXPORT_MODULE()
|
|||
return ^{};
|
||||
}
|
||||
|
||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
||||
(const facebook::react::ObjCTurboModule::InitParams &)params
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Class RCTGIFImageDecoderCls() {
|
||||
|
|
|
@ -196,6 +196,11 @@ RCT_EXPORT_METHOD(addImageFromBase64:(NSString *)base64String
|
|||
}
|
||||
}
|
||||
|
||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params
|
||||
{
|
||||
return std::make_shared<facebook::react::NativeImageStoreIOSSpecJSI>(params);
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation RCTImageStoreManager (Deprecated)
|
||||
|
@ -234,11 +239,6 @@ RCT_EXPORT_METHOD(addImageFromBase64:(NSString *)base64String
|
|||
});
|
||||
}
|
||||
|
||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params
|
||||
{
|
||||
return std::make_shared<facebook::react::NativeImageStoreIOSSpecJSI>(params);
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation RCTBridge (RCTImageStoreManager)
|
||||
|
|
|
@ -64,6 +64,11 @@ RCT_EXPORT_MODULE()
|
|||
return nil;
|
||||
}
|
||||
|
||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Class RCTLocalAssetImageLoaderCls(void) {
|
||||
|
|
|
@ -76,6 +76,12 @@ RCT_EXPORT_MODULE()
|
|||
[op cancel];
|
||||
}
|
||||
|
||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
||||
(const facebook::react::ObjCTurboModule::InitParams &)params
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Class RCTDataRequestHandlerCls(void) {
|
||||
|
|
|
@ -93,6 +93,12 @@ RCT_EXPORT_MODULE()
|
|||
[op cancel];
|
||||
}
|
||||
|
||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
||||
(const facebook::react::ObjCTurboModule::InitParams &)params
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Class RCTFileRequestHandlerCls(void) {
|
||||
|
|
|
@ -174,6 +174,12 @@ didReceiveResponse:(NSURLResponse *)response
|
|||
[delegate URLRequest:task didCompleteWithError:error];
|
||||
}
|
||||
|
||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
||||
(const facebook::react::ObjCTurboModule::InitParams &)params
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Class RCTHTTPRequestHandlerCls(void) {
|
||||
|
|
|
@ -224,6 +224,12 @@ RCT_EXPORT_MODULE()
|
|||
}
|
||||
}
|
||||
|
||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
||||
(const facebook::react::ObjCTurboModule::InitParams &)params
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Class RCTEventDispatcherCls(void)
|
||||
|
|
|
@ -559,6 +559,12 @@ RCT_EXPORT_MODULE()
|
|||
return 20;
|
||||
}
|
||||
|
||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
||||
(const facebook::react::ObjCTurboModule::InitParams &)params
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
||||
|
|
|
@ -278,6 +278,12 @@ RCT_EXPORT_MODULE()
|
|||
RCTAssert(!self.valid, @"-invalidate must be called before -dealloc");
|
||||
}
|
||||
|
||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
||||
(const facebook::react::ObjCTurboModule::InitParams &)params
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
||||
|
|
|
@ -28,6 +28,12 @@ RCT_EXPORT_MODULE();
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
||||
(const facebook::react::ObjCTurboModule::InitParams &)params
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation RCTSampleTurboCxxModule_v2
|
||||
|
@ -39,4 +45,10 @@ RCT_EXPORT_MODULE();
|
|||
return std::make_unique<react::SampleTurboCxxModuleLegacyImpl>();
|
||||
}
|
||||
|
||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
||||
(const facebook::react::ObjCTurboModule::InitParams &)params
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
Загрузка…
Ссылка в новой задаче