finish method

Future<CurrentDependency> finish()

Implementation

Future<CurrentDependency> finish() async {
  assert(_node != null, '''
\n
`DependencyBuilder` can't be finished without any `layer` node.
Possible solution: try to add at least one `.layer(...)`
''');

  final orderedInitializations = _driver._initializationQueue.values.toList()
    ..sort((prev, next) => prev.$1.compareTo(next.$1));

  for (final call in orderedInitializations) {
    await call.$2();
  }
  _driver._stopwatch.stop();
  return _node!._dependency as CurrentDependency;
}