hypershell_components/
presets.rs1#[cgp::re_export_imports]
2mod preset {
3 use cgp::core::component::UseDelegate;
4 use cgp::extra::handler::{HandlerComponent, Promote};
5 use cgp::prelude::*;
6
7 use crate::components::{StringArgExtractorComponent, UrlArgExtractorComponent};
8 use crate::dsl::{BytesToString, ConvertTo, FieldArg, JoinArgs, Pipe, StaticArg};
9 use crate::providers::{
10 DecodeUtf8Bytes, ExtractFieldArg, ExtractMethodFieldArg, ExtractStaticArg,
11 ExtractStringUrlArg, HandleConvert, HandlePipe, JoinStringArgs,
12 };
13
14 cgp_preset! {
15 HypershellBasePreset {
16 HandlerComponent:
17 BaseHandlerPreset::Provider,
18 StringArgExtractorComponent:
19 BaseStringArgExtractorPreset::Provider,
20 UrlArgExtractorComponent:
21 UrlArgExtractorPreset::Provider,
22 }
23 }
24
25 cgp_preset! {
26 #[wrap_provider(UseDelegate)]
27 BaseStringArgExtractorPreset {
28 <Arg> StaticArg<Arg>:
29 ExtractStaticArg,
30 <Tag> FieldArg<Tag>:
31 ExtractFieldArg,
32 <Args> JoinArgs<Args>:
33 JoinStringArgs,
34 }
35 }
36
37 cgp_preset! {
38 #[wrap_provider(UseDelegate)]
39 UrlArgExtractorPreset {
40 [
41 <Arg> StaticArg<Arg>,
42 <Args> JoinArgs<Args>,
43 ]: ExtractStringUrlArg,
44 <Tag> FieldArg<Tag>:
45 ExtractMethodFieldArg,
46 }
47 }
48
49 cgp_preset! {
50 #[wrap_provider(UseDelegate)]
51 BaseHandlerPreset {
52 BytesToString:
53 DecodeUtf8Bytes,
54 <T> ConvertTo<T>:
55 Promote<HandleConvert>,
56 <Handlers> Pipe<Handlers>:
57 HandlePipe,
58 }
59 }
60}