Skip to content

Commit cd74770

Browse files
committed
Update codable confrormance
1 parent 049ccac commit cd74770

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

Sources/ObservableWebSocketClient/Interface/ObservableWebSocketClient+Codable.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,28 @@ import Foundation
99

1010
/// Required for encoding/decoding an observable object class. Refer to:
1111
/// https://www.hackingwithswift.com/books/ios-swiftui/encoding-an-observableobject-class
12-
extension ObservableWebSocketClient: Codable {
12+
extension ObservableWebSocketClient {
1313
public enum CodingKeys: String, CodingKey {
14+
case id
1415
case websocketURL
1516
case message
1617
case error
1718
}
1819

1920
public func encode(to encoder: Encoder) throws {
2021
var container = encoder.container(keyedBy: CodingKeys.self)
22+
try container.encode(id, forKey: .id)
2123
try container.encode(websocketURL, forKey: .websocketURL)
2224
try container.encodeIfPresent(message, forKey: .message)
2325
try container.encodeIfPresent(error, forKey: .error)
2426
}
2527

2628
public convenience init(from decoder: Decoder) throws {
2729
let container = try decoder.container(keyedBy: CodingKeys.self)
30+
let id = try container.decode(UUID.self, forKey: .id)
2831
let websocketURL = try container.decode(URL.self, forKey: .websocketURL)
2932
let message = try container.decodeIfPresent(CodableWebSocketMessage.self, forKey: .message)
3033
let error = try container.decodeIfPresent(ObservableWebSocketClientError.self, forKey: .error)
31-
self.init(websocketURL: websocketURL, message: message, error: error)
34+
self.init(id: id, websocketURL: websocketURL, message: message, error: error)
3235
}
3336
}

0 commit comments

Comments
 (0)