nc-photos/app/lib/bloc_util.dart
2023-08-20 00:52:06 +08:00

27 lines
644 B
Dart

import 'package:flutter_bloc/flutter_bloc.dart';
mixin BlocLogger {
String? get tag => null;
bool Function(dynamic currentState, dynamic nextState)? get shouldLog => null;
}
/// Wrap around a string such that two strings with the same value will fail
/// the identical check
class StateMessage {
StateMessage(this.value);
final String value;
}
extension EmitterExtension<State> on Emitter<State> {
Future<void> forEachIgnoreError<T>(
Stream<T> stream, {
required State Function(T data) onData,
}) =>
onEach<T>(
stream,
onData: (data) => call(onData(data)),
onError: (_, __) {},
);
}