2024-12-09 12:18:55 +01:00

47 lines
764 B
Swift

import Foundation
final class FileToAdd: ObservableObject {
unowned let content: Content
let url: URL
@Published
var uniqueId: String
@Published
var isSelected: Bool = true
init(content: Content, url: URL) {
self.content = content
self.url = url
self.uniqueId = url.lastPathComponent
}
var idAlreadyExists: Bool {
content.files.contains { $0.id == uniqueId }
}
}
extension FileToAdd: Identifiable {
var id: URL {
url
}
}
extension FileToAdd: Equatable {
static func == (lhs: FileToAdd, rhs: FileToAdd) -> Bool {
lhs.url == rhs.url
}
}
extension FileToAdd: Hashable {
func hash(into hasher: inout Hasher) {
hasher.combine(url)
}
}