Skip to content

Instantly share code, notes, and snippets.

@ollieatkinson
Last active December 23, 2020 22:04
Show Gist options
  • Save ollieatkinson/d77ae373314e00199edfe5546f8c88b3 to your computer and use it in GitHub Desktop.
Save ollieatkinson/d77ae373314e00199edfe5546f8c88b3 to your computer and use it in GitHub Desktop.
AnyResult
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