summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-02-26 00:51:45 +0800
committer魏曹先生 <1992414357@qq.com>2026-02-26 01:02:42 +0800
commite3aeb6a1c9955eee2c396230317e63becd24ec6a (patch)
tree5c70b2a73fb32ed1a717463c81a99e346d3c25e6 /templates
parentae06e0b30a328508f48c108fabcccdf1d23c5643 (diff)
Replace string type identifiers with TypeId for command output matching
Diffstat (limited to 'templates')
-rw-r--r--templates/_override_renderer_dispatcher.rs.template1
-rw-r--r--templates/_override_renderer_entry.rs.template10
-rw-r--r--templates/_specific_renderer_matching.rs.template16
3 files changed, 13 insertions, 14 deletions
diff --git a/templates/_override_renderer_dispatcher.rs.template b/templates/_override_renderer_dispatcher.rs.template
index 64d2f40..b22c957 100644
--- a/templates/_override_renderer_dispatcher.rs.template
+++ b/templates/_override_renderer_dispatcher.rs.template
@@ -1,3 +1,4 @@
+// Auto generated by build.rs
match renderer_override {
// MATCH
// -- TEMPLATE START --
diff --git a/templates/_override_renderer_entry.rs.template b/templates/_override_renderer_entry.rs.template
index 8b2130d..7912cb0 100644
--- a/templates/_override_renderer_entry.rs.template
+++ b/templates/_override_renderer_entry.rs.template
@@ -1,13 +1,13 @@
// Auto generated by build.rs
-match type_name.as_str() {
+match type_id {
// MATCHING
// -- TEMPLATE START --
- "JVOutputTypeName" => {
+ type_id if type_id == std::any::TypeId::of::<JVOutputType>() => {
let concrete_data = data
.downcast::<JVOutputType>()
.map_err(|_| CmdProcessError::DowncastFailed)?;
- include!("../render/_override_renderer_dispatcher.rs")
- }
+ include!("../render/_override_renderer_dispatcher.rs").map_err(CmdProcessError::Render)
+ },
// -- TEMPLATE END --
- _ => return Err(CmdProcessError::NoMatchingCommand),
+ _ => Err(CmdProcessError::NoMatchingCommand)
}
diff --git a/templates/_specific_renderer_matching.rs.template b/templates/_specific_renderer_matching.rs.template
index 9b3765f..4f1c7d2 100644
--- a/templates/_specific_renderer_matching.rs.template
+++ b/templates/_specific_renderer_matching.rs.template
@@ -1,14 +1,12 @@
-match type_name_str {
+// Auto generated by build.rs
+match type_id {
// MATCHING
// -- TEMPLATE START --
- "OutputTypeName" => {
+ type_id if type_id == std::any::TypeId::of::<OutputType>() => {
RendererType::render(
- &data
- .downcast::<OutputType>()
- .unwrap(),
- )
- .await
- }
+ &data.downcast::<OutputType>()
+ .unwrap()).await
+ },
// -- TEMPLATE END --
- _ => Err(CmdRenderError::RendererNotFound(type_name)),
+ _ => Err(CmdRenderError::RendererNotFound(format!("{:?}", type_id)))
}