forEach static method

RIO<Toolchain, Unit> forEach({
  1. required Future<void> process(
    1. Device device
    ),
  2. required Iterable<String> nameOrIds,
  3. Duration bootTimeout = const Duration(minutes: 3),
  4. Duration shutdownTimeout = const Duration(seconds: 15),
})

Implementation

static RIO<Toolchain, Unit> forEach({
  required Future<void> Function(Device device) process,
  required Iterable<String> nameOrIds,
  Duration bootTimeout = const Duration(minutes: 3),
  Duration shutdownTimeout = const Duration(seconds: 15),
}) =>
    list.flatMap(
      (devices) => nameOrIds
          .map(
            (d) => _findDevice(devices, d)
                .flatMap(
                  (_) => _processDevice(
                    _,
                    process,
                    bootTimeout: bootTimeout,
                    shutdownTimeout: shutdownTimeout,
                  ),
                )
                .ignoreLogged,
          )
          .collectDiscard
          .lift(),
    );