readTextFile method

  1. @override
Future<Result<String, FileError>> readTextFile(
  1. String path
)
override

Reads a UTF-8 text file.

Implementation

@override
Future<Result<String, FileError>> readTextFile(String path) async {
  final resolved = _resolve(path);
  try {
    final stat = await FileStat.stat(resolved);
    if (stat.type == FileSystemEntityType.directory) {
      return Err(
        FileError(
          FileErrorCode.isDirectory,
          'Is a directory',
          path: resolved,
        ),
      );
    }
    return Ok(await File(resolved).readAsString());
  } on Object catch (error) {
    return Err(_toFileError(error, resolved));
  }
}