diff --git a/lib/core/bloc/transformers/measure_time.dart b/lib/core/bloc/transformers/measure_time.dart index 5d37f5f..bb583cb 100644 --- a/lib/core/bloc/transformers/measure_time.dart +++ b/lib/core/bloc/transformers/measure_time.dart @@ -1,7 +1,6 @@ -import 'dart:async'; - import 'package:flutter/foundation.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:rxdart/rxdart.dart'; /// Example: /// @@ -24,19 +23,12 @@ EventTransformer measureTime({ debugPrint('$blocPrefix ⏱️ Event STARTED: $eventName'); - final controller = StreamController(); - - mapper(event).listen( - controller.add, - onError: controller.addError, - onDone: () { + return mapper(event).doOnDone( + () { stopwatch.stop(); debugPrint('$blocPrefix ⏱️ $eventName: ${stopwatch.elapsedMilliseconds} ms'); - controller.close(); }, ); - - return controller.stream; }, ); }; diff --git a/pubspec.lock b/pubspec.lock index 0edd998..19d00fe 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -603,6 +603,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.5.0" + rxdart: + dependency: "direct main" + description: + name: rxdart + sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962" + url: "https://pub.dev" + source: hosted + version: "0.28.0" shelf: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index c0c88d9..b543dee 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -18,6 +18,7 @@ dependencies: get_it: ^8.0.3 json_annotation: ^4.8.1 shimmer: ^3.0.0 + rxdart: 0.28.0 collection: