Skip to content

Commit 45e2941

Browse files
Erich Grahamfacebook-github-bot
Erich Graham
authored andcommitted
Remove folly import in GenerateModuleObjCpp
Summary: Changelog: [iOS][Changed] Replaced folly::Optional with std::optional from C++17 in Objc module generator. Reviewed By: philIip Differential Revision: D32367103 fbshipit-source-id: f0d254c4add7d6d2e0bdbceb09a852b4a01ea8c7
1 parent d9f8ac2 commit 45e2941

File tree

12 files changed

+154
-156
lines changed

12 files changed

+154
-156
lines changed

Libraries/TypeSafety/RCTConvertHelpers.h

+10-9
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8+
#import <optional>
9+
810
#import <vector>
911

1012
#import <Foundation/Foundation.h>
1113

1214
#import <FBLazyVector/FBLazyVector.h>
13-
#import <folly/Optional.h>
1415

1516
namespace facebook {
1617
namespace react {
@@ -35,22 +36,22 @@ NSArray *RCTConvertVecToArray(const ContainerT &vec)
3536
}
3637

3738
template<typename ContainerT>
38-
NSArray *RCTConvertOptionalVecToArray(const folly::Optional<ContainerT> &vec, id (^convertor)(typename ContainerT::value_type element))
39+
NSArray *RCTConvertOptionalVecToArray(const std::optional<ContainerT> &vec, id (^convertor)(typename ContainerT::value_type element))
3940
{
40-
return vec.hasValue() ? RCTConvertVecToArray(vec.value(), convertor) : nil;
41+
return vec.has_value() ? RCTConvertVecToArray(vec.value(), convertor) : nil;
4142
}
4243

4344
template<typename ContainerT>
44-
NSArray *RCTConvertOptionalVecToArray(const folly::Optional<ContainerT> &vec)
45+
NSArray *RCTConvertOptionalVecToArray(const std::optional<ContainerT> &vec)
4546
{
46-
return vec.hasValue() ? RCTConvertVecToArray(vec.value(), ^id(typename ContainerT::value_type element) { return element; }) : nil;
47+
return vec.has_value() ? RCTConvertVecToArray(vec.value(), ^id(typename ContainerT::value_type element) { return element; }) : nil;
4748
}
4849

4950
bool RCTBridgingToBool(id value);
50-
folly::Optional<bool> RCTBridgingToOptionalBool(id value);
51+
std::optional<bool> RCTBridgingToOptionalBool(id value);
5152
NSString *RCTBridgingToString(id value);
5253
NSString *RCTBridgingToOptionalString(id value);
53-
folly::Optional<double> RCTBridgingToOptionalDouble(id value);
54+
std::optional<double> RCTBridgingToOptionalDouble(id value);
5455
double RCTBridgingToDouble(id value);
5556
NSArray *RCTBridgingToArray(id value);
5657

@@ -64,10 +65,10 @@ facebook::react::LazyVector<T> RCTBridgingToVec(id value, T (^ctor)(id element))
6465
}
6566

6667
template<typename T>
67-
folly::Optional<facebook::react::LazyVector<T>> RCTBridgingToOptionalVec(id value, T (^ctor)(id element))
68+
std::optional<facebook::react::LazyVector<T>> RCTBridgingToOptionalVec(id value, T (^ctor)(id element))
6869
{
6970
if (value == nil || value == (id)kCFNull) {
70-
return folly::none;
71+
return std::nullopt;
7172
} else {
7273
return RCTBridgingToVec(value, ctor);
7374
}

Libraries/TypeSafety/RCTConvertHelpers.mm

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ bool RCTBridgingToBool(id value)
1414
return [RCTConvert BOOL:value] ? true : false;
1515
}
1616

