fileInfo method
Returns metadata for the addressed path without following symlinks.
Implementation
@override
Future<Result<FileInfo, FileError>> fileInfo(String path) async {
final resolved = _normalize(path);
final file = _files[resolved];
if (file != null) {
return Ok(
FileInfo(
name: resolved.split('/').last,
path: resolved,
kind: FileKind.file,
size: file.bytes.length,
mtimeMs: file.mtimeMs,
),
);
}
if (_dirs.contains(resolved)) {
return Ok(
FileInfo(
name: resolved == '/' ? '/' : resolved.split('/').last,
path: resolved,
kind: FileKind.directory,
size: 0,
mtimeMs: 0,
),
);
}
return Err(
FileError(
FileErrorCode.notFound,
'No such file or directory',
path: resolved,
),
);
}