sercon/sercon-backends/src/backends.rs
2022-02-22 21:27:36 +01:00

21 lines
520 B
Rust

macro_rules! backends {
($($name:ident),* $(,)?) => ($(
mod $name;
pub use self::$name::*;
)*)
}
macro_rules! impl_filetype_backend {
($type:ty, [$($ft:expr),* $(,)?]) => (
impl crate::FiletypeBackend for $type {
fn supported_filetypes(&self) -> Vec<String> {
vec![$(String::from($ft)),*]
}
fn as_backend(&self) -> &dyn Backend { self }
}
)
}
backends![bincode, cbor, json, nbt, ron, s_expression, toml, xml, yaml,];