delete method

Future<bool> delete(
  1. Object paths
)

Deletes one path, or every path in an Iterable<String>.

Returns true when every file existed.

Implementation

Future<bool> delete(Object paths) async {
  final Iterable<String> all = switch (paths) {
    String path => [path],
    Iterable<Object?> many => many.cast<String>(),
    _ => throw ArgumentError.value(
      paths,
      'paths',
      'Expected a path or an Iterable of paths',
    ),
  };
  bool deletedAll = true;
  for (final String path in all) {
    final bool deleted = await _run(path, () async {
      _guardWrite('delete');
      final String target = _resolve(path);
      final bool existed = await driver.delete(target);
      _written(target);
      return existed;
    });
    deletedAll = deleted && deletedAll;
  }
  return deletedAll;
}