2021-07-15 03:38:09 -04:00
|
|
|
#![allow(non_snake_case)]
|
2021-07-29 18:04:09 -04:00
|
|
|
#![doc = include_str!("../README.md")]
|
2021-01-14 02:56:41 -05:00
|
|
|
|
2021-08-31 12:28:44 -04:00
|
|
|
/*
|
|
|
|
Navigating this crate:
|
|
|
|
- virtual_dom: the primary entrypoint for the crate
|
2021-09-07 18:25:57 -04:00
|
|
|
- scheduler: the core interior logic called by the [`VirtualDom`]
|
2021-08-31 12:28:44 -04:00
|
|
|
- nodes: the definition of VNodes, listeners, etc.
|
|
|
|
- diff: the stackmachine-based diffing algorithm
|
|
|
|
- hooks: foundational hooks that require crate-private APIs
|
|
|
|
- mutations: DomEdits/NodeRefs and internal API to create them
|
2021-07-05 18:37:15 -04:00
|
|
|
|
2021-08-31 12:28:44 -04:00
|
|
|
Some utilities
|
|
|
|
*/
|
|
|
|
pub mod bumpframe;
|
|
|
|
pub mod childiter;
|
|
|
|
pub mod component;
|
|
|
|
pub mod context;
|
|
|
|
pub mod diff;
|
|
|
|
pub mod diff_stack;
|
|
|
|
pub mod events;
|
|
|
|
pub mod heuristics;
|
|
|
|
pub mod hooklist;
|
|
|
|
pub mod hooks;
|
2021-10-29 21:43:21 -04:00
|
|
|
pub mod lazynodes;
|
2021-08-31 12:28:44 -04:00
|
|
|
pub mod mutations;
|
|
|
|
pub mod nodes;
|
2021-09-20 12:32:21 -04:00
|
|
|
pub mod resources;
|
2021-08-31 12:28:44 -04:00
|
|
|
pub mod scheduler;
|
|
|
|
pub mod scope;
|
2021-09-20 12:32:21 -04:00
|
|
|
pub mod tasks;
|
2021-09-01 23:57:34 -04:00
|
|
|
pub mod test_dom;
|
2021-10-01 02:07:12 -04:00
|
|
|
pub mod threadsafe;
|
2021-08-31 12:28:44 -04:00
|
|
|
pub mod util;
|
|
|
|
pub mod virtual_dom;
|
2021-02-03 02:26:04 -05:00
|
|
|
|
2021-11-01 03:35:26 -04:00
|
|
|
#[cfg(feature = "debug_vdom")]
|
|
|
|
pub mod debug_dom;
|
|
|
|
|
2021-02-12 16:11:33 -05:00
|
|
|
pub(crate) mod innerlude {
|
2021-08-31 12:28:44 -04:00
|
|
|
pub(crate) use crate::bumpframe::*;
|
|
|
|
pub(crate) use crate::childiter::*;
|
2021-05-15 12:03:08 -04:00
|
|
|
pub use crate::component::*;
|
2021-07-09 01:36:18 -04:00
|
|
|
pub use crate::context::*;
|
2021-08-31 12:28:44 -04:00
|
|
|
pub(crate) use crate::diff::*;
|
2021-08-23 10:43:49 -04:00
|
|
|
pub use crate::diff_stack::*;
|
2021-05-15 12:03:08 -04:00
|
|
|
pub use crate::events::*;
|
2021-07-15 04:17:45 -04:00
|
|
|
pub use crate::heuristics::*;
|
2021-09-01 15:45:53 -04:00
|
|
|
pub(crate) use crate::hooklist::*;
|
2021-07-27 11:28:05 -04:00
|
|
|
pub use crate::hooks::*;
|
2021-11-01 02:41:23 -04:00
|
|
|
pub use crate::lazynodes::*;
|
2021-08-22 17:08:25 -04:00
|
|
|
pub use crate::mutations::*;
|
2021-05-15 12:03:08 -04:00
|
|
|
pub use crate::nodes::*;
|
2021-09-20 12:32:21 -04:00
|
|
|
pub(crate) use crate::resources::*;
|
2021-08-25 15:54:33 -04:00
|
|
|
pub use crate::scheduler::*;
|
2021-07-09 01:42:26 -04:00
|
|
|
pub use crate::scope::*;
|
2021-09-20 12:32:21 -04:00
|
|
|
pub use crate::tasks::*;
|
2021-09-02 00:10:09 -04:00
|
|
|
pub use crate::test_dom::*;
|
2021-10-01 02:07:12 -04:00
|
|
|
pub use crate::threadsafe::*;
|
2021-07-09 01:37:34 -04:00
|
|
|
pub use crate::util::*;
|
2021-05-15 12:03:08 -04:00
|
|
|
pub use crate::virtual_dom::*;
|
2021-11-01 02:41:23 -04:00
|
|
|
|
2021-10-29 21:43:21 -04:00
|
|
|
pub type Element<'a> = Option<VNode<'a>>;
|
|
|
|
pub type FC<P> = for<'a> fn(Scope<'a, P>) -> Element<'a>;
|
2021-07-11 19:31:07 -04:00
|
|
|
}
|
2021-02-12 00:29:46 -05:00
|
|
|
|
2021-08-31 12:28:44 -04:00
|
|
|
pub use crate::innerlude::{
|
2021-10-30 18:23:28 -04:00
|
|
|
Context, DioxusElement, DomEdit, Element, ElementId, EventPriority, MountType, Mutations,
|
|
|
|
NodeFactory, Properties, SchedulerMsg, ScopeId, SuspendedContext, TaskHandle, TestDom,
|
|
|
|
ThreadsafeVirtualDom, UserEvent, VNode, VirtualDom, FC,
|
2021-08-31 12:28:44 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
pub mod prelude {
|
2021-10-29 21:43:21 -04:00
|
|
|
pub use crate::component::{fc_to_builder, Fragment, Properties, Scope};
|
2021-08-31 12:28:44 -04:00
|
|
|
pub use crate::context::Context;
|
|
|
|
pub use crate::hooks::*;
|
2021-11-01 02:41:23 -04:00
|
|
|
pub use crate::innerlude::{DioxusElement, Element, LazyNodes, NodeFactory, FC};
|
2021-08-31 12:28:44 -04:00
|
|
|
pub use crate::nodes::VNode;
|
|
|
|
pub use crate::VirtualDom;
|
|
|
|
}
|
|
|
|
|
2021-07-11 19:31:07 -04:00
|
|
|
pub mod exports {
|
2021-08-25 15:54:33 -04:00
|
|
|
//! Important dependencies that are used by the rest of the library
|
|
|
|
// the foundation of this library
|
2021-07-15 04:09:28 -04:00
|
|
|
pub use bumpalo;
|
2021-10-04 01:28:04 -04:00
|
|
|
pub use futures_channel;
|
2021-01-14 20:56:28 -05:00
|
|
|
}
|