17-
folly::Optional<bool> RCTBridgingToOptionalBool(id value)
17+
std::optional<bool> RCTBridgingToOptionalBool(id value)
1818
{
1919
if (!RCTNilIfNull(value)) {
2020
return {};
@@ -33,7 +33,7 @@ bool RCTBridgingToBool(id value)
3333
}
3434

3535

36-
folly::Optional<double> RCTBridgingToOptionalDouble(id value)
36+
std::optional<double> RCTBridgingToOptionalDouble(id value)
3737
{
3838
if (!RCTNilIfNull(value)) {
3939
return {};

Libraries/TypeSafety/RCTTypeSafety.podspec

+1-6
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ else
1616
source[:tag] = "v#{version}"
1717
end
1818

19-
folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
20-
folly_version = '2021.06.28.00-v2'
21-
2219
Pod::Spec.new do |s|
2320
s.name = "RCTTypeSafety"
2421
s.version = version
@@ -27,18 +24,16 @@ Pod::Spec.new do |s|
2724
s.license = package["license"]
2825
s.author = "Facebook, Inc. and its affiliates"
2926
s.platforms = { :ios => "12.4" }
30-
s.compiler_flags = folly_compiler_flags
3127
s.source = source
3228
s.source_files = "**/*.{c,h,m,mm,cpp}"
3329
s.header_dir = "RCTTypeSafety"
3430
s.pod_target_xcconfig = {
3531
"USE_HEADERMAP" => "YES",
3632
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17",
37-
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/Libraries/TypeSafety\" \"$(PODS_ROOT)/RCT-Folly\""
33+
"HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/Libraries/TypeSafety\""
3834
}
3935

4036
s.dependency "FBLazyVector", version
41-
s.dependency "RCT-Folly", folly_version
4237
s.dependency "RCTRequired", version
4338
s.dependency "React-Core", version
4439
end

React/CoreModules/RCTAccessibilityManager.mm

+2-2
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,9 @@ - (void)setMultipliers:(NSDictionary<NSString *, NSNumber *> *)multipliers
281281
static void setMultipliers(
282282
NSMutableDictionary<NSString *, NSNumber *> *multipliers,
283283
NSString *key,
284-
folly::Optional<double> optionalDouble)
284+
std::optional<double> optionalDouble)
285285
{
286-
if (optionalDouble.hasValue()) {
286+
if (optionalDouble.has_value()) {
287287
multipliers[key] = @(optionalDouble.value());
288288
}
289289
}

React/CoreModules/RCTExceptionsManager.mm

+3-3
Original file line numberDiff line numberDiff line change
@@ -117,15 +117,15 @@ - (void)reportFatal:(NSString *)message stack:(NSArray<NSDictionary *> *)stack e
117117
NSMutableArray<NSDictionary *> *stackArray = [NSMutableArray<NSDictionary *> new];
118118
for (auto frame : data.stack()) {
119119
NSMutableDictionary *frameDict = [NSMutableDictionary new];
120-
if (frame.column().hasValue()) {
120+
if (frame.column().has_value()) {
121121
frameDict[@"column"] = @(frame.column().value());
122122
}
123123
frameDict[@"file"] = frame.file();
124-
if (frame.lineNumber().hasValue()) {
124+
if (frame.lineNumber().has_value()) {
125125
frameDict[@"lineNumber"] = @(frame.lineNumber().value());
126126
}
127127
frameDict[@"methodName"] = frame.methodName();
128-
if (frame.collapse().hasValue()) {
128+
if (frame.collapse().has_value()) {
129129
frameDict[@"collapse"] = @(frame.collapse().value());
130130
}
131131
[stackArray addObject:frameDict];

React/CoreModules/RCTPlatform.mm

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
#import "CoreModulesPlugins.h"
1717

18+
#import <folly/Optional.h>
19+
1820
using namespace facebook::react;
1921

2022
static NSString *interfaceIdiom(UIUserInterfaceIdiom idiom)

React/CoreModules/RCTStatusBarManager.mm

+1-1
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ - (void)applicationWillChangeStatusBarFrame:(NSNotification *)notification
181181
RCTUnsafeExecuteOnMainQueueSync(^{
182182
constants = facebook::react::typedConstants<JS::NativeStatusBarManagerIOS::Constants>({
183183
.HEIGHT = RCTSharedApplication().statusBarFrame.size.height,
184-
.DEFAULT_BACKGROUND_COLOR = folly::none,
184+
.DEFAULT_BACKGROUND_COLOR = std::nullopt,
185185
});
186186
});
187187

0 commit comments

Comments
 (0)