runZoned<R> method
Runs body
in a fresh Zone using the provided overrides.
See the documentation on the corresponding methods of IOOverrides for information about what the optional arguments do.
Implementation
static R runZoned<R>(R body(),
{
// Directory
Directory Function(String) createDirectory,
Directory Function() getCurrentDirectory,
void Function(String) setCurrentDirectory,
Directory Function() getSystemTempDirectory,
// File
File Function(String) createFile,
// FileStat
Future<FileStat> Function(String) stat,
FileStat Function(String) statSync,
// FileSystemEntity
Future<bool> Function(String, String) fseIdentical,
bool Function(String, String) fseIdenticalSync,
Future<FileSystemEntityType> Function(String, bool) fseGetType,
FileSystemEntityType Function(String, bool) fseGetTypeSync,
// _FileSystemWatcher
Stream<FileSystemEvent> Function(String, int, bool) fsWatch,
bool Function() fsWatchIsSupported,
// Link
Link Function(String) createLink,
// Socket
Future<Socket> Function(dynamic, int,
{dynamic sourceAddress, Duration timeout})
socketConnect,
Future<ConnectionTask<Socket>> Function(dynamic, int,
{dynamic sourceAddress})
socketStartConnect,
// Optional Zone parameters
ZoneSpecification zoneSpecification,
Function onError}) {
IOOverrides overrides = new _IOOverridesScope(
// Directory
createDirectory,
getCurrentDirectory,
setCurrentDirectory,
getSystemTempDirectory,
// File
createFile,
// FileStat
stat,
statSync,
// FileSystemEntity
fseIdentical,
fseIdenticalSync,
fseGetType,
fseGetTypeSync,
// _FileSystemWatcher
fsWatch,
fsWatchIsSupported,
// Link
createLink,
// Socket
socketConnect,
socketStartConnect,
);
return _asyncRunZoned<R>(body,
zoneValues: {_ioOverridesToken: overrides},
zoneSpecification: zoneSpecification,
onError: onError);
}