hermes_cli_components/traits/
build.rs

1use cgp::prelude::*;
2
3#[derive_component(BuilderTypeComponent, ProvideBuilderType<App>)]
4pub trait HasBuilderType: Async {
5    type Builder: Async;
6}
7
8pub type BuilderOf<Context> = <Context as HasBuilderType>::Builder;
9
10#[derive_component(BuilderLoaderComponent, BuilderLoader<App>)]
11#[async_trait]
12pub trait CanLoadBuilder: HasBuilderType + HasErrorType {
13    async fn load_builder(&self) -> Result<Self::Builder, Self::Error>;
14}