Add PromiseKit dependency

- Added PromiseKit dependency
This commit is contained in:
2018-11-15 22:08:00 -04:00
parent 2689d86c18
commit be7b6b5881
541 changed files with 46282 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
#if !PMKCocoaPods
import PromiseKit
#endif
import Bolts
extension Promise {
/**
The provided closure is executed when this promise is resolved.
*/
public func then<U>(on q: DispatchQueue? = conf.Q.map, body: @escaping (T) -> BFTask<U>) -> Promise<U?> {
return then(on: q) { tee -> Promise<U?> in
let task = body(tee)
return Promise<U?> { seal in
task.continueWith(block: { task in
if task.isCompleted {
seal.fulfill(task.result)
} else if let error = task.error {
seal.reject(error)
} else {
seal.reject(PMKError.invalidCallingConvention)
}
return nil
})
}
}
}
}