From e1b8f6bc80c361070265484fcc442f7923523c1e Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sat, 20 Jun 2026 00:17:21 +0800 Subject: Move to_chain and to_render to Groupped trait --- mingling_core/src/any/group.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'mingling_core/src') diff --git a/mingling_core/src/any/group.rs b/mingling_core/src/any/group.rs index 04701f2..c251286 100644 --- a/mingling_core/src/any/group.rs +++ b/mingling_core/src/any/group.rs @@ -1,5 +1,21 @@ +use crate::{AnyOutput, ChainProcess}; + /// Used to mark a type with a unique enum ID, assisting dynamic dispatch pub trait Groupped { /// Returns the specific enum value representing its ID within that enum fn member_id() -> Group; + + /// Converts the grouped item into a `ChainProcess` directed to the chain route. + /// + /// This wraps the item into an `AnyOutput` and routes it to the chain processing pipeline. + fn to_chain(self) -> ChainProcess { + AnyOutput::new(self).route_chain() + } + + /// Converts the grouped item into a `ChainProcess` directed to the render route. + /// + /// This wraps the item into an `AnyOutput` and routes it to the render processing pipeline. + fn to_render(self) -> ChainProcess { + AnyOutput::new(self).route_renderer() + } } -- cgit