From a127d6f3cf2741d4dc404959c5481fa61651e133 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sat, 16 May 2026 00:07:59 +0800 Subject: Refactor general_renderer into granular format-specific features --- mingling_core/src/renderer/general.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'mingling_core/src/renderer') diff --git a/mingling_core/src/renderer/general.rs b/mingling_core/src/renderer/general.rs index 3808e5a..7d07bac 100644 --- a/mingling_core/src/renderer/general.rs +++ b/mingling_core/src/renderer/general.rs @@ -15,6 +15,7 @@ pub struct GeneralRenderer; impl GeneralRenderer { // Renders data in the specified format to the given RenderResult. + #[allow(unused_variables)] pub fn render( data: &T, setting: &GeneralRendererSetting, @@ -22,16 +23,23 @@ impl GeneralRenderer { ) -> Result<(), GeneralRendererSerializeError> { match setting { GeneralRendererSetting::Disable => Ok(()), + #[cfg(feature = "json_serde_fmt")] GeneralRendererSetting::Json => Self::render_to_json(data, r), + #[cfg(feature = "json_serde_fmt")] GeneralRendererSetting::JsonPretty => Self::render_to_json_pretty(data, r), + #[cfg(feature = "yaml_serde_fmt")] GeneralRendererSetting::Yaml => Self::render_to_yaml(data, r), + #[cfg(feature = "toml_serde_fmt")] GeneralRendererSetting::Toml => Self::render_to_toml(data, r), + #[cfg(feature = "ron_serde_fmt")] GeneralRendererSetting::Ron => Self::render_to_ron(data, r), + #[cfg(feature = "ron_serde_fmt")] GeneralRendererSetting::RonPretty => Self::render_to_ron_pretty(data, r), } } /// Serializes data to JSON format and writes it to the render result. + #[cfg(feature = "json_serde_fmt")] pub fn render_to_json( data: &T, r: &mut RenderResult, @@ -43,6 +51,7 @@ impl GeneralRenderer { } /// Serializes data to pretty-printed JSON format and writes it to the render result. + #[cfg(feature = "json_serde_fmt")] pub fn render_to_json_pretty( data: &T, r: &mut RenderResult, @@ -54,6 +63,7 @@ impl GeneralRenderer { } /// Serializes data to RON format and writes it to the render result. + #[cfg(feature = "ron_serde_fmt")] pub fn render_to_ron( data: &T, r: &mut RenderResult, @@ -65,6 +75,7 @@ impl GeneralRenderer { } /// Serializes data to pretty-printed RON format and writes it to the render result. + #[cfg(feature = "ron_serde_fmt")] pub fn render_to_ron_pretty( data: &T, r: &mut RenderResult, @@ -80,6 +91,7 @@ impl GeneralRenderer { } /// Serializes data to TOML format and writes it to the render result. + #[cfg(feature = "toml_serde_fmt")] pub fn render_to_toml( data: &T, r: &mut RenderResult, @@ -91,6 +103,7 @@ impl GeneralRenderer { } /// Serializes data to YAML format and writes it to the render result. + #[cfg(feature = "yaml_serde_fmt")] pub fn render_to_yaml( data: &T, r: &mut RenderResult, -- cgit