summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cmds/override/renderer/ron.rs17
-rw-r--r--src/cmds/override/renderer/ron_pretty.rs20
-rw-r--r--src/cmds/override/renderer/toml.rs16
-rw-r--r--src/cmds/override/renderer/yaml.rs16
4 files changed, 69 insertions, 0 deletions
diff --git a/src/cmds/override/renderer/ron.rs b/src/cmds/override/renderer/ron.rs
new file mode 100644
index 0000000..8cd0bbd
--- /dev/null
+++ b/src/cmds/override/renderer/ron.rs
@@ -0,0 +1,17 @@
+use serde::Serialize;
+
+use crate::{
+ r_print,
+ systems::{cmd::errors::CmdRenderError, render::renderer::JVRenderResult},
+};
+
+pub async fn render<T: Serialize + Send>(data: &T) -> Result<JVRenderResult, CmdRenderError> {
+ let mut r = JVRenderResult::default();
+
+ let ron_string =
+ ron::ser::to_string(data).map_err(|e| CmdRenderError::SerializeFailed(e.to_string()))?;
+
+ r_print!(r, "{}", ron_string);
+
+ Ok(r)
+}
diff --git a/src/cmds/override/renderer/ron_pretty.rs b/src/cmds/override/renderer/ron_pretty.rs
new file mode 100644
index 0000000..cd6b7d5
--- /dev/null
+++ b/src/cmds/override/renderer/ron_pretty.rs
@@ -0,0 +1,20 @@
+use serde::Serialize;
+
+use crate::{
+ r_print,
+ systems::{cmd::errors::CmdRenderError, render::renderer::JVRenderResult},
+};
+
+pub async fn render<T: Serialize + Send>(data: &T) -> Result<JVRenderResult, CmdRenderError> {
+ let mut r = JVRenderResult::default();
+ let mut pretty_config = ron::ser::PrettyConfig::new();
+ pretty_config.new_line = std::borrow::Cow::from("\n");
+ pretty_config.indentor = std::borrow::Cow::from(" ");
+
+ let ron_string = ron::ser::to_string_pretty(data, pretty_config)
+ .map_err(|e| CmdRenderError::SerializeFailed(e.to_string()))?;
+
+ r_print!(r, "{}", ron_string);
+
+ Ok(r)
+}
diff --git a/src/cmds/override/renderer/toml.rs b/src/cmds/override/renderer/toml.rs
new file mode 100644
index 0000000..83de042
--- /dev/null
+++ b/src/cmds/override/renderer/toml.rs
@@ -0,0 +1,16 @@
+use serde::Serialize;
+
+use crate::{
+ r_print,
+ systems::{cmd::errors::CmdRenderError, render::renderer::JVRenderResult},
+};
+
+pub async fn render<T: Serialize + Send>(data: &T) -> Result<JVRenderResult, CmdRenderError> {
+ let mut r = JVRenderResult::default();
+ let toml_string =
+ toml::to_string(data).map_err(|e| CmdRenderError::SerializeFailed(e.to_string()))?;
+
+ r_print!(r, "{}", toml_string);
+
+ Ok(r)
+}
diff --git a/src/cmds/override/renderer/yaml.rs b/src/cmds/override/renderer/yaml.rs
new file mode 100644
index 0000000..a496fe7
--- /dev/null
+++ b/src/cmds/override/renderer/yaml.rs
@@ -0,0 +1,16 @@
+use serde::Serialize;
+
+use crate::{
+ r_print,
+ systems::{cmd::errors::CmdRenderError, render::renderer::JVRenderResult},
+};
+
+pub async fn render<T: Serialize + Send>(data: &T) -> Result<JVRenderResult, CmdRenderError> {
+ let mut r = JVRenderResult::default();
+ let yaml_string =
+ serde_yaml::to_string(data).map_err(|e| CmdRenderError::SerializeFailed(e.to_string()))?;
+
+ r_print!(r, "{}", yaml_string);
+
+ Ok(r)
+}