Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2133036

Browse files
Update Errors.swift
1 parent 575bb78 commit 2133036

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

‎Sources/replicate-kit-swift/error/Errors.swift‎

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ extension ReplicateAPI {
1111

1212
/// Set of replicate API errors
1313
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
14-
public enum Errors: Error, Hashable,LocalizedError {
14+
public enum Errors: Error, LocalizedError {
1515

1616
/// Base URL error
1717
case baseURLError
@@ -32,7 +32,7 @@ extension ReplicateAPI {
3232
case couldNotDecodeErrorContainer
3333

3434
/// Client-specific error with a custom message
35-
case clientError(String)
35+
case clientError(LocalizedError)
3636

3737
/// Provides a localized description for each error case.
3838
public var errorDescription: String? {
@@ -55,9 +55,29 @@ extension ReplicateAPI {
5555
case .couldNotDecodeErrorContainer:
5656
return NSLocalizedString("Could not decode the error response. The format might be incorrect.", comment: "Decoding error")
5757

58-
case .clientError(let message):
59-
return message
58+
case .clientError(let error):
59+
return error.localizedDescription
6060
}
6161
}
6262
}
6363
}
64+
65+
extension ReplicateAPI.Errors: Equatable {
66+
public static func == (lhs: ReplicateAPI.Errors, rhs: ReplicateAPI.Errors) -> Bool {
67+
switch (lhs, rhs) {
68+
case (.baseURLError, .baseURLError),
69+
(.timeout, .timeout),
70+
(.terminated, .terminated),
71+
(.couldNotDecodeErrorContainer, .couldNotDecodeErrorContainer):
72+
return true
73+
case (.responseError(let lhsError), .responseError(let rhsError)):
74+
return lhsError == rhsError
75+
case (.invalidResponse(let lhsResponse, let lhsMessage), .invalidResponse(let rhsResponse, let rhsMessage)):
76+
return lhsResponse == rhsResponse && lhsMessage == rhsMessage
77+
case (.clientError(let lhsError), .clientError(let rhsError)):
78+
return lhsError.localizedDescription == rhsError.localizedDescription
79+
default:
80+
return false
81+
}
82+
}
83+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /