Implement react-native-flipper on iOS (#795)

Summary:
Implement the react-native-flipper native module on iOS. Uses very similar abstractions as on Android.

## Changelog

[react-native-flipper] Support iOS
Pull Request resolved: https://github.com/facebook/flipper/pull/795

Test Plan:
Tested using the RN TicTacToe example app

{F228406333}

Reviewed By: mweststrate

Differential Revision: D19853017

Pulled By: priteshrnandgaonkar

fbshipit-source-id: d93d35ff984b9ba75f812c4c8e3c82e4d550f0c0
This commit is contained in:
Janic Duplessis
2020-02-14 21:15:23 -08:00
committed by Facebook Github Bot
parent 72c1c1fa4d
commit 44f5e35675
17 changed files with 1171 additions and 73 deletions

View File

@@ -9,8 +9,7 @@
@implementation FlipperConnectionMock
- (instancetype)init
{
- (instancetype)init {
if (self = [super init]) {
_connected = YES;
_receivers = @{};
@@ -19,29 +18,31 @@
return self;
}
- (void)send:(NSString *)method withParams:(NSDictionary *)params
{
- (void)send:(NSString*)method withParams:(NSDictionary*)params {
if (_connected) {
NSMutableDictionary *newSent = [NSMutableDictionary new];
NSMutableDictionary* newSent = [NSMutableDictionary new];
[newSent addEntriesFromDictionary:_sent];
if (newSent[method]) {
newSent[method] = [_sent[method] arrayByAddingObject:params];
} else {
newSent[method] = @[params];
newSent[method] = @[ params ];
}
_sent = newSent;
}
}
- (void)receive:(NSString *)method withBlock:(SonarReceiver)receiver
{
- (void)receive:(NSString*)method withBlock:(SonarReceiver)receiver {
if (_connected) {
NSMutableDictionary *newReceivers = [NSMutableDictionary new];
NSMutableDictionary* newReceivers = [NSMutableDictionary new];
[newReceivers addEntriesFromDictionary:_receivers];
newReceivers[method] = receiver;
_receivers = newReceivers;
}
}
- (void)errorWithMessage:(NSString*)message stackTrace:(NSString*)stacktrace {
// Empty Implementation
// TODO: Test this method too.
}
@end