Line data Source code
1 : import 'dart:async';
2 :
3 : import 'package:app_pym/core/usecases/usecase.dart';
4 : import 'package:app_pym/domain/entities/app_pym/post.dart';
5 : import 'package:app_pym/domain/usecases/fil_actualite/get_posts.dart';
6 : import 'package:bloc/bloc.dart';
7 : import 'package:freezed_annotation/freezed_annotation.dart';
8 : import 'package:injectable/injectable.dart';
9 :
10 : part 'fil_actualite_bloc.freezed.dart';
11 : part 'fil_actualite_event.dart';
12 : part 'fil_actualite_state.dart';
13 :
14 : @prod
15 : @injectable
16 : class FilActualiteBloc extends Bloc<FilActualiteEvent, FilActualiteState> {
17 : final GetPosts getPosts;
18 :
19 1 : FilActualiteBloc(this.getPosts);
20 :
21 1 : @override
22 : FilActualiteState get initialState => const FilActualiteState.initial();
23 :
24 : @override
25 1 : Stream<FilActualiteState> mapEventToState(
26 : FilActualiteEvent event,
27 : ) async* {
28 : try {
29 1 : yield const FilActualiteState.loading();
30 3 : final posts = await getPosts(const NoParams());
31 2 : yield FilActualiteState.loaded(posts);
32 1 : } on Exception catch (e) {
33 2 : yield FilActualiteState.error(e);
34 : }
35 : }
36 : }
|