move swift examples (#100)

* move swift examples

* swift workflow

* fixup

* rewirte gettingStarted

* add README for swift

* update fiat examples and addresss feedback
This commit is contained in:
Ruben
2023-11-16 14:06:30 +01:00
committed by ok300
parent ec8108abf2
commit b541595840
35 changed files with 561 additions and 209 deletions

View File

@@ -0,0 +1,48 @@
//
// FiatCurrencies.swift
//
//
// Created by ruben on 14/11/2023.
//
import Foundation
import BreezSDK
func listSupportedFiatCurrencies(sdk: BlockingBreezServices) -> [FiatCurrency]? {
// ANCHOR: list-fiat-currencies
let supportedFiatCurrencies = try? sdk.listFiatCurrencies()
// ANCHOR_END: list-fiat-currencies
return supportedFiatCurrencies
}
func getCurrentRates(sdk:BlockingBreezServices) -> [Rate]? {
// ANCHOR: fetch-fiat-rates
let fiatRates = try? sdk.fetchFiatRates()
// ANCHOR_END: fetch-fiat-rates
return fiatRates
}
func getFiatCurrencyAndRates(sdk: BlockingBreezServices) -> [(FiatCurrency,Rate)]? {
// ANCHOR: get-fiat-currencies-and-rates
var ratesMap = [String:Rate]()
if let supportedFiatCurrencies = try? sdk.listFiatCurrencies(), let fiatRates = try? sdk.fetchFiatRates() {
for fiatRate in fiatRates {
ratesMap[fiatRate.coin.lowercased()] = fiatRate
}
let sorted = supportedFiatCurrencies.sorted(by: { f1, f2 in
f1.id<f2.id
})
var result = [(FiatCurrency,Rate)]()
for currency in sorted {
if let rate = ratesMap[currency.id.lowercased()] {
result.append((currency, rate))
}
}
return result
}
// ANCHOR_END: get-fiat-currencies-and-rates
return nil
}