Files
booster b489b36d92 Fixed file path in precommit hook
commit_hash:f7df7bc7f68f49dd4b005691712d8784e092107e
2025-07-17 17:28:31 +03:00

49 lines
1.4 KiB
Swift

import DivKit
import Foundation
// TODO: Remove this func on next major release, clients should preload image urls with `DivDataResourcesPreloader`
extension Div {
public func makeImageURLs(with expressionResolver: ExpressionResolver) -> [URL] {
var urls: [URL] = value.background?.compactMap {
$0.resolveImageURL(expressionResolver)
} ?? []
if let url = LottieExtensionHandler.getPreloadURL(
div: value,
expressionResolver: expressionResolver
) {
urls.append(url)
}
switch self {
case let .divImage(divImage):
if let url = divImage.resolveImageUrl(expressionResolver) {
urls.append(url)
}
divImage.resolveDarkThemeImageURL(expressionResolver).map { urls.append($0) }
case let .divGifImage(divGifImage):
if let url = divGifImage.resolveGifUrl(expressionResolver) {
urls.append(url)
}
case let .divText(divText):
if let images = divText.images {
urls.append(contentsOf: images.compactMap { $0.resolveUrl(expressionResolver) })
}
case .divContainer,
.divCustom,
.divGallery,
.divGrid,
.divIndicator,
.divInput,
.divPager,
.divSelect,
.divSeparator,
.divSlider,
.divState,
.divSwitch,
.divVideo,
.divTabs:
break
}
return urls
}
}