Files
flipper/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutPlugin/SKObject.h
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

55 lines
1.3 KiB
Objective-C

/*
* 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.
*/
#import <UIKit/UIKit.h>
@protocol SKSonarValueCoder
+ (instancetype)fromSonarValue:(id)sonarValue;
- (NSDictionary<NSString*, id<NSObject>>*)sonarValue;
@end
class SKObject {
public:
SKObject(CGRect rect);
SKObject(CGSize size);
SKObject(CGPoint point);
SKObject(UIEdgeInsets insets);
SKObject(CGAffineTransform transform);
SKObject(id<SKSonarValueCoder> value);
SKObject(id value);
operator id<NSObject>() const noexcept {
return _actual ?: [NSNull null];
}
protected:
id<NSObject> _actual;
};
class SKMutableObject : public SKObject {
public:
SKMutableObject(CGRect rect) : SKObject(rect) {}
SKMutableObject(CGSize size) : SKObject(size){};
SKMutableObject(CGPoint point) : SKObject(point){};
SKMutableObject(UIEdgeInsets insets) : SKObject(insets){};
SKMutableObject(CGAffineTransform transform) : SKObject(transform){};
SKMutableObject(id<SKSonarValueCoder> value) : SKObject(value){};
SKMutableObject(id value) : SKObject(value){};
operator id<NSObject>() {
convertToMutable();
return _actual;
}
protected:
BOOL _convertedToMutable = NO;
void convertToMutable();
};