lib.rs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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(feature = "ssr")]
  39. pub use crate::layer::{Layer, Service};
  40. #[cfg(all(feature = "ssr", feature = "router"))]
  41. pub use crate::render::pre_cache_static_routes_with_props;
  42. #[cfg(feature = "ssr")]
  43. pub use crate::render::SSRState;
  44. #[cfg(feature = "router")]
  45. pub use crate::router::FullstackRouterConfig;
  46. #[cfg(feature = "ssr")]
  47. pub use crate::serve_config::{ServeConfig, ServeConfigBuilder};
  48. #[cfg(all(feature = "ssr", feature = "axum"))]
  49. pub use crate::server_context::Axum;
  50. #[cfg(feature = "ssr")]
  51. pub use crate::server_context::{
  52. extract, server_context, DioxusServerContext, FromServerContext, ProvideServerContext,
  53. };
  54. pub use crate::server_fn::DioxusServerFn;
  55. #[cfg(feature = "ssr")]
  56. pub use crate::server_fn::{ServerFnMiddleware, ServerFnTraitObj, ServerFunction};
  57. pub use dioxus_server_macro::*;
  58. #[cfg(feature = "ssr")]
  59. pub use dioxus_ssr::incremental::IncrementalRendererConfig;
  60. pub use server_fn::{self, ServerFn as _, ServerFnError};
  61. pub use hooks::{server_cached::server_cached, server_future::use_server_future};
  62. }
  63. // Warn users about overlapping features
  64. #[cfg(all(feature = "ssr", feature = "web"))]
  65. compile_error!("The `ssr` feature (enabled by `warp`, `axum`, or `salvo`) and `web` feature are overlapping. Please choose one or the other.");
  66. #[cfg(all(feature = "ssr", feature = "desktop"))]
  67. compile_error!("The `ssr` feature (enabled by `warp`, `axum`, or `salvo`) and `desktop` feature are overlapping. Please choose one or the other.");