1use thiserror::Error;
13use serde::{Serialize, Deserialize};
14
15#[derive(Error, Debug)]
16pub enum Error {
17 #[error("Generic error: {0}")]
18 Generic(String),
19
20 #[error("Not implemented")]
21 NotImplemented,
22}
23
24pub type Result<T> = std::result::Result<T, Error>;
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28pub struct Config {
29 pub enabled: bool,
30}
31
32impl Default for Config {
33 fn default() -> Self {
34 Self { enabled: true }
35 }
36}
37
38pub fn init() -> Result<()> {
40 Ok(())
41}
42
43#[cfg(test)]
44mod tests {
45 use super::*;
46
47 #[test]
48 fn test_init() {
49 assert!(init().is_ok());
50 }
51
52 #[test]
53 fn test_config() {
54 let config = Config::default();
55 assert!(config.enabled);
56 }
57}