description

# runZoned<R> method Null safety

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});
    }