-
Notifications
You must be signed in to change notification settings - Fork 481
/
Copy pathStringUtils.swift
58 lines (53 loc) · 1.63 KB
/
StringUtils.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import FirebaseAuth
import SwiftUI
let kKeyNotFound = "Key not found"
let kUsersNotFoundError = "UserNotFoundError"
let kEmailAlreadyInUseError = "EmailAlreadyInUseError"
let kInvalidEmailError = "InvalidEmailError"
let kWeakPasswordError = "WeakPasswordError"
let kSignUpTooManyTimesError = "SignUpTooManyTimesError"
let kWrongPasswordError = "WrongPasswordError"
let kAccountDisabledError = "AccountDisabledError"
let kEmailsDoNotMatchError = "EmailsDoNotMatchError"
let kUnknownError = "UnknownError"
public class StringUtils {
let bundle: Bundle
init(bundle: Bundle) {
self.bundle = bundle
}
public func localizedString(forKey key: String) -> String {
return bundle.localizedString(forKey: key, value: nil, table: nil)
}
public func localizedErrorMessage(for error: Error) -> String {
let authError = error as NSError
let errorCode = AuthErrorCode(rawValue: authError.code)
switch errorCode {
case .emailAlreadyInUse:
return localizedString(
forKey: kEmailAlreadyInUseError
)
case .invalidEmail:
return localizedString(forKey: kInvalidEmailError)
case .weakPassword:
return localizedString(forKey: kWeakPasswordError)
case .tooManyRequests:
return localizedString(
forKey: kSignUpTooManyTimesError
)
case .wrongPassword:
return localizedString(
forKey: kWrongPasswordError
)
case .userNotFound:
return localizedString(
forKey: kUsersNotFoundError
)
case .userDisabled:
return localizedString(
forKey: kAccountDisabledError
)
default:
return error.localizedDescription
}
}
}