You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

41 lines
1.4 KiB

import 'dart:async';
import 'package:bloc/bloc.dart';
import 'package:hadi_hoda_flutter/core/status/base_status.dart';
import 'package:hadi_hoda_flutter/features/language/domain/entity/language_entity.dart';
import 'package:hadi_hoda_flutter/features/language/domain/usecases/get_language_usecase.dart';
import 'package:hadi_hoda_flutter/features/language/presentation/bloc/language_event.dart';
import 'package:hadi_hoda_flutter/features/language/presentation/bloc/language_state.dart';
class LanguageBloc extends Bloc<LanguageEvent, LanguageState> {
/// ------------constructor------------
LanguageBloc(
this._getLanguageUseCase,
) : super(const LanguageState()) {
on<GetLanguageEvent>(_getLanguageEvent);
}
/// ------------UseCases------------
final GetLanguageUseCase _getLanguageUseCase;
/// ------------Variables------------
/// ------------Controllers------------
/// ------------Functions------------
/// ------------Api Calls------------
FutureOr<void> _getLanguageEvent(event, emit) async {
await _getLanguageUseCase(event.languageParams).then(
(value) {
value.fold(
(data) {
emit(state.copyWith(getLanguageStatus: BaseComplete<LanguageEntity>(data)));
},
(error) {
emit(state.copyWith(getLanguageStatus: BaseError(error.errorMessage)));
},
);
},
);
}
}