mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-03-26 07:04:05 +08:00
Replaced RegExp method parser with recursive descent
Summary: public This diff replaces the RegEx module method parser with a handwritten recursive descent parser that's faster and easier to maintain. The new parser is ~8 times faster when tested on the UIManager.managerChildren() method, and uses ~1/10 as much RAM. The new parser also supports lightweight generics, and is more tolerant of white space. (This means that you now can – and should – use types like `NSArray<NSString *> *` for your exported properties and method arguments, instead of `NSStringArray`). Reviewed By: jspahrsummers Differential Revision: D2736636 fb-gh-sync-id: f6a11431935fa8acc8ac36f3471032ec9a1c8490
This commit is contained in:
committed by
facebook-github-bot-4
parent
ce7c0b735f
commit
88ac40666c
@@ -319,7 +319,7 @@ RCT_EXPORT_MODULE()
|
||||
|
||||
#pragma mark - Exported JS Functions
|
||||
|
||||
RCT_EXPORT_METHOD(multiGet:(NSStringArray *)keys
|
||||
RCT_EXPORT_METHOD(multiGet:(NSArray<NSString *> *)keys
|
||||
callback:(RCTResponseSenderBlock)callback)
|
||||
{
|
||||
NSDictionary *errorOut = [self _ensureSetup];
|
||||
@@ -338,7 +338,7 @@ RCT_EXPORT_METHOD(multiGet:(NSStringArray *)keys
|
||||
callback(@[RCTNullIfNil(errors), result]);
|
||||
}
|
||||
|
||||
RCT_EXPORT_METHOD(multiSet:(NSStringArrayArray *)kvPairs
|
||||
RCT_EXPORT_METHOD(multiSet:(NSArray<NSArray<NSString *> *> *)kvPairs
|
||||
callback:(RCTResponseSenderBlock)callback)
|
||||
{
|
||||
NSDictionary *errorOut = [self _ensureSetup];
|
||||
@@ -358,7 +358,7 @@ RCT_EXPORT_METHOD(multiSet:(NSStringArrayArray *)kvPairs
|
||||
callback(@[RCTNullIfNil(errors)]);
|
||||
}
|
||||
|
||||
RCT_EXPORT_METHOD(multiMerge:(NSStringArrayArray *)kvPairs
|
||||
RCT_EXPORT_METHOD(multiMerge:(NSArray<NSArray<NSString *> *> *)kvPairs
|
||||
callback:(RCTResponseSenderBlock)callback)
|
||||
{
|
||||
NSDictionary *errorOut = [self _ensureSetup];
|
||||
@@ -394,7 +394,7 @@ RCT_EXPORT_METHOD(multiMerge:(NSStringArrayArray *)kvPairs
|
||||
callback(@[RCTNullIfNil(errors)]);
|
||||
}
|
||||
|
||||
RCT_EXPORT_METHOD(multiRemove:(NSStringArray *)keys
|
||||
RCT_EXPORT_METHOD(multiRemove:(NSArray<NSString *> *)keys
|
||||
callback:(RCTResponseSenderBlock)callback)
|
||||
{
|
||||
NSDictionary *errorOut = [self _ensureSetup];
|
||||
|
||||
Reference in New Issue
Block a user