blob: 7dd692f500f2e22237546a73f6d13d1d7dae8e5f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
import UniformTypeIdentifiers
enum PreviewFileType: Equatable {
case unknown
case image
case text
}
struct PreviewFileInfo: Identifiable, Codable {
var id: UInt32
var address: String
var port: Int
var size: Int
var name: String
var previewType: FilePreviewType {
let fileExtension = (self.name as NSString).pathExtension
if let fileType = UTType(filenameExtension: fileExtension) {
if fileType.isSubtype(of: .image) {
return .image
}
else if fileType.isSubtype(of: .text) {
return .text
}
}
return .unknown
}
}
extension PreviewFileInfo: Equatable {
static func == (lhs: PreviewFileInfo, rhs: PreviewFileInfo) -> Bool {
return lhs.id == rhs.id
}
}
extension PreviewFileInfo: Hashable {
func hash(into hasher: inout Hasher) {
hasher.combine(self.id)
}
}
|