Index: sdk/lib/_internal/pub/test/serve/utils.dart |
diff --git a/sdk/lib/_internal/pub/test/serve/utils.dart b/sdk/lib/_internal/pub/test/serve/utils.dart |
index 0b74fc86946fd523483a2261ff3a7ccddb4fdbb4..a1637f137fc2ee0df52b3fb51ea945e0ae144b38 100644 |
--- a/sdk/lib/_internal/pub/test/serve/utils.dart |
+++ b/sdk/lib/_internal/pub/test/serve/utils.dart |
@@ -57,6 +57,32 @@ class RewriteTransformer extends Transformer { |
} |
"""; |
+/// The code for a lazy version of [REWRITE_TRANSFORMER]. |
+const LAZY_TRANSFORMER = """ |
+import 'dart:async'; |
+ |
+import 'package:barback/barback.dart'; |
+ |
+class LazyRewriteTransformer extends Transformer implements LazyTransformer { |
+ LazyRewriteTransformer.asPlugin(); |
+ |
+ String get allowedExtensions => '.txt'; |
+ |
+ Future apply(Transform transform) { |
+ transform.logger.info('Rewriting \${transform.primaryInput.id}.'); |
+ return transform.primaryInput.readAsString().then((contents) { |
+ var id = transform.primaryInput.id.changeExtension(".out"); |
+ transform.addOutput(new Asset.fromString(id, "\$contents.out")); |
+ }); |
+ } |
+ |
+ Future declareOutputs(DeclaringTransform transform) { |
+ transform.declareOutput(transform.primaryId.changeExtension(".out")); |
+ return new Future.value(); |
+ } |
+} |
+"""; |
+ |
/// The web socket error code for a directory not being served. |
const NOT_SERVED = 1; |