import 'dart:async';

void main() {
  
  var data = [1,2,3,4,5];
  Stream stream = new Stream.fromIterable(data);
  
  // define a stream transformer
  var transformer = new StreamTransformer.fromHandlers(handleData: (value, sink) {
    // create two new values from the original value
    sink.add("Message: $value");
    sink.add("Body: $value");
  });
  
  stream.transform(transformer).listen((value) => print("listen: $value"));
  
}