Skip to content

Instantly share code, notes, and snippets.

@sebreh
Created November 5, 2014 21:22
Show Gist options
  • Save sebreh/22a12dfd5df19521fd74 to your computer and use it in GitHub Desktop.
Save sebreh/22a12dfd5df19521fd74 to your computer and use it in GitHub Desktop.
A set of extensions to PodioKit to make it easier to work with in Swift.
extension PKTAsyncTask {
func onSuccess<ResultType>(successBlock: ResultType! -> Void) {
onSuccess { obj in
let typedObj = obj as? ResultType
successBlock(typedObj)
}
}
func onComplete<ResultType>(completeBlock: (ResultType?, NSError?) -> Void) {
onComplete { (obj, error) in
let typedObj = obj as? ResultType
completeBlock(typedObj, error)
}
}
func flattenMap<ResultType>(mapBlock: (ResultType!) -> PKTAsyncTask) {
flattenMap { obj in
let typedObj = obj as? ResultType
return mapBlock(typedObj)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment