build property

  1. @override
Resolvable<T> Function() get build
override

Execute all registered plugins, passing the result of all previous ones as input.

Implementation

@override
Resolvable<T> Function() get build {
  return () {
    final seq = TaskSequencer();
    final previousOutputs = <T>[];
    for (final plugin in plugins) {
      seq.then(
        (_) => plugin.execute(previousOutputs).then((e) {
          previousOutputs.add(e);
          return Some(e);
        }),
      );
    }
    return seq.completion.then((e) => previousOutputs.last);
  };
}