Merge pull request #1324 from OneSman7/development
Added client emit methods with array parameters
This commit is contained in:
		
						commit
						162eb3d649
					
				@ -212,6 +212,19 @@ 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: (() -> ())? = nil)  {
 | 
			
		||||
        emit(event, with: items, completion: completion)
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    /// Send an event to the server, with optional data items and optional write completion handler.
 | 
			
		||||
    ///
 | 
			
		||||
    /// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error`
 | 
			
		||||
    /// will be emitted. The structure of the error data is `[eventName, items, theError]`
 | 
			
		||||
    ///
 | 
			
		||||
    /// - parameter event: The event to send.
 | 
			
		||||
    /// - 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, with items: [SocketData], completion: (() -> ())?) {
 | 
			
		||||
        
 | 
			
		||||
        do {
 | 
			
		||||
            emit([event] + (try items.map({ try $0.socketRepresentation() })), completion: completion)
 | 
			
		||||
        } catch {
 | 
			
		||||
@ -242,6 +255,30 @@ open class SocketIOClient: NSObject, SocketIOClientSpec {
 | 
			
		||||
    /// - parameter items: The items to send with this event. May be left out.
 | 
			
		||||
    /// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent.
 | 
			
		||||
    open func emitWithAck(_ event: String, _ items: SocketData...) -> OnAckCallback {
 | 
			
		||||
        emitWithAck(event, with: items)
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    /// Sends a message to the server, requesting an ack.
 | 
			
		||||
    ///
 | 
			
		||||
    /// **NOTE**: It is up to the server send an ack back, just calling this method does not mean the server will ack.
 | 
			
		||||
    /// Check that your server's api will ack the event being sent.
 | 
			
		||||
    ///
 | 
			
		||||
    /// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error`
 | 
			
		||||
    /// will be emitted. The structure of the error data is `[eventName, items, theError]`
 | 
			
		||||
    ///
 | 
			
		||||
    /// Example:
 | 
			
		||||
    ///
 | 
			
		||||
    /// ```swift
 | 
			
		||||
    /// socket.emitWithAck("myEvent", 1).timingOut(after: 1) {data in
 | 
			
		||||
    ///     ...
 | 
			
		||||
    /// }
 | 
			
		||||
    /// ```
 | 
			
		||||
    ///
 | 
			
		||||
    /// - parameter event: The event to send.
 | 
			
		||||
    /// - parameter items: The items to send with this event. May be left out.
 | 
			
		||||
    /// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent.
 | 
			
		||||
    open func emitWithAck(_ event: String, with items: [SocketData]) -> OnAckCallback {
 | 
			
		||||
        
 | 
			
		||||
        do {
 | 
			
		||||
            return createOnAck([event] + (try items.map({ try $0.socketRepresentation() })))
 | 
			
		||||
        } catch {
 | 
			
		||||
 | 
			
		||||
@ -108,6 +108,16 @@ public protocol SocketIOClientSpec : AnyObject {
 | 
			
		||||
    /// - parameter completion: Callback called on transport write completion.
 | 
			
		||||
    func emit(_ event: String, _ items: SocketData..., completion: (() -> ())?)
 | 
			
		||||
    
 | 
			
		||||
    /// Send an event to the server, with optional data items and optional write completion handler.
 | 
			
		||||
    ///
 | 
			
		||||
    /// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error`
 | 
			
		||||
    /// will be emitted. The structure of the error data is `[eventName, items, theError]`
 | 
			
		||||
    ///
 | 
			
		||||
    /// - parameter event: The event to send.
 | 
			
		||||
    /// - parameter items: The items to send with this event. May be left out.
 | 
			
		||||
    /// - parameter completion: Callback called on transport write completion.
 | 
			
		||||
    func emit(_ event: String, with items: [SocketData], completion: (() -> ())?)
 | 
			
		||||
 | 
			
		||||
    /// Call when you wish to tell the server that you've received the event for `ack`.
 | 
			
		||||
    ///
 | 
			
		||||
    /// - parameter ack: The ack number.
 | 
			
		||||
@ -135,6 +145,27 @@ public protocol SocketIOClientSpec : AnyObject {
 | 
			
		||||
    /// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent.
 | 
			
		||||
    func emitWithAck(_ event: String, _ items: SocketData...) -> OnAckCallback
 | 
			
		||||
    
 | 
			
		||||
    /// Sends a message to the server, requesting an ack.
 | 
			
		||||
    ///
 | 
			
		||||
    /// **NOTE**: It is up to the server send an ack back, just calling this method does not mean the server will ack.
 | 
			
		||||
    /// Check that your server's api will ack the event being sent.
 | 
			
		||||
    ///
 | 
			
		||||
    /// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error`
 | 
			
		||||
    /// will be emitted. The structure of the error data is `[eventName, items, theError]`
 | 
			
		||||
    ///
 | 
			
		||||
    /// Example:
 | 
			
		||||
    ///
 | 
			
		||||
    /// ```swift
 | 
			
		||||
    /// socket.emitWithAck("myEvent", 1).timingOut(after: 1) {data in
 | 
			
		||||
    ///     ...
 | 
			
		||||
    /// }
 | 
			
		||||
    /// ```
 | 
			
		||||
    ///
 | 
			
		||||
    /// - parameter event: The event to send.
 | 
			
		||||
    /// - parameter items: The items to send with this event. May be left out.
 | 
			
		||||
    /// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent.
 | 
			
		||||
    func emitWithAck(_ event: String, with items: [SocketData]) -> OnAckCallback
 | 
			
		||||
 | 
			
		||||
    /// Called when socket.io has acked one of our emits. Causes the corresponding ack callback to be called.
 | 
			
		||||
    ///
 | 
			
		||||
    /// - parameter ack: The number for this ack.
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user