@@ -14,18 +14,18 @@ public protocol Session {
1414 func dataTask( with request: NSURLRequest , completionHandler: @escaping DataTaskResult ) -> DataTask
1515
1616 @available ( iOS 13 . 0 , * )
17- func dataTaskPublisher< T: TaskPublisher > ( for request: URLRequest ) -> T
17+ func dataTaskPublisher< T: TaskPublisher > ( for request: NSURLRequest ) -> T
1818}
1919
2020// Make URLSession connform to Session protocol
2121extension URLSession : Session {
2222 public func dataTask( with request: NSURLRequest , completionHandler: @escaping DataTaskResult ) -> DataTask {
23- return dataTask ( with: request, completionHandler: completionHandler) as DataTask
23+ dataTask ( with: request as URLRequest , completionHandler: completionHandler) as DataTask
2424 }
2525
2626 @available ( iOS 13 . 0 , * )
27- public func dataTaskPublisher< T: TaskPublisher > ( for request: URLRequest ) -> T {
28- return dataTaskPublisher ( for: request) as T
27+ public func dataTaskPublisher< T: TaskPublisher > ( for request: NSURLRequest ) -> T {
28+ dataTaskPublisher ( for: request as URLRequest ) as! T
2929 }
3030}
3131
@@ -39,12 +39,12 @@ extension URLSessionDataTask: DataTask {}
3939
4040/// Protocol that allows dependecy injection for the express purpose of mocking `URLSession` during testing. This should not be used elsewhere
4141@available ( iOS 13 . 0 , * )
42- public protocol TaskPublisher : Publisher {
43- }
42+ public protocol TaskPublisher : Publisher { }
4443
4544// Make DataTaskPublisher conform to TaskPublisher protocol
4645@available ( iOS 13 . 0 , * )
4746extension URLSession . DataTaskPublisher : TaskPublisher { }
4847
48+ // Make AnyPublisher conform to TaskPublisher protocol
4949@available ( iOS 13 . 0 , * )
5050extension AnyPublisher : TaskPublisher { }
0 commit comments