veryl_sourcemap/
sourcemap_error.rs

1use miette::{self, Diagnostic};
2use std::path::{Path, PathBuf};
3use thiserror::Error;
4
5#[derive(Error, Diagnostic, Debug)]
6pub enum SourceMapError {
7    #[diagnostic(code(MetadataError::Io), help(""))]
8    #[error("IO error ({path})")]
9    Io {
10        #[source]
11        source: std::io::Error,
12        path: PathBuf,
13    },
14
15    #[diagnostic(code(MetadataError::SourceMap), help(""))]
16    #[error("sourcemap error")]
17    SourceMap(#[from] sourcemap::Error),
18
19    #[diagnostic(code(MetadataError::NotFound), help(""))]
20    #[error("map is not found")]
21    NotFound,
22}
23
24impl SourceMapError {
25    pub fn io(source: std::io::Error, path: &Path) -> SourceMapError {
26        SourceMapError::Io {
27            source,
28            path: path.into(),
29        }
30    }
31}