mirror of
https://github.com/status-im/react-native.git
synced 2025-01-10 01:25:39 +00:00
336e18d20b
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.
36 lines
1.2 KiB
Objective-C
36 lines
1.2 KiB
Objective-C
/**
|
|
* 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
|