Files
divkit/client/ios/DivKitExtensions/DivExtensions.swift
T
pkurchatov 290a1febad reduced methods visibility
Немного причесал API в выражениях и разложил по папкам.
2022-09-13 16:18:22 +03:00

39 lines
1.0 KiB
Swift

import Foundation
import DivKit
extension Div {
public func makeImageURLs(with expressionResolver: ExpressionResolver) -> [URL] {
var urls: [URL] = value.background?.compactMap { $0.makeImageURL(with: expressionResolver) }
?? []
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,
.divGrid,
.divGallery,
.divPager,
.divTabs,
.divCustom,
.divState,
.divSlider,
.divIndicator,
.divSeparator,
.divInput:
break
}
return urls
}
}