123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- import Foundation
- import CoreGraphics
- public protocol CacheSerializer {
-
-
-
-
-
-
-
-
-
-
-
- func data(with image: KFCrossPlatformImage, original: Data?) -> Data?
-
-
-
-
-
-
-
- func image(with data: Data, options: KingfisherParsedOptionsInfo) -> KFCrossPlatformImage?
- }
- public struct DefaultCacheSerializer: CacheSerializer {
-
-
- public static let `default` = DefaultCacheSerializer()
-
- public var compressionQuality: CGFloat = 1.0
-
-
-
- public var preferCacheOriginalData: Bool = false
-
-
-
-
-
- public init() { }
-
-
-
-
-
-
-
-
-
-
-
-
- public func data(with image: KFCrossPlatformImage, original: Data?) -> Data? {
- if preferCacheOriginalData {
- return original ??
- image.kf.data(
- format: original?.kf.imageFormat ?? .unknown,
- compressionQuality: compressionQuality
- )
- } else {
- return image.kf.data(
- format: original?.kf.imageFormat ?? .unknown,
- compressionQuality: compressionQuality
- )
- }
- }
-
-
-
-
-
-
-
-
- public func image(with data: Data, options: KingfisherParsedOptionsInfo) -> KFCrossPlatformImage? {
- return KingfisherWrapper.image(data: data, options: options.imageCreatingOptions)
- }
- }
|