1use thiserror::Error;
2
3#[derive(Error, Debug)]
5pub enum DnxError {
6 #[error("Network error: {0}")]
8 Network(String),
9
10 #[error("Registry error: {0}")]
12 Registry(String),
13
14 #[error("Resolution error: {0}")]
16 Resolution(String),
17
18 #[error("Integrity error: {0}")]
20 Integrity(String),
21
22 #[error("Invalid integrity: {0}")]
24 InvalidIntegrity(String),
25
26 #[error("I/O error: {0}")]
28 Io(String),
29
30 #[error("I/O error: {0}")]
32 StdIo(#[from] std::io::Error),
33
34 #[error("JSON error: {0}")]
36 Json(#[from] serde_json::Error),
37
38 #[error("Parse error: {0}")]
40 ParseError(String),
41
42 #[error("TOML error: {0}")]
44 Toml(String),
45
46 #[error("Cache error: {0}")]
48 Cache(String),
49
50 #[error("Linker error: {0}")]
52 Linker(String),
53
54 #[error("Lockfile error: {0}")]
56 Lockfile(String),
57
58 #[error("Package not found: {0}")]
60 PackageNotFound(String),
61
62 #[error("Version {version} not found for package {package}")]
64 VersionNotFound { package: String, version: String },
65
66 #[error("Configuration error: {0}")]
68 Config(String),
69
70 #[error("Workspace error: {0}")]
72 Workspace(String),
73
74 #[error("Catalog error: {0}")]
76 Catalog(String),
77
78 #[error("Patch error: {0}")]
80 Patch(String),
81
82 #[error("Publish error: {0}")]
84 Publish(String),
85
86 #[error("Hook error: {0}")]
88 Hook(String),
89
90 #[error("Process lock error: {0}")]
92 ProcessLock(String),
93}
94
95pub type Result<T> = std::result::Result<T, DnxError>;