veryl_sourcemap/
sourcemap_error.rs1use 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}