Implemented the FileService service in the library target.

This commit is contained in:
Javier Cicchelli 2025-03-11 23:29:58 +01:00
parent f6dcc80edc
commit 4d4ce5d647
3 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1,31 @@
import Foundation
struct FileService: FileServicing {
// MARK: Functions
func listItems(in folder: String) async throws (FileServiceError) -> [String] {
let fileManager = FileManager.default
guard !folder.isEmpty else {
throw .folderPathEmpty
}
var isFolder: ObjCBool = false
guard fileManager.fileExists(atPath: folder, isDirectory: &isFolder) else {
throw .folderNotFound
}
guard isFolder.boolValue else {
throw .folderNotDirectory
}
do {
return try fileManager.contentsOfDirectory(atPath: folder)
} catch {
throw .other(error)
}
}
}

View File

@ -0,0 +1,7 @@
import Testing
@testable import DoxyLibrary
@Suite("FileService", .tags(.service))
struct FileServiceTests {
}

View File

@ -8,5 +8,6 @@ extension Tag {
@Tag static var enumeration: Tag @Tag static var enumeration: Tag
@Tag static var middleware: Tag @Tag static var middleware: Tag
@Tag static var provider: Tag @Tag static var provider: Tag
@Tag static var service: Tag
} }