dioxus/packages/core/src/lib.rs

89 lines
2 KiB
Rust
Raw Normal View History

2021-06-16 11:19:37 -04:00
//! Dioxus Core
//! ----------
//!
2021-01-20 12:04:27 -05:00
//!
//!
2021-01-29 11:57:52 -05:00
//!
//!
//!
2021-01-20 12:04:27 -05:00
//!
2021-01-14 02:56:41 -05:00
#[cfg(feature = "serialize")]
pub mod serialize;
2021-05-16 02:55:16 -04:00
pub mod arena;
2021-07-09 01:36:18 -04:00
pub mod bumpframe;
pub mod component;
2021-07-09 01:36:18 -04:00
pub mod context;
pub mod diff;
pub mod error;
pub mod events;
pub mod hooklist;
2021-07-09 01:36:18 -04:00
pub mod nodebuilder;
pub mod nodes;
2021-07-09 01:42:26 -04:00
pub mod scope;
2021-07-09 01:36:18 -04:00
pub mod signals;
pub mod styles;
pub mod tasks;
2021-07-09 01:36:18 -04:00
pub mod util;
pub mod virtual_dom;
2021-02-03 02:26:04 -05:00
pub mod builder {
pub use super::nodebuilder::*;
}
2021-06-07 14:14:49 -04:00
2021-02-07 17:38:17 -05:00
// types used internally that are important
2021-02-12 16:11:33 -05:00
pub(crate) mod innerlude {
2021-07-09 01:36:18 -04:00
pub use crate::bumpframe::*;
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-05-15 12:03:08 -04:00
pub use crate::diff::*;
pub use crate::error::*;
pub use crate::events::*;
pub use crate::nodebuilder::*;
pub use crate::nodes::*;
2021-07-09 01:42:26 -04:00
pub use crate::scope::*;
pub use crate::tasks::*;
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::*;
pub type FC<P> = fn(Context<P>) -> VNode;
2021-02-20 21:59:16 -05:00
2021-02-07 17:38:17 -05:00
// Re-export the FC macro
pub use crate::nodebuilder as builder;
2021-03-07 21:28:20 -05:00
pub use dioxus_core_macro::{html, rsx};
2021-02-07 17:38:17 -05:00
}
/// Re-export common types for ease of development use.
/// Essential when working with the html! macro
2021-01-14 20:56:28 -05:00
pub mod prelude {
2021-06-19 20:31:25 -04:00
pub use crate::component::{fc_to_builder, Fragment, Properties};
2021-07-09 01:36:18 -04:00
pub use crate::context::Context;
use crate::nodes;
pub use crate::styles::{AsAttr, StyleBuilder};
2021-07-09 01:36:18 -04:00
2021-07-09 12:47:41 -04:00
pub use crate::util::RealDomNode;
pub use crate::virtual_dom::VirtualDom;
pub use nodes::*;
2021-02-03 02:26:04 -05:00
pub use crate::nodebuilder::LazyNodes;
pub use crate::nodebuilder::{DioxusElement, NodeFactory};
2021-02-07 17:38:17 -05:00
// pub use nodes::iterables::IterableNodes;
/// This type alias is an internal way of abstracting over the static functions that represent components.
pub use crate::innerlude::FC;
2021-02-07 17:38:17 -05:00
// expose our bumpalo type
pub use bumpalo;
2021-03-03 02:27:26 -05:00
pub use bumpalo::Bump;
// Re-export the FC macro
pub use crate::nodebuilder as builder;
// pub use dioxus_core_macro::fc;
pub use dioxus_core_macro::{format_args_f, html, rsx, Props};
2021-02-12 00:29:46 -05:00
2021-03-03 02:27:26 -05:00
pub use crate::diff::DiffMachine;
2021-06-08 14:00:29 -04:00
pub use crate::virtual_dom::ScopeIdx;
2021-01-14 20:56:28 -05:00
}