cgp_dispatch/providers/builders/
build_and_merge_outputs.rs1use cgp_core::field::traits::MapFields;
2use cgp_core::prelude::*;
3use cgp_handler::{
4 ComputerComponent, ComputerRefComponent, HandlerComponent, HandlerRefComponent,
5 TryComputerComponent, TryComputerRefComponent,
6};
7
8use crate::{BuildAndMerge, BuildWithHandlers};
9
10delegate_components! {
11 <Output, Handlers: MapFields<ToBuildAndMergeHandler>>
12 new BuildAndMergeOutputs<Output, Handlers> {
13 [
14 ComputerComponent,
15 ComputerRefComponent,
16 TryComputerComponent,
17 TryComputerRefComponent,
18 HandlerComponent,
19 HandlerRefComponent,
20 ]:
21 BuildWithHandlers<Output, Handlers::Mapped>
22 }
23}
24
25pub struct ToBuildAndMergeHandler;
26
27impl MapType for ToBuildAndMergeHandler {
28 type Map<Handler> = BuildAndMerge<Handler>;
29}