asimov_patterns/
execute.rs

1// This is free and unencumbered software released into the public domain.
2
3#![allow(unused_imports)]
4
5use async_trait::async_trait;
6use dogma::prelude::{Box, Result};
7
8/// Asynchronous execution with error handling.
9#[async_trait]
10pub trait Execute<T, E> {
11    async fn execute(&mut self) -> Result<T, E>;
12}
13
14mod adapter;
15pub use adapter::*;
16
17mod cataloger;
18pub use cataloger::*;
19
20mod emitter;
21pub use emitter::*;
22
23mod fetcher;
24pub use fetcher::*;
25
26mod importer;
27pub use importer::*;
28
29mod prompter;
30pub use prompter::*;
31
32mod provider;
33pub use provider::*;
34
35mod reader;
36pub use reader::*;
37
38mod reasoner;
39pub use reasoner::*;
40
41mod registrar;
42pub use registrar::*;
43
44mod runner;
45pub use runner::*;
46
47mod searcher;
48pub use searcher::*;
49
50mod writer;
51pub use writer::*;