Files
Jot/Carthage/Checkouts/PromiseKit/Extensions/Social/Sources/SLRequest+Promise.swift
James Griffin be7b6b5881 Add PromiseKit dependency
- Added PromiseKit dependency
2018-11-15 22:12:39 -04:00

38 lines
875 B
Swift

#if !PMKCocoaPods
import PMKFoundation
import PromiseKit
#endif
import Social
/**
To import the `SLRequest` category:
use_frameworks!
pod "PromiseKit/Social"
And then in your sources:
import PromiseKit
*/
extension SLRequest {
/**
Performs the request asynchronously.
- Returns: A promise that fulfills with the response.
- SeeAlso: `URLDataPromise`
*/
public func perform() -> Promise<(data: Data, response: HTTPURLResponse)> {
return Promise { seal in
perform { data, rsp, error in
if let data = data, let rsp = rsp {
seal.fulfill((data, rsp))
} else if let error = error {
seal.reject(error)
} else {
seal.reject(PMKError.invalidCallingConvention)
}
}
}
}
}