Index: pkg/barback/lib/src/phase_input.dart |
diff --git a/pkg/barback/lib/src/phase_input.dart b/pkg/barback/lib/src/phase_input.dart |
index d5945d921b6e9e413336e8d2bfa020a5840059b0..10970221ee62e8b3e491ac19d37c1a0fa54f762a 100644 |
--- a/pkg/barback/lib/src/phase_input.dart |
+++ b/pkg/barback/lib/src/phase_input.dart |
@@ -10,6 +10,7 @@ import 'dart:collection'; |
import 'asset.dart'; |
import 'asset_forwarder.dart'; |
import 'asset_node.dart'; |
+import 'barback_logger.dart'; |
import 'errors.dart'; |
import 'phase.dart'; |
import 'stream_pool.dart'; |
@@ -78,6 +79,11 @@ class PhaseInput { |
bool get isDirty => _adjustTransformersFuture != null || |
_newPassThrough || _transforms.any((transform) => transform.isDirty); |
+ /// A stream that emits an event whenever any transforms that use [input] as |
+ /// their primary input log an entry. |
nweiz
2013/10/16 19:41:27
"log" -> "logs"
Bob Nystrom
2013/10/28 23:45:56
This one's actually correct. :)
|
+ Stream<LogEntry> get onLog => _onLogPool.stream; |
+ final _onLogPool = new StreamPool<LogEntry>.broadcast(); |
+ |
PhaseInput(this._phase, AssetNode input, Iterable<Transformer> transformers) |
: _transformers = transformers.toSet(), |
_inputForwarder = new AssetForwarder(input) { |
@@ -100,6 +106,7 @@ class PhaseInput { |
void remove() { |
_onDirtyController.add(null); |
_onDirtyPool.close(); |
+ _onLogPool.close(); |
_inputForwarder.close(); |
if (_passThroughController != null) { |
_passThroughController.setRemoved(); |
@@ -224,6 +231,7 @@ class PhaseInput { |
var transform = new TransformNode(_phase, transformer, input); |
_transforms.add(transform); |
_onDirtyPool.add(transform.onDirty); |
+ _onLogPool.add(transform.onLog); |
}); |
})); |
} |