#![deny(missing_docs, missing_debug_implementations)]
pub use bumpalo;
cfg_if::cfg_if! {
if #[cfg(feature = "log")] {
#[macro_use]
extern crate log;
} else {
#[macro_use]
mod logging;
}
}
cfg_if::cfg_if! {
if #[cfg(feature = "xxx-unstable-internal-use-only")] {
macro_rules! pub_unstable_internal {
( $(#[$attr:meta])* pub(crate) $( $thing:tt )* ) => {
#[doc(hidden)]
$( #[$attr] )*
pub $( $thing )*
}
}
} else {
macro_rules! pub_unstable_internal {
( $(#[$attr:meta])* pub(crate) $( $thing:tt )* ) => {
$( #[$attr] )*
pub(crate) $( $thing )*
}
}
}
}
#[doc(hidden)]
pub mod change_list;
mod cached;
mod cached_set;
mod diff;
mod events;
mod node;
mod render;
mod render_context;
mod strace;
mod vdom;
pub mod builder;
pub use self::cached::Cached;
pub use self::node::{Attribute, Listener, Node, NodeKey};
pub use self::render::{Render, RootRender};
pub use self::render_context::RenderContext;
pub use self::vdom::{Vdom, VdomWeak};
cfg_if::cfg_if! {
if #[cfg(all(target_arch = "wasm32", not(feature = "xxx-unstable-internal-use-only")))] {
use wasm_bindgen::__rt::WasmRefCell as RefCell;
} else {
use std::cell::RefCell;
}
}
cfg_if::cfg_if! {
if #[cfg(all(feature = "xxx-unstable-internal-use-only", not(target_arch = "wasm32")))] {
pub type Element = ();
pub(crate) type EventsTrampoline = ();
} else {
pub type Element = web_sys::Element;
pub(crate) type EventsTrampoline = wasm_bindgen::closure::Closure<dyn Fn(web_sys::Event, u32, u32)>;
}
}
cfg_if::cfg_if! {
if #[cfg(feature = "xxx-unstable-internal-use-only")] {
pub use self::cached_set::{CachedSet};
pub use self::node::{ElementNode, NodeKind, TextNode};
}
}