blitz_traits/lib.rs
1//! Types and traits to enable interoperability between the other Blitz crates without
2//! circular or unnecessary dependencies.
3
4pub mod devtools;
5pub mod events;
6pub mod navigation;
7pub mod net;
8pub mod node_id;
9pub mod platform;
10pub mod profiling;
11pub mod shell;
12
13pub use node_id::NodeId;
14pub use smol_str::SmolStr;
15
16/// Re-exported because the public fields of [`events::BlitzKeyEvent`] and
17/// [`events::BlitzPointerEvent`] are built from these types.
18///
19/// Without this, anything that wants to synthesise a [`events::UiEvent`] has to
20/// take its own dependency on `keyboard-types` and pin it to whatever version
21/// this crate happens to resolve. That is not a version a consumer can discover
22/// from the API, and getting it wrong produces a type mismatch rather than a
23/// version error. Re-exporting makes the event API constructible from the crate
24/// that defines it.
25pub use keyboard_types;