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;
12pub mod tls_policy;
13
14pub use node_id::NodeId;
15pub use smol_str::SmolStr;
16
17/// Re-exported because the public fields of [`events::BlitzKeyEvent`] and
18/// [`events::BlitzPointerEvent`] are built from these types.
19///
20/// Without this, anything that wants to synthesise a [`events::UiEvent`] has to
21/// take its own dependency on `keyboard-types` and pin it to whatever version
22/// this crate happens to resolve. That is not a version a consumer can discover
23/// from the API, and getting it wrong produces a type mismatch rather than a
24/// version error. Re-exporting makes the event API constructible from the crate
25/// that defines it.
26pub use keyboard_types;