import '../../../../../api/marianumconnect/queries/get_ticker/get_ticker_response.dart'; import '../../../../../api/marianumconnect/queries/get_ticker_nav/get_ticker_nav_response.dart'; import '../../../infrastructure/utility_widgets/loadable_hydrated_bloc/loadable_hydrated_bloc.dart'; import '../../../infrastructure/utility_widgets/loadable_hydrated_bloc/loadable_hydrated_bloc_event.dart'; import '../repository/ticker_repository.dart'; import 'ticker_event.dart'; import 'ticker_state.dart'; class TickerBloc extends LoadableHydratedBloc { @override Future gatherData() async { final results = await Future.wait([repo.getTicker(), repo.getNav()]); final ticker = results[0] as TickerResponse; final nav = results[1] as TickerNavResponse; add(DataGathered((state) => state.copyWith(ticker: ticker, nav: nav))); } @override TickerRepository repository() => TickerRepository(); @override TickerState fromNothing() => const TickerState(); @override TickerState fromStorage(Map json) => TickerState.fromJson(json); @override Map? toStorage(TickerState state) => state.toJson(); }