Skip to content
Snippets Groups Projects
Select Git revision
  • 4fef1f7f786291651afdac3728743e40d48a0604
  • main default protected
  • development
  • integration
  • v1.1.5
  • v1.1.4
  • v1.1.3
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.0.0
11 results

MessageServiceList.swift

Blame
  • Dariusz Rybicki's avatar
    Dariusz Rybicki authored
    - Rename TrackServicesCallbackResult to MessageServiceListElement
    - Add MessageServiceList typealias
    9fcb7fb6
    History
    MessageServiceList.swift 881 B
    import Foundation
    
    public typealias MessageServiceList = Array<MessageServiceListElement>
    
    extension MessageServiceList {
      public static func decode(_ data: Data) throws -> Self {
        try JSONDecoder().decode(Self.self, from: data)
      }
    
      public func encode() throws -> Data {
        try JSONEncoder().encode(self)
      }
    }
    
    public struct MessageServiceListElement: Equatable {
      public init(id: Data, services: [MessageService]) {
        self.id = id
        self.services = services
      }
    
      public var id: Data
      public var services: [MessageService]
    }
    
    extension MessageServiceListElement: Codable {
      enum CodingKeys: String, CodingKey {
        case id = "Id"
        case services = "Services"
      }
    
      public static func decode(_ data: Data) throws -> Self {
        try JSONDecoder().decode(Self.self, from: data)
      }
    
      public func encode() throws -> Data {
        try JSONEncoder().encode(self)
      }
    }