Skip to content

🅿️ A simple swift package used to access the Strasbourg open data related to the parking

License

Notifications You must be signed in to change notification settings

yageek/StrasbourgParkAPI

Repository files navigation

StrasbourgParkAPI

A simple swift package giving access to the Strasbourg open data for parking (location API and availability API)

Reference can be found here.

Usage

You can interact with the framework using callback closures responses, Combine or async methods

Callback closures

let client = ParkingAPIClient()
client.getLocations { (result) in
    switch result {
        case .success(let locations):
            print("Locations: \(locations)")
        case .failure(let error):
            print("Error during the download: \(error)")
    }
}

Combine

let client = ParkingAPIClient()
client.getLocationsPublisher().sink { result in
    if case .failure(let error) = result {
        print("Error: \(result)")
    }   
} receiveValue: { result in
    print("Response: \(result)")

}

async

let client = ParkingAPIClient()

do {
    let response = try await client.fetchLocations()
    print("Response: \(response)")
} catch let error {
    print("Error: \(error)")
}