Reviewed By: passy Differential Revision: D17863711 fbshipit-source-id: 259dc77826fb803ff1b88c88529d7f679d3b74d8
54 lines
1.7 KiB
Plaintext
54 lines
1.7 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
|
|
|
|
#include "Utils.h"
|
|
|
|
NSString *relativeDimension(CKRelativeDimension dimension) {
|
|
switch(dimension.type()) {
|
|
case CKRelativeDimension::Type::PERCENT:
|
|
return [NSString stringWithFormat: @"%@%%", @(dimension.value())];
|
|
case CKRelativeDimension::Type::POINTS:
|
|
return [NSString stringWithFormat: @"%@pt", @(dimension.value())];
|
|
default:
|
|
return @"auto";
|
|
}
|
|
}
|
|
|
|
CKRelativeDimension relativeStructDimension(NSString *dimension) {
|
|
if ([dimension hasSuffix:@"%"]) {
|
|
return CKRelativeDimension::Percent([[dimension substringToIndex:([dimension length] - 1)] integerValue]);
|
|
}
|
|
if ([dimension hasSuffix:@"pt"]) {
|
|
return CKRelativeDimension::Points([[dimension substringToIndex:([dimension length] - 2)] integerValue]);
|
|
}
|
|
return CKRelativeDimension::Auto();
|
|
}
|
|
|
|
NSDictionary<NSString *, NSString *> *flexboxRect(CKFlexboxSpacing spacing) {
|
|
return @{
|
|
@"top": relativeDimension(spacing.top.dimension()),
|
|
@"bottom": relativeDimension(spacing.bottom.dimension()),
|
|
@"start": relativeDimension(spacing.start.dimension()),
|
|
@"end": relativeDimension(spacing.end.dimension())
|
|
};
|
|
}
|
|
|
|
NSDictionary<NSString *, NSString *> *ckcomponentSize(CKComponentSize size) {
|
|
return @{
|
|
@"width": relativeDimension(size.width),
|
|
@"height": relativeDimension(size.height),
|
|
@"minWidth": relativeDimension(size.minWidth),
|
|
@"minHeight": relativeDimension(size.minHeight),
|
|
@"maxWidth": relativeDimension(size.maxWidth),
|
|
@"maxHeight": relativeDimension(size.maxHeight),
|
|
};
|
|
}
|
|
|
|
#endif
|