mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/43607 PR #43526 was accidentally merged with several changes excluded. I'm following up on those here. Changelog: [Internal] [Changed] - Follow-up with Review Feedback on RCTAppDelegate from #43526 Reviewed By: dmytrorykun Differential Revision: D55240435 fbshipit-source-id: c296a1e14b7032b211551334ca7b5a6824e8d45c
This commit is contained in:
committed by
Facebook GitHub Bot
parent
0a125579f8
commit
84c1c6ea9b
@@ -265,19 +265,42 @@
|
||||
return [weakSelf sourceURLForBridge:bridge];
|
||||
};
|
||||
|
||||
configuration.extraModulesForBridge = ^NSArray<id<RCTBridgeModule>> *_Nonnull(RCTBridge *_Nonnull bridge)
|
||||
{
|
||||
return [weakSelf extraModulesForBridge:bridge];
|
||||
};
|
||||
if ([self respondsToSelector:@selector(extraModulesForBridge:)]) {
|
||||
configuration.extraModulesForBridge = ^NSArray<id<RCTBridgeModule>> *_Nonnull(RCTBridge *_Nonnull bridge)
|
||||
{
|
||||
return [weakSelf extraModulesForBridge:bridge];
|
||||
};
|
||||
}
|
||||
|
||||
configuration.extraLazyModuleClassesForBridge = ^NSDictionary<NSString *, Class> *_Nonnull(RCTBridge *_Nonnull bridge)
|
||||
{
|
||||
return [weakSelf extraLazyModuleClassesForBridge:bridge];
|
||||
};
|
||||
if ([self respondsToSelector:@selector(extraLazyModuleClassesForBridge:)]) {
|
||||
configuration.extraLazyModuleClassesForBridge =
|
||||
^NSDictionary<NSString *, Class> *_Nonnull(RCTBridge *_Nonnull bridge)
|
||||
{
|
||||
return [weakSelf extraLazyModuleClassesForBridge:bridge];
|
||||
};
|
||||
}
|
||||
|
||||
configuration.bridgeDidNotFindModule = ^BOOL(RCTBridge *_Nonnull bridge, NSString *_Nonnull moduleName) {
|
||||
return [weakSelf bridge:bridge didNotFindModule:moduleName];
|
||||
};
|
||||
if ([self respondsToSelector:@selector(bridge:didNotFindModule:)]) {
|
||||
configuration.bridgeDidNotFindModule = ^BOOL(RCTBridge *_Nonnull bridge, NSString *_Nonnull moduleName) {
|
||||
return [weakSelf bridge:bridge didNotFindModule:moduleName];
|
||||
};
|
||||
}
|
||||
|
||||
if ([self respondsToSelector:@selector(loadSourceForBridge:withBlock:)]) {
|
||||
configuration.loadSourceForBridgeBlock =
|
||||
^void(RCTBridge *_Nonnull bridge, RCTSourceLoadBlock _Nonnull loadCallback) {
|
||||
[weakSelf loadSourceForBridge:bridge withBlock:loadCallback];
|
||||
};
|
||||
}
|
||||
|
||||
if ([self respondsToSelector:@selector(loadSourceForBridge:onProgress:onComplete:)]) {
|
||||
configuration.loadSourceForBridgeProgressBlock =
|
||||
^(RCTBridge *_Nonnull bridge,
|
||||
RCTSourceLoadProgressBlock _Nonnull onProgress,
|
||||
RCTSourceLoadBlock _Nonnull loadCallback) {
|
||||
[weakSelf loadSourceForBridge:bridge onProgress:onProgress onComplete:loadCallback];
|
||||
};
|
||||
}
|
||||
|
||||
return [[RCTRootViewFactory alloc] initWithConfiguration:configuration andTurboModuleManagerDelegate:self];
|
||||
}
|
||||
|
||||
@@ -27,6 +27,11 @@ typedef NSURL *_Nullable (^RCTSourceURLForBridgeBlock)(RCTBridge *bridge);
|
||||
typedef NSArray<id<RCTBridgeModule>> *_Nonnull (^RCTExtraModulesForBridgeBlock)(RCTBridge *bridge);
|
||||
typedef NSDictionary<NSString *, Class> *_Nonnull (^RCTExtraLazyModuleClassesForBridge)(RCTBridge *bridge);
|
||||
typedef BOOL (^RCTBridgeDidNotFindModuleBlock)(RCTBridge *bridge, NSString *moduleName);
|
||||
typedef void (^RCTLoadSourceForBridgeBlock)(RCTBridge *bridge, RCTSourceLoadBlock loadCallback);
|
||||
typedef void (^RCTLoadSourceForBridgeProgressBlock)(
|
||||
RCTBridge *bridge,
|
||||
RCTSourceLoadProgressBlock onProgress,
|
||||
RCTSourceLoadBlock loadCallback);
|
||||
|
||||
#pragma mark - RCTRootViewFactory Configuration
|
||||
@interface RCTRootViewFactoryConfiguration : NSObject
|
||||
@@ -84,7 +89,6 @@ typedef BOOL (^RCTBridgeDidNotFindModuleBlock)(RCTBridge *bridge, NSString *modu
|
||||
* @returns: a newly created instance of RCTBridge.
|
||||
*/
|
||||
@property (nonatomic, nullable) RCTCreateBridgeWithDelegateBlock createBridgeWithDelegate;
|
||||
|
||||
/**
|
||||
* Block that returns the location of the JavaScript source file. When running from the packager
|
||||
* this should be an absolute URL, e.g. `http://localhost:8081/index.ios.bundle`.
|
||||
@@ -123,6 +127,19 @@ typedef BOOL (^RCTBridgeDidNotFindModuleBlock)(RCTBridge *bridge, NSString *modu
|
||||
*/
|
||||
@property (nonatomic, nullable) RCTBridgeDidNotFindModuleBlock bridgeDidNotFindModule;
|
||||
|
||||
/**
|
||||
* The bridge will automatically attempt to load the JS source code from the
|
||||
* location specified by the `sourceURLForBridge:` method, however, if you want
|
||||
* to handle loading the JS yourself, you can do so by implementing this method.
|
||||
*/
|
||||
@property (nonatomic, nullable) RCTLoadSourceForBridgeProgressBlock loadSourceForBridgeProgressBlock;
|
||||
|
||||
/**
|
||||
* Similar to loadSourceForBridge:onProgress:onComplete: but without progress
|
||||
* reporting.
|
||||
*/
|
||||
@property (nonatomic, nullable) RCTLoadSourceForBridgeBlock loadSourceForBridgeBlock;
|
||||
|
||||
@end
|
||||
|
||||
#pragma mark - RCTRootViewFactory
|
||||
|
||||
@@ -273,6 +273,22 @@ static NSDictionary *updateInitialProps(NSDictionary *initialProps, BOOL isFabri
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (void)loadSourceForBridge:(RCTBridge *)bridge withBlock:(RCTSourceLoadBlock)loadCallback
|
||||
{
|
||||
if (_configuration.loadSourceForBridgeBlock != nil) {
|
||||
_configuration.loadSourceForBridgeBlock(bridge, loadCallback);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)loadSourceForBridge:(RCTBridge *)bridge
|
||||
onProgress:(RCTSourceLoadProgressBlock)onProgress
|
||||
onComplete:(RCTSourceLoadBlock)loadCallback
|
||||
{
|
||||
if (_configuration.loadSourceForBridgeProgressBlock != nil) {
|
||||
_configuration.loadSourceForBridgeProgressBlock(bridge, onProgress, loadCallback);
|
||||
}
|
||||
}
|
||||
|
||||
- (NSURL *)bundleURL
|
||||
{
|
||||
return self->_configuration.bundleURL;
|
||||
|
||||
Reference in New Issue
Block a user