run method
Implementation
Future<PipelineResult> run(
List<Slide> slides,
List<File> assets,
) async {
final futures = <Future<TaskController>>[];
Future<TaskController> runEachSlide(Slide slide) async {
var controller = TaskController(slide: slide, assets: assets);
for (var task in processors) {
controller = await task.run(controller);
}
return controller;
}
for (var slide in slides) {
futures.add(runEachSlide(slide));
}
final controllers = await Future.wait(futures);
final result = (
slides: controllers.map((e) => e.slide).toList(),
neededAssets: controllers.expand((e) => e.neededAssets).toList(),
);
return result;
}