You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v.next interface for package:file/file.dart (flutter#7)
* v.next interface for package:file/file.dart
This changes the interface to chiefly expose the FileSystem
abstraction and deal in native dart:io types where at all possible:
- Expose all dart:io file-system static methods as instance methods
on `FileSystem`, to allow injectable implementations (e.g. in-memory,
local, mock, etc.)
- Create FileSystemEntity, File, Directory, Link as abstract classes
that implement their native counterparts and add any extra methods
we choose in this library (initially, only `get fileSystem => Filesystem`)
By going this route, it implies that each FileSystem implementation will
need to provide types that implement both the sync and async APIs (since
they implement the interfaces in native dart:io). However, I still plan
to provide SynchronousFileSystem & AsynchronousFileSystem, which will simply
throw UnsupportedError for the APIs they don't support.
This change will allow existing libraries/apps to seamlessly start using
FileSystem as a drop-in replacement for existing direct dart:io usage.
0 commit comments