1pub mod fragment;
2pub mod html;
3pub mod html_escaping;
4mod numbers;
5mod render;
6mod simple_element;
7mod text_element;
8
9pub use self::render::Render;
10pub use fragment::Fragment;
11use tide::{http::mime, StatusCode};
12pub use tide_jsx_impl::{component, html, rsx, view};
13pub use simple_element::SimpleElement;
14pub use text_element::Raw;
15
16impl<'a, T: Render> From<SimpleElement<'a, T>> for tide::Response {
17 fn from(s: SimpleElement<'a, T>) -> Self {
18 tide::Response::builder(StatusCode::Ok)
19 .content_type(mime::HTML)
20 .body(s.render())
21 .build()
22 }
23}
24
25impl<'a, T: Render> From<SimpleElement<'a, T>> for tide::Result {
26 fn from(s: SimpleElement<'a, T>) -> Self {
27 Ok(s.into())
28 }
29}
30
31impl<T: Render> From<Fragment<T>> for tide::Response {
32 fn from(s: Fragment<T>) -> Self {
33 tide::Response::builder(StatusCode::Ok)
34 .content_type(mime::HTML)
35 .body(s.render())
36 .build()
37 }
38}
39
40impl<T: Render> From<Fragment<T>> for tide::Result {
41 fn from(s: Fragment<T>) -> Self {
42 Ok(s.into())
43 }
44}
45
46
47