lib.rs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #![doc = include_str!("../README.md")]
  2. #![doc(html_logo_url = "https://avatars.githubusercontent.com/u/79236386")]
  3. #![doc(html_favicon_url = "https://avatars.githubusercontent.com/u/79236386")]
  4. #![deny(missing_docs)]
  5. pub use once_cell;
  6. mod html_storage;
  7. #[cfg(feature = "router")]
  8. pub mod router;
  9. #[cfg(feature = "ssr")]
  10. mod adapters;
  11. #[cfg(feature = "ssr")]
  12. pub use adapters::*;
  13. mod hooks;
  14. #[cfg(all(debug_assertions, feature = "hot-reload", feature = "ssr"))]
  15. mod hot_reload;
  16. pub mod launch;
  17. #[cfg(feature = "ssr")]
  18. mod layer;
  19. #[cfg(feature = "ssr")]
  20. mod render;
  21. #[cfg(feature = "ssr")]
  22. mod serve_config;
  23. #[cfg(feature = "ssr")]
  24. mod server_context;
  25. mod server_fn;
  26. /// A prelude of commonly used items in dioxus-fullstack.
  27. pub mod prelude {
  28. #[cfg(feature = "axum")]
  29. pub use crate::adapters::axum_adapter::*;
  30. #[cfg(feature = "salvo")]
  31. pub use crate::adapters::salvo_adapter::*;
  32. #[cfg(feature = "warp")]
  33. pub use crate::adapters::warp_adapter::*;
  34. use crate::hooks;
  35. #[cfg(not(feature = "ssr"))]
  36. pub use crate::html_storage::deserialize::get_root_props_from_document;
  37. pub use crate::launch::LaunchBuilder;
  38. #[cfg(all(feature = "ssr", feature = "router"))]
  39. pub use crate::render::pre_cache_static_routes_with_props;
  40. #[cfg(feature = "ssr")]
  41. pub use crate::render::SSRState;
  42. #[cfg(feature = "router")]
  43. pub use crate::router::FullstackRouterConfig;
  44. #[cfg(feature = "ssr")]
  45. pub use crate::serve_config::{ServeConfig, ServeConfigBuilder};
  46. #[cfg(all(feature = "ssr", feature = "axum"))]
  47. pub use crate::server_context::Axum;
  48. #[cfg(feature = "ssr")]
  49. pub use crate::server_context::{
  50. extract, server_context, DioxusServerContext, FromServerContext, ProvideServerContext,
  51. };
  52. pub use crate::server_fn::DioxusServerFn;
  53. #[cfg(feature = "ssr")]
  54. pub use crate::server_fn::{ServerFnMiddleware, ServerFnTraitObj, ServerFunction};
  55. pub use dioxus_server_macro::*;
  56. #[cfg(feature = "ssr")]
  57. pub use dioxus_ssr::incremental::IncrementalRendererConfig;
  58. pub use server_fn::{self, ServerFn as _, ServerFnError};
  59. pub use hooks::{server_cached::server_cached, server_future::use_server_future};
  60. }
  61. // Warn users about overlapping features
  62. #[cfg(all(feature = "ssr", feature = "web"))]
  63. compile_error!("The `ssr` feature (enabled by `warp`, `axum`, or `salvo`) and `web` feature are overlapping. Please choose one or the other.");
  64. #[cfg(all(feature = "ssr", feature = "desktop"))]
  65. compile_error!("The `ssr` feature (enabled by `warp`, `axum`, or `salvo`) and `desktop` feature are overlapping. Please choose one or the other.");