Skip to content

Commit

Permalink
Export moduleIsInitialized from RCTModuleRegistry
Browse files Browse the repository at this point in the history
Summary:
## Context
Product code can query the Bridge, or the TurboModuleManager, to see whether a native module has been initialized or not. But, this API doesn't exist in RCTModuleRegistry.

## Changes
This diff exports moduleIsInitialized: from RCTModuleRegistry. That way, RCTBridgeProxy (introduce in D46088752) can more easily implement the moduleIsInitialized: API.

Changelog:
[iOS][Added] - Introduce RCTModuleRegistry moduleIsInitialized:

Reviewed By: cortinico

Differential Revision: D46166548

fbshipit-source-id: c9954273e511083276aeb911dd58719cf4a11f10
  • Loading branch information
RSNara authored and facebook-github-bot committed May 31, 2023
1 parent e2d512a commit 197ed43
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
1 change: 1 addition & 0 deletions packages/react-native/React/Base/RCTBridgeModule.h
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,7 @@ RCT_EXTERN_C_END

- (id)moduleForName:(const char *)moduleName;
- (id)moduleForName:(const char *)moduleName lazilyLoadIfNecessary:(BOOL)lazilyLoad;
- (BOOL)moduleIsInitialized:(Class)moduleClass;
@end

typedef UIView * (^RCTBridgelessComponentViewProvider)(NSNumber *);
Expand Down
17 changes: 17 additions & 0 deletions packages/react-native/React/Base/RCTModuleRegistry.m
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,21 @@ - (id)moduleForName:(const char *)moduleName lazilyLoadIfNecessary:(BOOL)lazilyL
return module;
}

- (BOOL)moduleIsInitialized:(Class)moduleClass
{
RCTBridge *bridge = _bridge;

if (bridge) {
return [bridge moduleIsInitialized:moduleClass];
}

id<RCTTurboModuleRegistry> turboModuleRegistry = _turboModuleRegistry;
if (turboModuleRegistry) {
NSString *moduleName = RCTBridgeModuleNameForClass(moduleClass);
return [turboModuleRegistry moduleIsInitialized:[moduleName UTF8String]];
}

return NO;
}

@end

0 comments on commit 197ed43

Please sign in to comment.