ispectify_bloc 4.1.2 copy "ispectify_bloc: ^4.1.2" to clipboard
ispectify_bloc: ^4.1.2 copied to clipboard

An additional package for BLoC (logging and handling).

example/ispectify_bloc_example.dart

// ignore_for_file: unreachable_from_main

import 'package:bloc/bloc.dart';
import 'package:ispectify_bloc/ispectify_bloc.dart';

void main() async {
  Bloc.observer = ISpectifyBlocObserver(
    settings: const ISpectifyBlocSettings(
      printEventFullData: false,
    ),
  );
  final somethingBloc = SomethingBloc()
    ..add(const LoadSomething(LoadSomethingCase.successful));
  await Future<void>.delayed(const Duration(milliseconds: 300));
  somethingBloc.add(const LoadSomething(LoadSomethingCase.failure));
}

enum LoadSomethingCase { successful, failure }

class SomethingBloc extends Bloc<SomethingEvent, SomethingState> {
  SomethingBloc() : super(SomethingInitial()) {
    on<LoadSomething>((event, emit) {
      emit(SomethingLoading());
      if (event.loadCase == LoadSomethingCase.successful) {
        emit(SomethingLoaded());
        return;
      }
      throw Exception('Load something failure');
    });
  }
}

abstract class SomethingEvent {
  const SomethingEvent();
}

class LoadSomething extends SomethingEvent {
  const LoadSomething(this.loadCase);

  final LoadSomethingCase loadCase;
}

abstract class SomethingState {}

class SomethingInitial extends SomethingState {}

class SomethingLoading extends SomethingState {}

class SomethingLoaded extends SomethingState {}

class SomethingLoadingFailure extends SomethingState {
  SomethingLoadingFailure(this.error);
  final Object? error;
}
0
likes
0
points
1.24k
downloads

Publisher

verified publishershodev.live

Weekly Downloads

An additional package for BLoC (logging and handling).

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

bloc, ispectify, meta

More

Packages that depend on ispectify_bloc