callbackToStream<T> function

Stream<T> callbackToStream<T>(
  1. String name
)

Implementation

Stream<T> callbackToStream<T>(String name) {
  var controller = StreamController<T>(sync: true);
  setProperty(context['self'], name, allowInterop((MessageEvent event) {
    final data = dartify(getProperty(event, 'data'));
    if (data is Map && data['type'] == 'IsolateStreamDone') {
      controller.close();
      return;
    }
    controller.add(data as T);
  }));
  return controller.stream;
}