OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 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 | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library barback.transformer.transformer_group; | 5 library barback.transformer_group; |
6 | 6 |
7 /// A [TransformerGroup] encapsulates a phased collection of transformers. | 7 /// A [TransformerGroup] encapsulates a phased collection of transformers. |
8 /// | 8 /// |
9 /// A transformer group is defined like a collection of phases, such as you | 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 | 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. | 11 /// the first phase, whose results are passed to the second phase, and so on. |
12 /// | 12 /// |
13 /// However, from the perspective of someone using a [TransformerGroup], it | 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 | 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 | 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 | 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 | 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. | 18 /// after the one containing the group will be able to see its outputs, though. |
19 class TransformerGroup { | 19 class TransformerGroup { |
20 /// The phases that comprise this group. | 20 /// The phases that comprise this group. |
21 /// | 21 /// |
22 /// Each element of the inner iterable must be either a [Transformer] or a | 22 /// Each element of the inner iterable must be either a [Transformer] or a |
23 /// [TransformerGroup]. | 23 /// [TransformerGroup]. |
24 final Iterable<Iterable> phases; | 24 final Iterable<Iterable> phases; |
25 | 25 |
26 TransformerGroup(Iterable<Iterable> phases) | 26 TransformerGroup(Iterable<Iterable> phases) |
27 : this.phases = phases.map((phase) => phase.toList()).toList(); | 27 : this.phases = phases.map((phase) => phase.toList()).toList(); |
28 | 28 |
29 String toString() => "group of $phases"; | 29 String toString() => "group of $phases"; |
30 } | 30 } |
OLD | NEW |