#![allow(clippy::type_complexity)]
mod bus;
mod ctx;
mod diagnostics;
mod effect;
mod error;
mod event;
mod fiber;
mod intercept;
mod key;
mod plugin;
mod registry;
mod typed;
pub use bus::{DispatchAttempt, DispatchMode, EventBus, EventSubscription, ListenerKind};
pub use ctx::Ctx;
pub use diagnostics::{
BindingDiagnostics, DependencyDiagnostics, DependencyStatus, EventBacklog, PluginDiagnostics,
ResolvedDependency, RuntimeDiagnostics, ServiceAccess, ServiceChange, ServiceChanged,
};
pub use effect::{Disposer, Effect, EffectMeta, EffectPhase};
pub use error::{
CordisError, ErrorSink, ServiceReadError, ServiceReadFailure, ServiceWriteError,
ServiceWriteFailure,
};
pub use event::{
Event, EventOptions, Listener, Next, PatternListener, PatternWaterfallListener, Terminal,
WaterfallListener,
};
pub use event::{
SyncEvent, SyncListener, SyncNext, SyncPatternListener, SyncPatternWaterfallListener,
SyncWaterfallListener,
};
pub use fiber::{DisposeWaitError, FiberState, FiberStatusChanged, FiberView, PluginId, Snapshot};
pub use intercept::{ServiceIntercept, ServiceWriter};
pub use key::{EventKey, EventPattern, InstanceId, Key, ServiceKey, TypeKey};
pub use plugin::{Plugin, PluginFactory};
pub use typed::{
DepKey, Deps, Gate, Keyed, KeyedGate, Typed, TypedFactory, TypedPlugin, TypedPluginFactory,
};
pub type BoxFuture<'a, T> = std::pin::Pin<Box<dyn std::future::Future<Output = T> + Send + 'a>>;
#[cfg(doctest)]
#[doc = include_str!("../../../docs/development-handbook.md")]
pub struct DevelopmentHandbook;