Skip to content

Commit 56f0f98

Browse files
committed
Update all URL and File tasks to FLet
1 parent 9ccd5db commit 56f0f98

2 files changed

Lines changed: 15 additions & 25 deletions

File tree

Sources/ScreenDataUI/Helpers/SDImage/SDImageProviding.swift

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
// Created by Leif on 5/19/21.
66
//
77

8+
import FLet
89
import Foundation
910
import SwiftUI
1011
import Combine
@@ -22,21 +23,17 @@ public struct SDImageURLProvider: SDImageProviding {
2223

2324
public func image(forURL url: URL) -> AnyPublisher<UIImage?, Error> {
2425
Future { promise in
25-
URLSession.shared
26-
.dataTask(with: url) { (data, response, error) in
27-
if let error = error {
28-
promise(.failure(error))
29-
}
30-
31-
guard let data = data else {
32-
log(level: .error("(SDImageURLProvider) Could not load Image for URL (\(url)). Response: \(String(describing: response)).", nil))
33-
promise(.success(nil))
34-
return
35-
}
36-
26+
__.transput.url.in(
27+
url: url,
28+
successHandler: { (data: Data, response) in
3729
promise(.success(UIImage(data: data)))
30+
},
31+
errorHandler: { promise(.failure($0)) },
32+
failureHandler: { response in
33+
log(level: .error("(SDImageURLProvider) Could not load Image for URL (\(url)). Response: \(String(describing: response)).", nil))
34+
promise(.success(nil))
3835
}
39-
.resume()
36+
)
4037
}
4138
.eraseToAnyPublisher()
4239
}
@@ -48,13 +45,9 @@ public struct SDImageFileProvider: SDImageProviding {
4845
public func image(forURL url: URL) -> AnyPublisher<UIImage?, Error> {
4946
Future { promise in
5047
let key = url.absoluteString.replacingOccurrences(of: "/", with: "-")
51-
let path = FileManager.default.urls(
52-
for: .documentDirectory,
53-
in: .userDomainMask
54-
)[0].appendingPathComponent(key)
5548

56-
guard let data = try? Data(contentsOf: path) else {
57-
log(level: .error("(SDImageFileProvider) Could not load Image from path (\(path.absoluteString)).", nil))
49+
guard let data: Data = try? __.transput.file.in(filename: key) else {
50+
log(level: .error("(SDImageFileProvider) Could not load Image for key (\(key)).", nil))
5851
promise(.success(nil))
5952
return
6053
}

Sources/ScreenDataUI/Helpers/SDImage/SDImageStoring.swift

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
// Created by Leif on 5/19/21.
66
//
77

8+
import Combine
9+
import FLet
810
import Foundation
911
import SwiftUI
10-
import Combine
1112

1213
public protocol SDImageStoring {
1314
func store(image: UIImage?, forURL url: URL) -> AnyPublisher<Void, Error>
@@ -19,13 +20,9 @@ public struct SDImageFileStore: SDImageStoring {
1920
public func store(image: UIImage?, forURL url: URL) -> AnyPublisher<Void, Error> {
2021
Future { promise in
2122
let key = url.absoluteString.replacingOccurrences(of: "/", with: "-")
22-
let path = FileManager.default.urls(
23-
for: .documentDirectory,
24-
in: .userDomainMask
25-
)[0].appendingPathComponent(key)
2623

2724
if let imageData = image?.pngData() {
28-
try? imageData.write(to: path)
25+
try? __.transput.file.out(imageData, filename: key)
2926
}
3027

3128
promise(.success(()))

0 commit comments

Comments
 (0)