Skip to content
Snippets Groups Projects
Commit d331d628 authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Use [Int] in MessageDeliveryWaiter result

parent 37629e49
No related branches found
No related tags found
1 merge request!12Use codable models in API
...@@ -2,7 +2,7 @@ import Bindings ...@@ -2,7 +2,7 @@ import Bindings
public struct MessageDeliveryWaiter { public struct MessageDeliveryWaiter {
public enum Result: Equatable { public enum Result: Equatable {
case delivered(roundResults: Data) case delivered(roundResults: [Int])
case notDelivered(timedOut: Bool) case notDelivered(timedOut: Bool)
} }
...@@ -40,8 +40,14 @@ private final class Callback: NSObject, BindingsMessageDeliveryCallbackProtocol ...@@ -40,8 +40,14 @@ private final class Callback: NSObject, BindingsMessageDeliveryCallbackProtocol
let onCallback: (MessageDeliveryWaiter.Result) -> Void let onCallback: (MessageDeliveryWaiter.Result) -> Void
func eventCallback(_ delivered: Bool, timedOut: Bool, roundResults: Data?) { func eventCallback(_ delivered: Bool, timedOut: Bool, roundResults: Data?) {
if delivered, !timedOut, let roundResults = roundResults { if delivered, !timedOut, let roundResultsData = roundResults {
return onCallback(.delivered(roundResults: roundResults)) let decoder = JSONDecoder()
do {
let roundResults = try decoder.decode([Int].self, from: roundResultsData)
return onCallback(.delivered(roundResults: roundResults))
} catch {
fatalError("BindingsMessageDeliveryCallback roundResults decoding error: \(error)")
}
} }
if !delivered, roundResults == nil { if !delivered, roundResults == nil {
return onCallback(.notDelivered(timedOut: timedOut)) return onCallback(.notDelivered(timedOut: timedOut))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment