spacegate_config/service/config_format.rs
1use std::ffi::OsStr;
2pub mod json;
3pub mod toml;
4// pub mod yaml;
5
6pub trait ConfigFormat {
7 fn extension(&self) -> &OsStr;
8 fn de<T: serde::de::DeserializeOwned>(&self, slice: &[u8]) -> Result<T, BoxError>;
9 fn ser<T: serde::Serialize>(&self, t: &T) -> Result<Vec<u8>, BoxError>;
10}
11
12use crate::BoxError;
13pub use json::Json;
14pub use toml::Toml;