36 lines
1.1 KiB
Objective-C
36 lines
1.1 KiB
Objective-C
// Copyright 2004-present Facebook. All Rights Reserved.
|
|
|
|
#import "RCTModuleMethod.h"
|
|
|
|
@implementation RCTModuleMethod
|
|
|
|
- (instancetype)initWithSelector:(SEL)selector
|
|
JSMethodName:(NSString *)JSMethodName
|
|
arity:(NSUInteger)arity
|
|
blockArgumentIndexes:(NSIndexSet *)blockArgumentIndexes
|
|
{
|
|
if ((self = [super init])) {
|
|
_selector = selector;
|
|
_JSMethodName = [JSMethodName copy];
|
|
_arity = arity;
|
|
_blockArgumentIndexes = [blockArgumentIndexes copy];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (NSString *)description
|
|
{
|
|
NSString *blocks = @"no block args";
|
|
if (self.blockArgumentIndexes.count > 0) {
|
|
NSMutableString *indexString = [NSMutableString string];
|
|
[self.blockArgumentIndexes enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) {
|
|
[indexString appendFormat:@", %tu", idx];
|
|
}];
|
|
blocks = [NSString stringWithFormat:@"block args at %@", [indexString substringFromIndex:2]];
|
|
}
|
|
|
|
return [NSString stringWithFormat:@"<%@: %p; exports -%@ as %@; %@>", NSStringFromClass(self.class), self, NSStringFromSelector(self.selector), self.JSMethodName, blocks];
|
|
}
|
|
|
|
@end
|