mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-05-22 11:35:01 +08:00
[ReactNative] Move module info from bridge to RCTModuleData
Summary: @public The info about bridge modules (such as id, name, queue, methods...) was spread across arrays & dictionaries on the bridge, move it into a specific class. It also removes a lot of information that was statically cached, and now have the same lifecycle of the bridge. Also moved RCTModuleMethod, RCTFrameUpdate and RCTBatchedBridge into it's own files, for organization sake. NOTE: This diff seems huge, but most of it was just moving code :) Test Plan: Tested UIExplorer & UIExplorer tests, Catalyst, MAdMan and Groups. Everything looks fine.
This commit is contained in:
35
React/Base/RCTModuleData.h
Normal file
35
React/Base/RCTModuleData.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "RCTJavaScriptExecutor.h"
|
||||
|
||||
@interface RCTModuleData : NSObject
|
||||
|
||||
@property (nonatomic, weak, readonly) id<RCTJavaScriptExecutor> javaScriptExecutor;
|
||||
@property (nonatomic, strong, readonly) NSNumber *uid;
|
||||
@property (nonatomic, strong, readonly) id<RCTBridgeModule> instance;
|
||||
|
||||
@property (nonatomic, strong, readonly) Class cls;
|
||||
@property (nonatomic, copy, readonly) NSString *name;
|
||||
@property (nonatomic, copy, readonly) NSArray *methods;
|
||||
@property (nonatomic, copy, readonly) NSDictionary *config;
|
||||
|
||||
@property (nonatomic, strong) dispatch_queue_t queue;
|
||||
|
||||
- (instancetype)initWithExecutor:(id<RCTJavaScriptExecutor>)javaScriptExecutor
|
||||
uid:(NSNumber *)uid
|
||||
instance:(id<RCTBridgeModule>)instance NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
|
||||
- (void)dispatchBlock:(dispatch_block_t)block;
|
||||
- (void)dispatchBlock:(dispatch_block_t)block dispatchGroup:(dispatch_group_t)group;
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user