walk method

Stream<FileSystemEntity> walk({
  1. dynamic followLinks = false,
})

Return tree List of files starting from the root of type File.

This function uses filter

Implementation

Stream<FileSystemEntity> walk({followLinks: false}) async* {
  if (filter != null) {
    try {
      yield* Directory(root.path)
          .list(recursive: true, followLinks: followLinks)
          .transform(StreamTransformer.fromHandlers(
              handleData: (FileSystemEntity fileOrDir, EventSink eventSink) {
        if (filter!.isValid(fileOrDir.absolute.path, root.absolute.path)) {
          eventSink.add(fileOrDir);
        }
      }));
    } catch (error) {
      throw FileManagerError(permissionMessage + error.toString());
    }
  } else {
    print("Flutter File Manager: walk: No filter");
    yield* Directory(root.path)
        .list(recursive: true, followLinks: followLinks);
  }
}