// // Error.swift // mas-cli // // Created by Andrew Naylor on 21/08/2015. // Copyright (c) 2015 Andrew Naylor. All rights reserved. // import Foundation enum MASError: Error, CustomStringConvertible { case notSignedIn case signInFailed(error: NSError?) case alreadySignedIn case purchaseFailed(error: NSError?) case downloadFailed(error: NSError?) case noDownloads case cancelled case searchFailed case noSearchResultsFound var description: String { switch self { case .notSignedIn: return "Not signed in" case .signInFailed(let error): if let error = error { return "Sign in failed: \(error.localizedDescription)" } else { return "Sign in failed" } case .alreadySignedIn: return "Already signed in" case .purchaseFailed(let error): if let error = error { return "Download request failed: \(error.localizedDescription)" } else { return "Download request failed" } case .downloadFailed(let error): if let error = error { return "Download failed: \(error.localizedDescription)" } else { return "Download failed" } case .noDownloads: return "No downloads began" case .cancelled: return "Download cancelled" case .searchFailed: return "Search failed" case .noSearchResultsFound: return "No results found" } } }