From 09fc43349ff5c2736cb24cc015dfdd564d2302c3 Mon Sep 17 00:00:00 2001 From: Andy Date: Tue, 2 Oct 2018 21:08:55 +0700 Subject: [PATCH] convert SocketData to serialisable socket representation --- Source/SocketIO/Client/SocketIOClient.swift | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/SocketIO/Client/SocketIOClient.swift b/Source/SocketIO/Client/SocketIOClient.swift index a0d89a7..7ac8b74 100644 --- a/Source/SocketIO/Client/SocketIOClient.swift +++ b/Source/SocketIO/Client/SocketIOClient.swift @@ -231,7 +231,14 @@ open class SocketIOClient : NSObject, SocketIOClientSpec { /// - parameter items: The items to send with this event. May be left out. /// - parameter completion: Callback called on transport write completion. open func emit(_ event: String, _ items: SocketData..., completion: @escaping () -> ()) { - emit([event] + items, completion: completion) + do { + try emit(event, with: items.map({ try $0.socketRepresentation() }), completion: completion) + } catch { + DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)", + type: logType) + + handleClientEvent(.error, data: [event, items, error]) + } } /// Same as emit, but meant for Objective-C