// // ImagiumError.swift // // // Created by Thibaut Schmitt on 24/01/2022. // import Foundation enum ImagiumError: Error { case inputFolderNotFound(String) case fileNotExists(String) case unknownImageExtension(String) case getFileAttributed(String, String) case rsvgConvertNotFound case writeFile(String, String) case unknown(String) var localizedDescription: String { switch self { case .inputFolderNotFound(let inputFolder): return " error:[\(Imagium.toolName)] Input folder not found: \(inputFolder)" case .fileNotExists(let filename): return " error:[\(Imagium.toolName)] File \(filename) does not exists" case .unknownImageExtension(let filename): return " error:[\(Imagium.toolName)] File \(filename) have an unhandled file extension. Cannot generate image." case .getFileAttributed(let filename, let errorDescription): return " error:[\(Imagium.toolName)] Getting file attributes of \(filename) failed with error: \(errorDescription)" case .rsvgConvertNotFound: return " error:[\(Imagium.toolName)] Can't find rsvg-convert (can be installed with 'brew remove imagemagick && brew install imagemagick --with-librsvg')" case .writeFile(let subErrorDescription, let filename): return " error:[\(Imagium.toolName)] An error occured while writing content to \(filename): \(subErrorDescription)" case .unknown(let errorDescription): return " error:[\(Imagium.toolName)] Unknown error: \(errorDescription)" } } }