tinymist_vfs/
dummy.rs

1use std::path::Path;
2
3use tinymist_std::ImmutPath;
4use typst::diag::{FileError, FileResult};
5
6use crate::{AccessModel, Bytes, FileId, PathAccessModel};
7
8/// Provides dummy access model.
9///
10/// Note: we can still perform compilation with dummy access model, since
11/// [`super::Vfs`] will make a overlay access model over the provided dummy
12/// access model.
13#[derive(Default, Debug, Clone, Copy)]
14pub struct DummyAccessModel;
15
16impl AccessModel for DummyAccessModel {
17    fn content(&self, _src: FileId) -> (Option<ImmutPath>, FileResult<Bytes>) {
18        (None, Err(FileError::AccessDenied))
19    }
20}
21
22impl PathAccessModel for DummyAccessModel {
23    fn content(&self, _src: &Path) -> FileResult<Bytes> {
24        Err(FileError::AccessDenied)
25    }
26}