import 'dart:convert'; import '../../connect_api.dart'; import '../rmv_models.dart'; import '_query_format.dart'; class GetDepartures extends ConnectApi> { final String stopId; final DateTime? when; final int durationMinutes; final int maxJourneys; GetDepartures({ required this.stopId, this.when, this.durationMinutes = 60, this.maxJourneys = -1, }) : super('rmv/departures'); @override Map? get queryParameters => { 'stopId': stopId, if (when != null) 'when': formatLocalDateTime(when!), 'duration': durationMinutes.toString(), 'max': maxJourneys.toString(), }; @override List assemble(String raw) => (jsonDecode(raw) as List) .map((e) => Departure.fromJson(e as Map)) .toList(growable: false); }