OLD | NEW |
| (Empty) |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 library barback.transformer.transformer_group; | |
6 | |
7 /// A [TransformerGroup] encapsulates a phased collection of transformers. | |
8 /// | |
9 /// A transformer group is defined like a collection of phases, such as you | |
10 /// might pass to [Barback.updateTransformers]. Input assets are transformed by | |
11 /// the first phase, whose results are passed to the second phase, and so on. | |
12 /// | |
13 /// However, from the perspective of someone using a [TransformerGroup], it | |
14 /// works just like a [Transformer]. It can be included in phases, and will run | |
15 /// in parallel to other transformers or groups in those phases. Other | |
16 /// transformers and groups will be unable to see any intermediate assets that | |
17 /// are generated by one phase of the group and consumed by another. Phases | |
18 /// after the one containing the group will be able to see its outputs, though. | |
19 class TransformerGroup { | |
20 /// The phases that comprise this group. | |
21 /// | |
22 /// Each element of the inner iterable must be either a [Transformer] or a | |
23 /// [TransformerGroup]. | |
24 final Iterable<Iterable> phases; | |
25 | |
26 TransformerGroup(Iterable<Iterable> phases) | |
27 : this.phases = phases.map((phase) => phase.toList()).toList(); | |
28 | |
29 String toString() => "group of $phases"; | |
30 } | |
OLD | NEW |