terrazzo-client 0.2.12

A simple macro to clone variables before passing them into a `move` closure or async block.
Documentation
//! Public-facing client library
//!
//! These symbols are used by the code generated by the `#[template]` and `#[html]` macros
//! and should always be imported, e.g.:
//!
//! ```
//! # use terrazzo_client as terrazzo;
//! use terrazzo::prelude::*;
//! ```

pub use wasm_bindgen::closure::Closure;
pub use web_sys::Element;

pub use crate::attribute::XAttribute;
pub use crate::attribute::id::XAttributeId;
pub use crate::attribute::name::XAttributeKind;
pub use crate::attribute::name::XAttributeName;
pub use crate::attribute::template::XAttributeTemplate;
pub use crate::attribute::value::XAttributeValue;
pub use crate::element::OnRenderCallback;
pub use crate::element::XElement;
pub use crate::element::XElementValue;
pub use crate::element::XEvent;
pub use crate::element::template::LiveElement;
pub use crate::element::template::XTemplate;
pub use crate::key::XKey;
pub use crate::node::XNode;
pub use crate::node::XText;
pub use crate::signal::UpdateAndReturn;
pub use crate::signal::UpdateSignalResult;
pub use crate::signal::XSignal;
pub use crate::signal::batch::Batch;
pub use crate::signal::derive::if_change;
pub use crate::signal::mutable_signal::MutableSignal;
pub use crate::signal::reactive_closure::reactive_closure_builder::BindReactiveClosure;
pub use crate::signal::reactive_closure::reactive_closure_builder::Consumers;
pub use crate::signal::reactive_closure::reactive_closure_builder::ReactiveClosureBuilder;
pub use crate::signal::reactive_closure::reactive_closure_builder::make_reactive_closure;
pub use crate::signal::weak::XSignalWeak;
pub use crate::string::XString;
pub use crate::template::IsTemplate;
pub use crate::template::IsTemplated;
pub use crate::utils::Ptr;
pub use crate::utils::UiThreadSafe;
pub use crate::utils::or_else_log::OrElseLog;

#[cfg(feature = "diagnostics")]
pub mod diagnostics {
    pub use ::tracing::Instrument;
    pub use ::tracing::Level;
    pub use ::tracing::debug;
    pub use ::tracing::debug_span;
    pub use ::tracing::enabled;
    pub use ::tracing::error;
    pub use ::tracing::error_span;
    pub use ::tracing::info;
    pub use ::tracing::info_span;
    pub use ::tracing::trace;
    pub use ::tracing::trace_span;
    pub use ::tracing::warn;
    pub use ::tracing::warn_span;

    pub mod span {
        pub use ::tracing::span::EnteredSpan;
        pub use ::tracing::span::Span;
    }
}

#[cfg(not(feature = "diagnostics"))]
pub mod diagnostics {
    pub use crate::mock_diagnostics::Instrument;
    pub use crate::mock_diagnostics::Level;
    pub use crate::mock_diagnostics::debug;
    pub use crate::mock_diagnostics::debug_span;
    pub use crate::mock_diagnostics::enabled;
    pub use crate::mock_diagnostics::error;
    pub use crate::mock_diagnostics::error_span;
    pub use crate::mock_diagnostics::info;
    pub use crate::mock_diagnostics::info_span;
    pub use crate::mock_diagnostics::trace;
    pub use crate::mock_diagnostics::trace_span;
    pub use crate::mock_diagnostics::warn;
    pub use crate::mock_diagnostics::warn_span;

    pub mod span {
        pub use crate::mock_diagnostics::span::EnteredSpan;
        pub use crate::mock_diagnostics::span::Span;
    }
}