runZoned<R> method

R runZoned <R>(
  1. R body( ),
  2. {Directory createDirectory(
    1. String
    ),
  3. Directory getCurrentDirectory( ),
  4. void setCurrentDirectory(
    1. String
    ),
  5. Directory getSystemTempDirectory( ),
  6. File createFile(
    1. String
    ),
  7. Future<FileStat> stat(
    1. String
    ),
  8. FileStat statSync(
    1. String
    ),
  9. Future<bool> fseIdentical(
    1. String,
    2. String
    ),
  10. bool fseIdenticalSync(
    1. String,
    2. String
    ),
  11. Future<FileSystemEntityType> fseGetType(
    1. String,
    2. bool
    ),
  12. FileSystemEntityType fseGetTypeSync(
    1. String,
    2. bool
    ),
  13. Stream<FileSystemEvent> fsWatch(
    1. String,
    2. int,
    3. bool
    ),
  14. bool fsWatchIsSupported( ),
  15. Link createLink(
    1. String
    ),
  16. Future<Socket> socketConnect(
    1. dynamic,
    2. int,
    3. {dynamic sourceAddress,
    4. Duration? timeout}
    ),
  17. Future<ConnectionTask<Socket>> socketStartConnect(
    1. dynamic,
    2. int,
    3. {dynamic sourceAddress}
    ),
  18. Future<ServerSocket> serverSocketBind(
    1. dynamic,
    2. int,
    3. {int backlog,
    4. bool shared,
    5. bool v6Only}
    )}
)

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,

    // ServerSocket
    Future<ServerSocket> Function(dynamic, int,
            {int backlog, bool v6Only, bool shared})?
        serverSocketBind}) {
  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,

    // ServerSocket
    serverSocketBind,
  );
  return _asyncRunZoned<R>(body, zoneValues: {_ioOverridesToken: overrides});
}

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dart.dev/stable/2.13.0/dart-io/IOOverrides/runZoned.html