kit_rs/
lib.rs

1pub mod config;
2pub mod http;
3pub mod inertia;
4pub mod middleware;
5pub mod routing;
6pub mod server;
7
8pub use config::{
9    env, env_optional, env_required, AppConfig, Config, Environment, ServerConfig,
10};
11pub use http::{json, text, HttpResponse, Redirect, Request, Response, ResponseExt};
12pub use inertia::{InertiaConfig, InertiaContext, InertiaResponse};
13pub use middleware::{Middleware, MiddlewareFuture, MiddlewareRegistry, Next};
14pub use routing::{route, GroupBuilder, GroupRouter, RouteBuilder, Router};
15pub use server::Server;
16
17// Re-export async_trait for middleware implementations
18pub use async_trait::async_trait;
19
20// Re-export for macro usage
21#[doc(hidden)]
22pub use serde_json;
23
24// Re-export serde for InertiaProps derive macro
25pub use serde;
26
27// Re-export the proc-macros for compile-time component validation and type safety
28pub use kit_macros::inertia_response;
29pub use kit_macros::InertiaProps;
30pub use kit_macros::redirect;
31
32#[macro_export]
33macro_rules! json_response {
34    ($($json:tt)+) => {
35        Ok($crate::HttpResponse::json($crate::serde_json::json!($($json)+)))
36    };
37}
38
39#[macro_export]
40macro_rules! text_response {
41    ($text:expr) => {
42        Ok($crate::HttpResponse::text($text))
43    };
44}