| 1234567891011121314151617181920212223242526272829303132333435 |
- /**
- * 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 "NSExpression+FBFormat.h"
- #import "FBElementUtils.h"
- @implementation NSExpression (FBFormat)
- + (instancetype)fb_wdExpressionWithExpression:(NSExpression *)input
- {
- if ([input expressionType] != NSKeyPathExpressionType) {
- return input;
- }
-
- NSString *propName = [input keyPath];
- NSUInteger dotPos = [propName rangeOfString:@"."].location;
- NSString *wdPropName;
- if (NSNotFound == dotPos) {
- wdPropName = [FBElementUtils wdAttributeNameForAttributeName:propName];
- } else {
- NSString *actualPropName = [propName substringToIndex:dotPos];
- NSString *suffix = [propName substringFromIndex:(dotPos + 1)];
- wdPropName = [NSString stringWithFormat:@"%@.%@", [FBElementUtils wdAttributeNameForAttributeName:actualPropName], suffix];
- }
- return [NSExpression expressionForKeyPath:wdPropName];
- }
- @end
|