make sure the inner sink is properly typed in JsonDocumentTransformer.bind
diff --git a/pkgs/stream_channel/lib/src/json_document_transformer.dart b/pkgs/stream_channel/lib/src/json_document_transformer.dart index 86b9ae7..40e5155 100644 --- a/pkgs/stream_channel/lib/src/json_document_transformer.dart +++ b/pkgs/stream_channel/lib/src/json_document_transformer.dart
@@ -2,6 +2,7 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. +import 'dart:async'; import 'dart:convert'; import 'package:async/async.dart'; @@ -35,9 +36,10 @@ JsonDocumentTransformer._(this._codec); - StreamChannel bind(StreamChannel<String> channel) { + StreamChannel<Object> bind(StreamChannel<String> channel) { var stream = channel.stream.map(_codec.decode); - var sink = new StreamSinkTransformer.fromHandlers(handleData: (data, sink) { + var sink = new StreamSinkTransformer.fromHandlers( + handleData: (Object data, EventSink<String> sink) { sink.add(_codec.encode(data)); }).bind(channel.sink); return new StreamChannel.withCloseGuarantee(stream, sink);