Skip to content

Instantly share code, notes, and snippets.

View dreymonde's full-sized avatar
🇺🇦

Oleg Dreyman dreymonde

🇺🇦
View GitHub Profile
@dreymonde
dreymonde / Completion.swift
Created February 27, 2017 23:26 — forked from amlcurran/Completion.swift
Better completion blocks by using higher order functions
func completion<Result>(onResult: @escaping (Result) -> Void, onError: @escaping (Error) -> Void) -> ((Result?, Error?) -> Void) {
return { (maybeResult, maybeError) in
if let result = maybeResult {
onResult(result)
} else if let error = maybeError {
onError(error)
} else {
onError(SplitError.NoResultFound)
}
}