Skip to content

Commit a657c26

Browse files
RSNarafacebook-github-bot
authored andcommitted
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
1 parent 269fefb commit a657c26

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#import <React/RCTBridge+Private.h>
1919
#import <React/RCTBridgeModule.h>
2020
#import <React/RCTCxxModule.h>
21+
#import <React/RCTInitializing.h>
2122
#import <React/RCTLog.h>
2223
#import <React/RCTModuleData.h>
2324
#import <React/RCTPerformanceLogger.h>
@@ -605,6 +606,13 @@ - (TurboModuleHolder *)_getOrCreateTurboModuleHolder:(const char *)moduleName
605606
[_bridge attachBridgeAPIsToTurboModule:module];
606607
}
607608

609+
/**
610+
* If the TurboModule conforms to RCTInitializing, invoke its initialize method.
611+
*/
612+
if ([module respondsToSelector:@selector(initialize)]) {
613+
[(id<RCTInitializing>)module initialize];
614+
}
615+
608616
/**
609617
* Attach method queue to id<RCTTurboModule> object.
610618
* This is necessary because the id<RCTTurboModule> object can be eagerly created/initialized before the method

0 commit comments

Comments
 (0)