This PR contains the work done to create a new *Hummingbird* project with very basic configuration from the _colibri_ executable, just like the project you could create with the [Hummingbird template](https://github.com/hummingbird-project/template) project in Github. Reviewed-on: #3 Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
29 lines
716 B
Swift
29 lines
716 B
Swift
import Foundation
|
|
|
|
public protocol FileServicing {
|
|
|
|
// MARK: Computed
|
|
|
|
var currentFolder: URL { get async }
|
|
|
|
// MARK: Functions
|
|
|
|
func copyFile(from source: URL, to destination: URL) async throws (FileServiceError)
|
|
func createFolder(at location: URL) async throws (FileServiceError)
|
|
func deleteItem(at location: URL) async throws (FileServiceError)
|
|
func isItemExists(at location: URL) async throws (FileServiceError) -> Bool
|
|
|
|
}
|
|
|
|
// MARK: - Errors
|
|
|
|
public enum FileServiceError: Error, Equatable {
|
|
case folderNotCreated
|
|
case itemAlreadyExists
|
|
case itemEmptyData
|
|
case itemNotCopied
|
|
case itemNotDeleted
|
|
case itemNotExists
|
|
case itemNotFileURL
|
|
}
|