fetchTrackCircuits static method
Implementation
static Future<List<TrackCircuit>> fetchTrackCircuits(String apiKey) async {
const String host =
'https://api.wmata.com/TrainPositions/TrackCircuits?contentType=json';
final response = await http.get(
Uri.parse(host),
headers: {"api_key": apiKey},
);
Map<String, dynamic> responseArr = readJson(response.body);
if (responseArr.isEmpty) return [];
if (responseArr[ApiFields.trackCircuits] == null) return [];
if (responseArr[ApiFields.trackCircuits] is List) {
return ((responseArr[ApiFields.trackCircuits] as List?) ?? [])
.map((trackCircuit) => TrackCircuit.fromJson(trackCircuit))
.toList();
}
return [];
}