Files
divkit/client/ios/DivKitExtensions/ExtensionHandlers/CustomImagePreviewExtensionHandler.swift
babaevmm 956c055cd8 update swiftformat, add organize rule
commit_hash:0f7ba811b37db6d2a9fc05efe5f94502feda4856
2025-08-04 16:24:48 +03:00

37 lines
840 B
Swift

import DivKit
import Foundation
import LayoutKit
import VGSL
public final class CustomImagePreviewExtensionHandler: DivExtensionHandler {
public let id: String
private let viewProvider: ViewProvider
public init(id: String, viewProvider: ViewProvider) {
self.id = id
self.viewProvider = viewProvider
}
public func applyBeforeBaseProperties(
to block: Block,
div: DivBase,
context: DivBlockModelingContext
) -> Block {
guard
let block = block as? ImageBlock,
let div = div as? DivImage
else {
return block
}
let imageHolder = context.imageHolderFactory.make(
div.resolveImageUrl(context.expressionResolver) ?? defaultImageURL,
.view(viewProvider)
)
return block.makeCopy(with: imageHolder)
}
}
private let defaultImageURL = URL(string: "empty://")