|
|
|
// Copyright © 2015 Abhishek Banthia
|
|
|
|
|
|
|
|
import Cocoa
|
|
|
|
|
|
|
|
public struct SearchResult: Codable {
|
|
|
|
public let results: [Result]
|
|
|
|
public let status: String
|
|
|
|
|
|
|
|
public struct Result: Codable {
|
|
|
|
public let addressComponents: [AddressComponent]
|
|
|
|
public let formattedAddress: String
|
|
|
|
public let geometry: Geometry
|
|
|
|
public let placeId: String
|
|
|
|
public let types: [String]
|
|
|
|
|
|
|
|
private enum CodingKeys: String, CodingKey {
|
|
|
|
case addressComponents = "address_components"
|
|
|
|
case formattedAddress = "formatted_address"
|
|
|
|
case geometry
|
|
|
|
case placeId = "place_id"
|
|
|
|
case types
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public struct Geometry: Codable {
|
|
|
|
public let location: Location
|
|
|
|
public let locationType: String
|
|
|
|
|
|
|
|
public struct Location: Codable {
|
|
|
|
public let lat: Double
|
|
|
|
public let lng: Double
|
|
|
|
}
|
|
|
|
|
|
|
|
private enum CodingKeys: String, CodingKey {
|
|
|
|
case locationType = "location_type"
|
|
|
|
case location
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public struct AddressComponent: Codable {
|
|
|
|
public let longName: String
|
|
|
|
public let shortName: String
|
|
|
|
public let types: [String]
|
|
|
|
|
|
|
|
private enum CodingKeys: String, CodingKey {
|
|
|
|
case longName = "long_name"
|
|
|
|
case shortName = "short_name"
|
|
|
|
case types
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public struct Timezone: Codable {
|
|
|
|
public let dstOffset: Int
|
|
|
|
public let rawOffset: Int
|
|
|
|
public let status: String
|
|
|
|
public let timeZoneId: String
|
|
|
|
public let timeZoneName: String
|
|
|
|
}
|