rocket_include_handlebars/
macros.rs1#[macro_export]
3macro_rules! handlebars_response {
4 ( $cm:expr, $etag_if_none_match:expr, $name:expr ) => {
5 {
6 use ::std::collections::HashMap;
7
8 let map: HashMap<u8, u8> = HashMap::new();
9
10 $crate::handlebars_response!($cm, $etag_if_none_match, $name, map)
11 }
12 };
13 ( $cm:expr, $etag_if_none_match:expr, $name:expr, $data:expr ) => {
14 $crate::handlebars_response!(enable_minify $cm, $etag_if_none_match, $name, $data)
15 };
16 ( enable_minify $cm:expr, $etag_if_none_match:expr, $name:expr ) => {
17 {
18 use ::std::collections::HashMap;
19
20 let map: HashMap<u8, u8> = HashMap::new();
21
22 $crate::handlebars_response!(enable_minify $cm, $etag_if_none_match, $name, map)
23 }
24 };
25 ( enable_minify $cm:expr, $etag_if_none_match:expr, $name:expr, $data:expr ) => {
26 $cm.build(
27 &$etag_if_none_match,
28 true,
29 $name,
30 &$data,
31 )
32 };
33 ( disable_minify $cm:expr, $etag_if_none_match:expr, $name:expr ) => {
34 {
35 use ::std::collections::HashMap;
36
37 let map: HashMap<u8, u8> = HashMap::new();
38
39 $crate::handlebars_response!(disable_minify $cm, $etag_if_none_match, $name, map)
40 }
41 };
42 ( disable_minify $cm:expr, $etag_if_none_match:expr, $name:expr, $data:expr ) => {
43 $cm.build(
44 &$etag_if_none_match,
45 false,
46 $name,
47 &$data,
48 )
49 };
50 ( auto_minify $cm:expr, $etag_if_none_match:expr, $name:expr ) => {
51 {
52 use ::std::collections::HashMap;
53
54 let map: HashMap<u8, u8> = HashMap::new();
55
56 $crate::handlebars_response!(auto_minify $cm, $etag_if_none_match, $name, map)
57 }
58 };
59 ( auto_minify $cm:expr, $etag_if_none_match:expr, $name:expr, $data:expr ) => {
60 if cfg!(debug_assertions) {
61 handlebars_response!(disable_minify $cm, $etag_if_none_match, $name, $data)
62 } else {
63 handlebars_response!(enable_minify $cm, $etag_if_none_match, $name, $data)
64 }
65 };
66}
67
68#[macro_export]
70macro_rules! handlebars_resources_initializer {
71 ( $($name:expr => $path:expr), * $(,)* ) => {
72 {
73 $crate::HandlebarsResponse::fairing(|handlebars| {
74 $crate::handlebars_resources_initialize!(
75 handlebars
76 $(, $name => $path)*
77 );
78 })
79 }
80 };
81 ( $capacity:expr; $($name:expr => $path:expr), * $(,)* ) => {
82 {
83 $crate::HandlebarsResponse::fairing_cache(|handlebars| {
84 $crate::handlebars_resources_initialize!(
85 handlebars
86 $(, $name => $path)*
87 );
88
89 $capacity
90 })
91 }
92 };
93}