plugfox_transformers 1.0.0 copy "plugfox_transformers: ^1.0.0" to clipboard
plugfox_transformers: ^1.0.0 copied to clipboard

discontinued
outdated

Contains the following transformers: - Simultaneous

plugfox_transformers #

chatroom icon Pub

About #

Сontains a set of useful stream transformers

Stream transformers #

  • Simultaneous

How To Use #

For example: Transform myEventsStream #

Stream<String> myGenerator(int event) async* {
  String state;

  state = await Future<String>.delayed(
        const Duration(milliseconds: 250)
      , () => '$event + 2 = ${event + 2}');
  yield state;
  
  state = await Future<String>.delayed(
        const Duration(milliseconds: 500)
      , () => '$event * 2 = ${event * 2}');
  yield state;
  
  state = await Future<String>.delayed(
        const Duration(milliseconds: 750)
      , () => '$event ^ 2 = ${event * event}');
  yield state;
}

final Stream<int> stream = Stream<int>.fromIterable(const <int>[1, 2, 3, 4, 5, 6, 7]);
controller
  .stream
  .transform<String>(Simultaneous<int, String>(myGenerator, maxNumberOfProcesses: 2))
  .forEach(print);

For example: Override bloc package behavior #

@override  
Stream<MyState> transformEvents(
  Stream<MyEvent> events,
  Stream<MyState> Function(MyEvent) next) => 
    events.transform<MyState>(Simultaneous<MyEvent, MyState>(next, maxNumberOfProcesses: 0));

Changelog #

Refer to the Changelog to get all release notes.