Files
flipper/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/CKCenterLayoutComponent+Sonar.mm
Pritesh Nandgaonkar e8b20d5b15 Run CLANGFORMAT on plugins
Summary:
This diff runs CLANGFORMAT lint on plugins. I have added CLANGFORMAT as the lint engined for objc files in xplat/sonar. Right now the iOS folder is not formatted according to CLANGFORMAT.

Ran `arc lint -a --paths-cmd "find ./iOS/Plugins -type f" --verbose`

Reviewed By: passy

Differential Revision: D19942173

fbshipit-source-id: 8b975b0a344df073b02d69cd1f9ee5629af2799d
2020-02-17 10:49:18 -08:00

108 lines
4.2 KiB
Plaintext

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#if FB_SONARKIT_ENABLED
#import "CKCenterLayoutComponent+Sonar.h"
#import <FlipperKitLayoutPlugin/SKNamed.h>
#import <FlipperKitLayoutPlugin/SKObject.h>
#import "CKComponent+Sonar.h"
static NSDictionary<NSString*, NSObject*>*
CKCenterLayoutComponentCenteringOptionsParser(
CKCenterLayoutComponentCenteringOptions centeringOptions) {
NSMutableDictionary<NSString*, NSObject*>* centeringDict =
[NSMutableDictionary new];
centeringDict[@"centeringX"] = SKMutableObject(
@((BOOL)(centeringOptions & CKCenterLayoutComponentCenteringX)));
centeringDict[@"centeringY"] = SKMutableObject(
@((BOOL)(centeringOptions & CKCenterLayoutComponentCenteringY)));
return centeringDict;
}
static NSDictionary<NSString*, NSObject*>*
CKCenterLayoutComponentSizingOptionsParser(
CKCenterLayoutComponentSizingOptions sizingOptions) {
NSMutableDictionary<NSString*, NSObject*>* centeringDict =
[NSMutableDictionary new];
centeringDict[@"sizingMinimumX"] = SKMutableObject(
@((BOOL)(sizingOptions & CKCenterLayoutComponentSizingOptionMinimumX)));
centeringDict[@"sizingMinimumY"] = SKMutableObject(
@((BOOL)(sizingOptions & CKCenterLayoutComponentSizingOptionMinimumY)));
return centeringDict;
}
struct CKCenterLayoutComponentOptionsStruct {
CKCenterLayoutComponentCenteringOptions centeringOptions;
CKCenterLayoutComponentSizingOptions sizingOptions;
CKCenterLayoutComponentOptionsStruct() {
centeringOptions = 0;
sizingOptions = 0;
}
};
FB_LINKABLE(CKCenterLayoutComponent_Sonar)
@implementation CKCenterLayoutComponent (Sonar)
- (NSArray<SKNamed<NSDictionary<NSString*, NSObject*>*>*>*)
sonar_additionalDataOverride {
return @[ [SKNamed
newWithName:@"CKCenterLayoutComponent"
withValue:@{
@"centeringOptions" :
SKMutableObject(CKCenterLayoutComponentCenteringOptionsParser(
(CKCenterLayoutComponentCenteringOptions)[
[self valueForKey:@"_centeringOptions"] longValue])),
@"sizingOptions" :
SKMutableObject(CKCenterLayoutComponentSizingOptionsParser(
(CKCenterLayoutComponentSizingOptions)[
[self valueForKey:@"_sizingOptions"] longValue]))
}] ];
}
- (void)setMutableData:(id)data {
CKCenterLayoutComponentOptionsStruct value;
[data getValue:&value];
[self setValue:@(value.centeringOptions) forKey:@"_centeringOptions"];
[self setValue:@(value.sizingOptions) forKey:@"_sizingOptions"];
}
- (NSDictionary<NSString*, SKNodeDataChanged>*)sonar_getDataMutationsChanged {
__block CKCenterLayoutComponentOptionsStruct options;
options.centeringOptions = (CKCenterLayoutComponentCenteringOptions)[
[self valueForKey:@"_centeringOptions"] longValue];
options.sizingOptions = (CKCenterLayoutComponentSizingOptions)[
[self valueForKey:@"_sizingOptions"] longValue];
return @{
@"CKCenterLayoutComponent.centeringOptions.centeringX" : ^(NSNumber* value){
options.centeringOptions ^= CKCenterLayoutComponentCenteringX;
return [NSValue value:&options
withObjCType:@encode(CKCenterLayoutComponentOptionsStruct)];
}
,
@"CKCenterLayoutComponent.centeringOptions.centeringY": ^(NSNumber *value) {
options.centeringOptions ^= CKCenterLayoutComponentCenteringY;
return [NSValue value:&options withObjCType:@encode(CKCenterLayoutComponentOptionsStruct)];
},
@"CKCenterLayoutComponent.sizingOptions.sizingMinimumX": ^(NSNumber *value) {
options.sizingOptions ^= CKCenterLayoutComponentSizingOptionMinimumX;
return [NSValue value:&options withObjCType:@encode(CKCenterLayoutComponentOptionsStruct)];
},
@"CKCenterLayoutComponent.sizingOptions.sizingMinimumY": ^(NSNumber *value) {
options.sizingOptions ^= CKCenterLayoutComponentSizingOptionMinimumY;
return [NSValue value:&options withObjCType:@encode(CKCenterLayoutComponentOptionsStruct)];
},
}
;
}
@end
#endif