diff options
| author | Dustin Mierau <dustin@mierau.me> | 2023-12-12 16:29:12 -0800 |
|---|---|---|
| committer | Dustin Mierau <dustin@mierau.me> | 2023-12-12 16:29:12 -0800 |
| commit | a428e3e28fb851cec65ff27f212c19bce08e5369 (patch) | |
| tree | d106ce73c1411dff56f401f3a9df62419c8d4f58 /Hotline/Models/FileInfo.swift | |
| parent | a4798840e1d58ddb19ed5d5e0e0a4f0add47c9fb (diff) | |
Break model objects out into their own files.
Diffstat (limited to 'Hotline/Models/FileInfo.swift')
| -rw-r--r-- | Hotline/Models/FileInfo.swift | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Hotline/Models/FileInfo.swift b/Hotline/Models/FileInfo.swift new file mode 100644 index 0000000..0e2c76d --- /dev/null +++ b/Hotline/Models/FileInfo.swift @@ -0,0 +1,31 @@ +import SwiftUI + +@Observable class FileInfo: Identifiable { + let id: UUID = UUID() + + let path: [String] + let name: String + + let type: String + let creator: String + let fileSize: UInt + + let isFolder: Bool + var children: [FileInfo]? = nil + + init(hotlineFile: HotlineFile) { + self.path = hotlineFile.path + self.name = hotlineFile.name + self.type = hotlineFile.type + self.creator = hotlineFile.creator + self.fileSize = UInt(hotlineFile.fileSize) + self.isFolder = hotlineFile.isFolder + if self.isFolder { + self.children = [] + } + } + + static func == (lhs: FileInfo, rhs: FileInfo) -> Bool { + return lhs.id == rhs.id + } +} |