Last active
December 23, 2020 22:04
-
-
Save ollieatkinson/d77ae373314e00199edfe5546f8c88b3 to your computer and use it in GitHub Desktop.
AnyResult
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
protocol AnyResult { | |
associatedtype Success | |
associatedtype Failure: Error | |
static func success(_ success: Success) -> Self | |
static func failure(_ failure: Failure) -> Self | |
func map<NewSuccess>(_ transform: (Success) -> NewSuccess) -> Result<NewSuccess, Failure> | |
func mapError<NewFailure>(_ transform: (Failure) -> NewFailure) -> Result<Success, NewFailure> where NewFailure : Error | |
func flatMap<NewSuccess>(_ transform: (Success) -> Result<NewSuccess, Failure>) -> Result<NewSuccess, Failure> | |
func flatMapError<NewFailure>(_ transform: (Failure) -> Result<Success, NewFailure>) -> Result<Success, NewFailure> where NewFailure : Error | |
func get() throws -> Success | |
} | |
extension Result: AnyResult { } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment