20 lines
529 B
Swift
20 lines
529 B
Swift
|
|
struct VersionedVideo: HtmlProducer {
|
|
|
|
let sources: [VideoBlock.Source]
|
|
|
|
let options: [VideoBlock.Option]
|
|
|
|
func populate(_ result: inout String) {
|
|
result += "<video\(optionString)>Video not supported."
|
|
for source in sources.sorted(using: { $0.type.order }) {
|
|
result += "<source src='\(source.file.absoluteUrl)' type='\(source.type.mimeType)'>"
|
|
}
|
|
result += "</video>"
|
|
}
|
|
|
|
private var optionString: String {
|
|
options.map { " " + $0.rawValue }.joined()
|
|
}
|
|
}
|