Line data Source code
1 : import 'dart:async';
2 :
3 : import 'package:app_pym/domain/entities/map_pym/batiment.dart';
4 : import 'package:app_pym/domain/usecases/cartographie/get_batiment_detail.dart';
5 : import 'package:bloc/bloc.dart';
6 : import 'package:freezed_annotation/freezed_annotation.dart';
7 : import 'package:injectable/injectable.dart';
8 :
9 : part 'batiment_bloc.freezed.dart';
10 : part 'batiment_event.dart';
11 : part 'batiment_state.dart';
12 :
13 : @prod
14 : @injectable
15 : class BatimentBloc extends Bloc<BatimentEvent, BatimentState> {
16 : final GetBatimentDetail getBatimentDetail;
17 :
18 1 : BatimentBloc(this.getBatimentDetail);
19 :
20 1 : @override
21 : BatimentState get initialState => const BatimentState.initial();
22 :
23 : @override
24 1 : Stream<BatimentState> mapEventToState(
25 : BatimentEvent event,
26 : ) async* {
27 : try {
28 1 : yield const BatimentState.loading();
29 4 : final batiment = await getBatimentDetail(event.id);
30 2 : yield BatimentState.loaded(batiment);
31 1 : } on Exception catch (e) {
32 2 : yield BatimentState.error(e);
33 : }
34 : }
35 : }
|