@@ -25,8 +25,7 @@ public extension CodableWebSocketMessage {
2525 let messageData = try container. decode ( Data . self, forKey: . messageData)
2626 message = . data( messageData)
2727 default :
28- let localizedDescription = " Unknown message type "
29- let codableError = CodableError ( localizedDescription: localizedDescription)
28+ let codableError = CodableWebSocketMessage . unknownMessageTypeError ( isEncoding: false )
3029 throw ObservableWebSocketClientError . decodingMessage ( codableError)
3130 }
3231 }
@@ -42,9 +41,23 @@ public extension CodableWebSocketMessage {
4241 try container. encode ( " data " , forKey: . messageType)
4342 try container. encode ( messageData, forKey: . messageData)
4443 @unknown default :
45- let localizedDescription = " Unknown message type "
46- let codableError = CodableError ( localizedDescription: localizedDescription)
44+ let codableError = CodableWebSocketMessage . unknownMessageTypeError ( isEncoding: true )
4745 throw ObservableWebSocketClientError . encodingMessage ( codableError)
4846 }
4947 }
5048}
49+
50+ // MARK: - Private
51+
52+ private extension CodableWebSocketMessage {
53+ static func unknownMessageTypeError( isEncoding: Bool ) -> CodableError {
54+ let message = " Unknown message type "
55+ return . init(
56+ errorType: " Serialization " ,
57+ description: message,
58+ localizedDescription: message,
59+ domain: isEncoding ? " Encoding " : " Decoding " ,
60+ code: 0
61+ )
62+ }
63+ }
0 commit comments