aboutsummaryrefslogtreecommitdiff
path: root/just_template/src/deprecated.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-06-29 03:34:41 +0800
committer魏曹先生 <1992414357@qq.com>2026-06-29 03:34:41 +0800
commitba15b7c06468cb6c52c8d2a53419fd83f9ebcb8b (patch)
treecdaa1c71585d10dd73945cefe95f2c25f27924ed /just_template/src/deprecated.rs
parentff70307869a547b13850d1eec3f72e8ca3bca265 (diff)
refactor: promote project to workspace with macros sub-crate
Diffstat (limited to 'just_template/src/deprecated.rs')
-rw-r--r--just_template/src/deprecated.rs45
1 files changed, 45 insertions, 0 deletions
diff --git a/just_template/src/deprecated.rs b/just_template/src/deprecated.rs
new file mode 100644
index 0000000..b218969
--- /dev/null
+++ b/just_template/src/deprecated.rs
@@ -0,0 +1,45 @@
+#[macro_export]
+macro_rules! tmpl_param {
+ ($template:ident, $($key:ident = $value:expr),* $(,)?) => {{
+ $(
+ $template.insert_param(stringify!($key).to_string(), $value.to_string());
+ )*
+ }};
+}
+
+#[macro_export]
+macro_rules! tmpl {
+ ($template:ident, $($name:ident {
+ $($key:ident = $value:expr),* $(,)?
+ }),* $(,)?) => {{
+ $(
+ let $name = $template.add_impl(stringify!($name).to_string());
+ $(
+ $name.push({
+ let mut params = std::collections::HashMap::new();
+ params.insert(stringify!($key).to_string(), $value.to_string());
+ params
+ });
+ )*
+ )*
+ }};
+
+ // Old syntax
+ ($template:ident += {
+ $($name:ident {
+ $(($($key:ident = $value:expr),* $(,)?)),*
+ $(,)?
+ }),*
+ }) => {{
+ $(
+ let $name = $template.add_impl(stringify!($name).to_string());
+ $(
+ $name.push({
+ let mut params = std::collections::HashMap::new();
+ $(params.insert(stringify!($key).to_string(), $value.to_string());)*
+ params
+ });
+ )*
+ )*
+ }};
+}