Clean code for file type detection

This commit is contained in:
Christoph Hagen
2022-08-29 18:57:37 +02:00
parent 4c52232d24
commit 50519762a9
6 changed files with 47 additions and 54 deletions

View File

@ -68,16 +68,16 @@ struct PageContentGenerator {
let title = fileAndTitle.contains(" ") ? fileAndTitle.dropBeforeFirst(" ").nonEmpty : nil
let fileExtension = file.lastComponentAfter(".").lowercased()
switch MediaType(fileExtension: fileExtension) {
case .image:
if let _ = ImageType(fileExtension: fileExtension) {
return handleImage(page: page, file: file, rightTitle: title, leftTitle: alt)
case .video:
return handleVideo(page: page, file: file, optionString: alt)
case .svg:
return handleSvg(page: page, file: file, area: alt)
case .file:
return handleFile(page: page, file: file, fileExtension: fileExtension)
}
if let _ = VideoType(rawValue: fileExtension) {
return handleVideo(page: page, file: file, optionString: alt)
}
if fileExtension == "svg" {
return handleSvg(page: page, file: file, area: alt)
}
return handleFile(page: page, file: file, fileExtension: fileExtension)
}
private func handleImage(page: Element, file: String, rightTitle: String?, leftTitle: String?) -> String {