turbo_tasks_fs/
null_fs.rs1use turbo_tasks::{ValueToString, Vc};
4
5use crate::{FileContent, FileMeta, FileSystem, FileSystemPath, LinkContent, RawDirectoryContent};
6
7#[derive(ValueToString)]
8#[value_to_string("null")]
9#[turbo_tasks::value(shared)]
10pub struct NullFileSystem;
11
12#[turbo_tasks::value_impl]
13impl FileSystem for NullFileSystem {
14 #[turbo_tasks::function]
15 fn read(&self, _fs_path: FileSystemPath) -> Vc<FileContent> {
16 FileContent::NotFound.cell()
17 }
18
19 #[turbo_tasks::function]
20 fn read_link(&self, _fs_path: FileSystemPath) -> Vc<LinkContent> {
21 LinkContent::NotFound.cell()
22 }
23
24 #[turbo_tasks::function]
25 fn raw_read_dir(&self, _fs_path: FileSystemPath) -> Vc<RawDirectoryContent> {
26 RawDirectoryContent::not_found()
27 }
28
29 #[turbo_tasks::function]
30 fn write(&self, _fs_path: FileSystemPath, _content: Vc<FileContent>) {}
31
32 #[turbo_tasks::function]
33 fn write_link(&self, _fs_path: FileSystemPath, _target: Vc<LinkContent>) {}
34
35 #[turbo_tasks::function]
36 fn metadata(&self, _fs_path: FileSystemPath) -> Vc<FileMeta> {
37 FileMeta::default().cell()
38 }
39}