Skip to content

Commit d334c94

Browse files
authored
Merge pull request #289 from IFTTT/drop-custom-result
replace custom result w/ extension
2 parents 16fe07b + c940033 commit d334c94

2 files changed

Lines changed: 19 additions & 15 deletions

File tree

IFTTT SDK.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
1D4B50AA2194857A004D1559 /* ConnectionNetworkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D4B50A92194857A004D1559 /* ConnectionNetworkController.swift */; };
2222
1D4B50AC21949223004D1559 /* ConnectionConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D4B50AB21949223004D1559 /* ConnectionConfiguration.swift */; };
2323
1D7918412227202700429936 /* Reachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D7918402227202700429936 /* Reachability.swift */; };
24-
1D981C33219210D7001784C4 /* Result<ValueType,ErrorType>.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D981C32219210D7001784C4 /* Result<ValueType,ErrorType>.swift */; };
24+
1D981C33219210D7001784C4 /* Result+Queries.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D981C32219210D7001784C4 /* Result+Queries.swift */; };
2525
1DFE02052190E25500856ABC /* ConnectionCredentialProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DFE02042190E25500856ABC /* ConnectionCredentialProvider.swift */; };
2626
1DFE02072190E2E600856ABC /* Notification+Redirect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DFE02062190E2E600856ABC /* Notification+Redirect.swift */; };
2727
1DFE02092190E35300856ABC /* ConnectionRedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DFE02082190E35300856ABC /* ConnectionRedirectHandler.swift */; };
@@ -195,7 +195,7 @@
195195
1D6E554521CBF4F200FE66F0 /* IFTTT SDKTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "IFTTT SDKTests-Bridging-Header.h"; sourceTree = "<group>"; };
196196
1D6E554621CBF4F200FE66F0 /* String_EmailDataDetectorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = String_EmailDataDetectorTests.swift; sourceTree = "<group>"; };
197197
1D7918402227202700429936 /* Reachability.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Reachability.swift; sourceTree = "<group>"; };
198-
1D981C32219210D7001784C4 /* Result<ValueType,ErrorType>.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Result<ValueType,ErrorType>.swift"; sourceTree = "<group>"; };
198+
1D981C32219210D7001784C4 /* Result+Queries.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Result+Queries.swift"; sourceTree = "<group>"; };
199199
1DFE02042190E25500856ABC /* ConnectionCredentialProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectionCredentialProvider.swift; sourceTree = "<group>"; };
200200
1DFE02062190E2E600856ABC /* Notification+Redirect.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Notification+Redirect.swift"; sourceTree = "<group>"; };
201201
1DFE02082190E35300856ABC /* ConnectionRedirectHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectionRedirectHandler.swift; sourceTree = "<group>"; };
@@ -660,10 +660,10 @@
660660
1D4B50AB21949223004D1559 /* ConnectionConfiguration.swift */,
661661
1DFE02082190E35300856ABC /* ConnectionRedirectHandler.swift */,
662662
1DFE02042190E25500856ABC /* ConnectionCredentialProvider.swift */,
663-
1D981C32219210D7001784C4 /* Result<ValueType,ErrorType>.swift */,
664663
FCF0C4E321B0A97000DEB117 /* ConnectionNetworkError.swift */,
665664
DE641D87252B7BC900C56FF9 /* ConnectButtonController+Public.swift */,
666665
DEC30C01258BECEB00A77A57 /* JSONNetworkController.swift */,
666+
1D981C32219210D7001784C4 /* Result+Queries.swift */,
667667
);
668668
name = Public;
669669
sourceTree = "<group>";
@@ -966,7 +966,7 @@
966966
DE2F524C242940AD00EF986A /* CLCircularRegion+Parsing.swift in Sources */,
967967
FC22B1A221ACCDC000738023 /* SelectGestureRecognizer.swift in Sources */,
968968
1DFE020B2190E39B00856ABC /* Connection+Request.swift in Sources */,
969-
1D981C33219210D7001784C4 /* Result<ValueType,ErrorType>.swift in Sources */,
969+
1D981C33219210D7001784C4 /* Result+Queries.swift in Sources */,
970970
FC84B84C21C4321F00BAF7ED /* Links.swift in Sources */,
971971
DE4A4C622436409C004082BF /* SynchronizationScheduler.swift in Sources */,
972972
1DFE02172190E58700856ABC /* URLSession+JSONTask.swift in Sources */,

IFTTT SDK/Result<ValueType,ErrorType>.swift renamed to IFTTT SDK/Result+Queries.swift

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,40 +5,44 @@
55
// Copyright © 2019 IFTTT. All rights reserved.
66
//
77

8-
import Foundation
9-
8+
#if swift(<5.0)
109
/// An object to model success and failure states from an API.
1110
public enum Result<ValueType, ErrorType: Error> {
12-
1311
/// The operation was successful. The passed associated value is the result that was returned from the API.
1412
case success(ValueType)
15-
13+
1614
/// The operation failed. The passed associated value is the error that was encountered.
1715
case failure(ErrorType)
16+
17+
/// An alias for `ValueType`.
18+
typealias Success = ValueType
19+
20+
/// An alias for `ErrorType`.
21+
typealias Failure = ErrorType
1822
}
23+
#endif
1924

2025
extension Result {
21-
22-
/// The associated `ValueType` for `success`. `nil` on `failure`.
23-
var value: ValueType? {
26+
/// The associated value for `success`es. Returns `nil` on `failure`.
27+
var value: Success? {
2428
switch self {
2529
case let .success(value):
2630
return value
2731
case .failure:
2832
return nil
2933
}
3034
}
31-
32-
/// The associated `ErrorType` for `failure`s. Returns nil on `success`.
33-
var error: ErrorType? {
35+
36+
/// The associated error for `failure`s. Returns `nil` on `success`.
37+
var error: Failure? {
3438
switch self {
3539
case .success:
3640
return nil
3741
case.failure(let error):
3842
return error
3943
}
4044
}
41-
45+
4246
/// Whether the receiver is the `.success` case.
4347
var isSuccess: Bool {
4448
switch self {

0 commit comments

Comments
 (0)