Skip to content

Instantly share code, notes, and snippets.

@myanmarlinks
Created July 8, 2019 16:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save myanmarlinks/f8e98e1869347da22df14293578f50b0 to your computer and use it in GitHub Desktop.
Save myanmarlinks/f8e98e1869347da22df14293578f50b0 to your computer and use it in GitHub Desktop.
Dart Basic Part 4
import 'dart:async';
main(List<String> arguments) {
var controller = StreamController<String>.broadcast();
var streamTransformer = StreamTransformer<String, String>.fromHandlers(
handleData: (String data, EventSink sink) {
switch(data) {
case "fool":
sink.add("You $data");
break;
case "idiot":
sink.add("You're $data");
break;
default:
sink.add(data);
}
},
handleError: (Object error, StackTrace stacktrace, EventSink sink) {
sink.addError('Something went wrong: $error');
},
handleDone: (EventSink sink) {
print("Controller Closed");
sink.close();
}
);
var streamController = controller.stream.transform(streamTransformer);
streamController.listen(print);
streamController.listen(print);
controller.sink.add("fool");
controller.sink.add("idiot");
controller.sink.add("Howdy");
controller.addError("Hello");
controller.sink.close();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment