trash_bloc.dart 1012 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import 'package:app_flowy/workspace/domain/i_trash.dart';
  2. import 'package:dartz/dartz.dart';
  3. import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
  4. import 'package:flutter_bloc/flutter_bloc.dart';
  5. import 'package:freezed_annotation/freezed_annotation.dart';
  6. part 'trash_bloc.freezed.dart';
  7. class TrashBloc extends Bloc<TrashEvent, TrashState> {
  8. final ITrash iTrash;
  9. TrashBloc(this.iTrash) : super(TrashState.init());
  10. @override
  11. Stream<TrashState> mapEventToState(TrashEvent event) async* {
  12. yield* event.map(
  13. initial: (e) async* {
  14. yield state;
  15. },
  16. );
  17. }
  18. }
  19. @freezed
  20. class TrashEvent with _$TrashEvent {
  21. const factory TrashEvent.initial() = Initial;
  22. }
  23. @freezed
  24. class TrashState with _$TrashState {
  25. const factory TrashState({
  26. required List<TrashObject> objects,
  27. required Either<Unit, WorkspaceError> successOrFailure,
  28. }) = _TrashState;
  29. factory TrashState.init() => TrashState(
  30. objects: [],
  31. successOrFailure: left(unit),
  32. );
  33. }