Call RCTInitializing initialize on TurboModules

Summary:
After D28435078, TurboModules can conform to the RCTInitializing protocol, and implement the `-(void)initialize` method. This diff makes the TurboModule system execute the module's initialize method after the infra is done setting it up.

Changelog: [Internal]

Reviewed By: fkgozali

Differential Revision: D28435429

fbshipit-source-id: fe945d616b97ed89f48b914b064e518b122a7b7b
This commit is contained in:
Ramanpreet Nara 2021-05-20 19:18:31 -07:00 коммит произвёл Facebook GitHub Bot
Родитель 269fefb065
Коммит a657c2655f
1 изменённых файлов: 8 добавлений и 0 удалений

Просмотреть файл

@ -18,6 +18,7 @@
#import <React/RCTBridge+Private.h>
#import <React/RCTBridgeModule.h>
#import <React/RCTCxxModule.h>
#import <React/RCTInitializing.h>
#import <React/RCTLog.h>
#import <React/RCTModuleData.h>
#import <React/RCTPerformanceLogger.h>
@ -605,6 +606,13 @@ static Class getFallbackClassFromName(const char *name)
[_bridge attachBridgeAPIsToTurboModule:module];
}
/**
* If the TurboModule conforms to RCTInitializing, invoke its initialize method.
*/
if ([module respondsToSelector:@selector(initialize)]) {
[(id<RCTInitializing>)module initialize];
}
/**
* Attach method queue to id<RCTTurboModule> object.
* This is necessary because the id<RCTTurboModule> object can be eagerly created/initialized before the method