Skip to main content

Crate resuma

Crate resuma 

Source
Expand description

§Resuma

The first Rust web framework with SSR + Resumability + Islands + Server Actions + a friendly JS bridge — all in one crate.

Internal layout: core, ssr, server, router, flow, and optional cli. Users typically depend on this crate only; resuma-macros is a separate proc-macro crate.

Re-exports§

pub use crate::core::combine_js;
pub use crate::core::no_serialize;
pub use crate::core::portal;
pub use crate::core::portal;
pub use crate::core::provide_context;
pub use crate::core::provide_theme;
pub use crate::core::push_slots;
pub use crate::core::resolve_slot;
pub use crate::core::stream_chunk;
pub use crate::core::stream_slot;
pub use crate::core::theme_css_vars;
pub use crate::core::use_computed;
pub use crate::core::use_context;
pub use crate::core::use_debounce;
pub use crate::core::use_effect;
pub use crate::core::use_signal;
pub use crate::core::use_store;
pub use crate::core::use_task;
pub use crate::core::use_theme;
pub use crate::core::use_visible_task;
pub use crate::core::visible_task_js;
pub use crate::core::with_default_slot;
pub use crate::core::with_view_transition;
pub use crate::core::Child;
pub use crate::core::Component;
pub use crate::core::Computed;
pub use crate::core::ContextId;
pub use crate::core::Effect;
pub use crate::core::FlowRequest;
pub use crate::core::IntoView;
pub use crate::core::NoSerialize;
pub use crate::core::ReadSignal;
pub use crate::core::RenderContext;
pub use crate::core::RenderMode;
pub use crate::core::Result;
pub use crate::core::ResumaError;
pub use crate::core::Signal;
pub use crate::core::SlotGuard;
pub use crate::core::SlottedChild;
pub use crate::core::Store;
pub use crate::core::Theme;
pub use crate::core::View;
pub use crate::core::WriteSignal;
pub use crate::server::configure_security;
pub use crate::server::register_server_action;
pub use crate::server::set_action_middleware;
pub use crate::server::ResumaApp;
pub use crate::server::SecurityConfig;
pub use crate::server::ServeOptions;
pub use crate::server::CSRF_FIELD;
pub use crate::server::CSRF_HEADER;
pub use crate::ssr::render_to_stream;
pub use crate::ssr::render_to_string;
pub use crate::ssr::render_view;
pub use crate::ssr::PageOptions;
pub use crate::flow::apply_layouts;
pub use crate::flow::current_request;
pub use crate::flow::discover_pages;
pub use crate::flow::encode_submit_result;
pub use crate::flow::error_page;
pub use crate::flow::form;
pub use crate::flow::form;
pub use crate::flow::not_found_page;
pub use crate::flow::register_layout;
pub use crate::flow::register_loader;
pub use crate::flow::register_loader_cache;
pub use crate::flow::register_middleware;
pub use crate::flow::register_stream_chunk;
pub use crate::flow::register_stream_loader;
pub use crate::flow::register_submit;
pub use crate::flow::try_use_load;
pub use crate::flow::try_use_load_value;
pub use crate::flow::use_load;
pub use crate::flow::with_request;
pub use crate::flow::DiscoveredPage;
pub use crate::flow::FlowApp;
pub use crate::flow::FlowError;
pub use crate::flow::FlowPageRegistry;
pub use crate::flow::FlowPwaConfig;
pub use crate::flow::FlowServeOptions;
pub use crate::flow::LoadValue;
pub use crate::flow::LoaderError;
pub use crate::flow::SubmitError;
pub use crate::flow::SubmitValue;

Modules§

cli
Resuma developer CLI — resuma new, resuma dev, resuma build, resuma routes.
core
Resuma Core
flow
prelude
Glob-friendly re-exports.
router
File-based page discovery for Resuma Flow.
server
Resuma HTTP server.
ssr
Server-Side Rendering for Resuma.

Macros§

js
js! — raw JavaScript escape hatch for event handlers.
view
view! — JSX-like template macro.

Functions§

run
CLI entry point (cargo install resuma).

Attribute Macros§

component
#[component] — registers a function as a Resuma component.
island
#[island] — marks a component as an interactive island. Its event handlers are extracted and shipped to the client as a single chunk.
layout
#[layout] — Resuma Flow layout wrapper for nested pages.
load
#[load] — Resuma Flow server data loader (runs before page render).
middleware
#[middleware] — Resuma Flow request middleware.
server
#[server] — exposes an async fn as a server action callable from actions::name(...) in the browser.
submit
#[submit] — Resuma Flow form submission handler.