hypershell_components/components/
url_arg.rs

1use core::marker::PhantomData;
2
3use cgp::core::component::UseDelegate;
4use cgp::prelude::*;
5
6#[cgp_type]
7pub trait HasUrlType {
8    type Url;
9}
10
11#[cgp_component {
12    provider: UrlArgExtractor,
13    derive_delegate: UseDelegate<Arg>,
14}]
15pub trait CanExtractUrlArg<Arg>: HasUrlType + HasErrorType {
16    fn extract_url_arg(&self, _phantom: PhantomData<Arg>) -> Result<Self::Url, Self::Error>;
17}