mt_dom/
lib.rs

1#![deny(
2    warnings,
3    missing_docs,
4    missing_debug_implementations,
5    missing_copy_implementations,
6    trivial_casts,
7    trivial_numeric_casts,
8    unstable_features,
9    unused_import_braces
10)]
11#![forbid(unsafe_code)]
12#![deny(clippy::all)]
13#![allow(clippy::type_complexity)]
14//! mt-dom is a generic virtual dom implementation which doesn't specify the types of the data that
15//! is being processed. It's up to the library user to specify those types
16//!
17//! The goal of this library is to provide virtual dom diffing functionality and return a portable
18//! patches which the user can then use to apply those patches in their respective UI elements.
19//!
20//! mt-dom is not limited to be used in html base virtual-dom implementation, but can also be use
21//! for native UI elements.
22//!
23extern crate alloc;
24pub use diff::{diff_with_key, diff_recursive};
25pub use node::{
26    attribute::{
27        attr, attr_ns, group_attributes_per_name, merge_attributes_of_same_name,
28    },
29    element, element_ns, fragment, leaf, node_list, Attribute, Element, Node,
30};
31pub use patch::{Patch, PatchType, TreePath};
32
33pub mod diff;
34mod diff_lis;
35mod node;
36pub mod patch;