scan method

Runs all detectors and returns the detected capabilities.

Implementation

Future<NodeCapabilities> scan() async {
  final results = await Future.wait(detectors.map((d) => d.detect()));
  final found = <Capability>[for (final c in results) ?c];
  return NodeCapabilities(found);
}