#![cfg_attr(docsrs, feature(doc_cfg))]
mod dioxus_document;
mod events;
mod mutation_writer;
pub use blitz_dom::DocumentConfig;
pub use dioxus_document::DioxusDocument;
use blitz_dom::{ns, LocalName, Namespace, QualName};
type NodeId = usize;
pub(crate) fn qual_name(local_name: &str, namespace: Option<&str>) -> QualName {
QualName {
prefix: None,
ns: namespace.map(Namespace::from).unwrap_or(ns!(html)),
local: LocalName::from(local_name),
}
}
macro_rules! trace {
($pattern:literal) => {{
#[cfg(feature = "tracing")]
tracing::debug!($pattern);
}};
($pattern:literal, $item1:expr) => {{
#[cfg(feature = "tracing")]
tracing::debug!($pattern, $item1);
}};
($pattern:literal, $item1:expr, $item2:expr) => {{
#[cfg(feature = "tracing")]
tracing::debug!($pattern, $item1, $item2);
}};
($pattern:literal, $item1:expr, $item2:expr, $item3:expr) => {{
#[cfg(feature = "tracing")]
tracing::debug!($pattern, $item1, $item2);
}};
($pattern:literal, $item1:expr, $item2:expr, $item3:expr, $item4:expr) => {{
#[cfg(feature = "tracing")]
tracing::debug!($pattern, $item1, $item2, $item3, $item4);
}};
}
pub(crate) use trace;