mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-05-10 09:29:39 +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/RCTModuleMethod.h
Normal file
35
React/Base/RCTModuleMethod.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>
|
||||
|
||||
@class RCTBridge;
|
||||
|
||||
typedef NS_ENUM(NSUInteger, RCTJavaScriptFunctionKind) {
|
||||
RCTJavaScriptFunctionKindNormal,
|
||||
RCTJavaScriptFunctionKindAsync,
|
||||
};
|
||||
|
||||
@interface RCTModuleMethod : NSObject
|
||||
|
||||
@property (nonatomic, copy, readonly) NSString *moduleClassName;
|
||||
@property (nonatomic, copy, readonly) NSString *JSMethodName;
|
||||
@property (nonatomic, assign, readonly) SEL selector;
|
||||
@property (nonatomic, assign, readonly) RCTJavaScriptFunctionKind functionKind;
|
||||
|
||||
- (instancetype)initWithObjCMethodName:(NSString *)objCMethodName
|
||||
JSMethodName:(NSString *)JSMethodName
|
||||
moduleClass:(Class)moduleClass NS_DESIGNATED_INITIALIZER;
|
||||
|
||||
- (void)invokeWithBridge:(RCTBridge *)bridge
|
||||
module:(id)module
|
||||
arguments:(NSArray *)arguments
|
||||
context:(NSNumber *)context;
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user