public struct Contact: Decodable { let contact_ID: Int } enum ContactDataMapper { static func map(_ data: Data, from response: URLResponse) throws -> [Contact] { guard let contacts = try? JSONDecoder().decode([Contact].self, from: data) else { throw APIError.invalidData } return contacts } } public enum APIError: Swift.Error { case invalidData case serverDefined(String) case connectivity }