File tree Expand file tree Collapse file tree 2 files changed +13
-7
lines changed
Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -4,13 +4,13 @@ public typealias UserDefaultsGettable = Decodable
44public typealias UserDefaultsSettable = Encodable
55public typealias UserDefaultsPersistable = UserDefaultsGettable & UserDefaultsSettable
66
7- private enum UserDefaultsError : LocalizedError {
8- case gettingFailed ( key: String )
7+ public enum UserDefaultsError : LocalizedError {
8+ case missingValue ( key: String )
99
10- var errorDescription : String ? {
10+ public var errorDescription : String ? {
1111 switch self {
12- case . gettingFailed :
13- return " オブジェクトの取得に失敗しました 。"
12+ case . missingValue :
13+ return " 対象のキーに値が存在しません 。"
1414 }
1515 }
1616}
@@ -26,7 +26,7 @@ public struct UserDefaultsClient {
2626 let jsonDecoder = JSONDecoder ( )
2727 jsonDecoder. keyDecodingStrategy = . convertFromSnakeCase
2828 guard let data = userDefaults. data ( forKey: defaultName) else {
29- throw UserDefaultsError . gettingFailed ( key: defaultName)
29+ throw UserDefaultsError . missingValue ( key: defaultName)
3030 }
3131 return try jsonDecoder. decode ( V . self, from: data)
3232 }
Original file line number Diff line number Diff line change @@ -16,7 +16,13 @@ public struct SakatsuUserDefaultsClient {
1616
1717extension SakatsuUserDefaultsClient : SakatsuRepository {
1818 public func sakatsus( ) throws -> [ Sakatsu ] {
19- try userDefaultsClient. object ( forKey: Self . sakatsusKey)
19+ do {
20+ return try userDefaultsClient. object ( forKey: Self . sakatsusKey)
21+ } catch UserDefaultsError . missingValue {
22+ return [ ]
23+ } catch {
24+ throw error
25+ }
2026 }
2127
2228 public func saveSakatsus( _ sakatsus: [ Sakatsu ] ) throws {
You can’t perform that action at this time.
0 commit comments