diff options
Diffstat (limited to 'templates')
| -rw-r--r-- | templates/_override_renderer_dispatcher.rs.template | 1 | ||||
| -rw-r--r-- | templates/_override_renderer_entry.rs.template | 10 | ||||
| -rw-r--r-- | templates/_specific_renderer_matching.rs.template | 16 |
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))) } |
