Skip to content

Instantly share code, notes, and snippets.

@bill350
Created April 1, 2018 22:05
Show Gist options
  • Select an option

  • Save bill350/c94d08cd3edda28ef7008af6aec37f65 to your computer and use it in GitHub Desktop.

Select an option

Save bill350/c94d08cd3edda28ef7008af6aec37f65 to your computer and use it in GitHub Desktop.
struct SignIn {
enum Error: Swift.Error, Localizable, Underlying {
case unknown(underlying: Swift.Error?)
case invalidCredentials(underlying: Swift.Error?)
case mailEmpty
case mailIncorrect
case passwordIncorrect
case serviceInconsistency
case safariAuthentification
case facebookAuth
case unauthorized
var localizedMessage: String {
switch self {
case .unknown: return L10n.commonErrorSigninUnknownMessage
case .invalidCredentials: return L10n.commonErrorSigninInvalidCredentialsMessage
case .mailEmpty: return L10n.errorSignMailEmpty
case .mailIncorrect: return L10n.errorSignMailIncorrect
case .passwordIncorrect: return L10n.errorSignPasswordIncorrect
case .serviceInconsistency: return L10n.errorSignInconsistency
case .safariAuthentification: return L10n.errorSignSignInFacebookSafari
case .facebookAuth: return L10n.errorSignSignInFacebook
case .unauthorized: return L10n.errorUnauthorized
}
}
var underlying: Swift.Error? {
switch self {
case .unknown(let underlying), .invalidCredentials(let underlying):
return underlying
default:
return nil
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment