1#![doc = include_str!("../README.md")]
2#![warn(missing_docs)]
3
4pub mod component;
5pub mod defer;
6pub mod diagnostics;
7pub mod event;
8pub mod expect;
9pub mod hierarchy;
10pub mod query;
11pub mod reflect;
12pub mod spawn;
13pub mod system;
14
15pub mod prelude {
16 pub use crate::component::{Merge, MergeComponent, MergeFrom, MergeWith};
19 pub use crate::defer::{run_deferred_systems, RunDeferredSystem};
20 pub use crate::event::{AddSingleObserver, OnSingle, SingleEvent, TriggerSingle};
21 pub use crate::expect::Expect;
22 pub use crate::query::{Get, MapQuery};
23 pub use crate::reflect::Registerable;
24 pub use crate::spawn::{SpawnUnrelated, WithChild};
25 pub use crate::Static;
26
27 pub use crate::relationship;
28}
29
30pub fn get_short_name(name: &str) -> String {
34 disqualified::ShortName(name).to_string()
35}
36
37pub fn get_short_type_name<T>() -> String {
39 get_short_name(std::any::type_name::<T>())
40}
41
42pub trait Static: 'static + Send + Sync {}
47
48impl<T: 'static + Send + Sync> Static for T {}