From 955871c1e064515cbcb5b1cd022982f9249d0a78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Thu, 27 Oct 2022 13:21:31 +0900 Subject: [PATCH 1/4] Okay --- crates/swc_ecma_quote_macros/src/lib.rs | 13 +++++++++++++ crates/swc_ecma_quote_macros/src/query/mod.rs | 1 + 2 files changed, 14 insertions(+) create mode 100644 crates/swc_ecma_quote_macros/src/query/mod.rs diff --git a/crates/swc_ecma_quote_macros/src/lib.rs b/crates/swc_ecma_quote_macros/src/lib.rs index ed7d1c44eda7..7b7283042809 100644 --- a/crates/swc_ecma_quote_macros/src/lib.rs +++ b/crates/swc_ecma_quote_macros/src/lib.rs @@ -16,6 +16,7 @@ mod ast; mod builder; mod ctxt; mod input; +mod query; mod ret_type; /// Don't invoke this macro directly, use the `quote!` macro from @@ -58,3 +59,15 @@ pub fn internal_quote(input: proc_macro::TokenStream) -> proc_macro::TokenStream .to_token_stream() .into() } + +/// +/// +/// # Matchers +/// +/// +/// ```ignore +/// +/// let q = query!(""); +/// ``` +#[proc_macro] +pub fn query(input: proc_macro::TokenStream) -> proc_macro::TokenStream {} diff --git a/crates/swc_ecma_quote_macros/src/query/mod.rs b/crates/swc_ecma_quote_macros/src/query/mod.rs new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/crates/swc_ecma_quote_macros/src/query/mod.rs @@ -0,0 +1 @@ + From 346aea80a6bc962fc11056e88c706be821819be2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Thu, 27 Oct 2022 13:21:35 +0900 Subject: [PATCH 2/4] fixup --- crates/swc_ecma_quote_macros/src/lib.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/swc_ecma_quote_macros/src/lib.rs b/crates/swc_ecma_quote_macros/src/lib.rs index 7b7283042809..16fc91d381d4 100644 --- a/crates/swc_ecma_quote_macros/src/lib.rs +++ b/crates/swc_ecma_quote_macros/src/lib.rs @@ -70,4 +70,6 @@ pub fn internal_quote(input: proc_macro::TokenStream) -> proc_macro::TokenStream /// let q = query!(""); /// ``` #[proc_macro] -pub fn query(input: proc_macro::TokenStream) -> proc_macro::TokenStream {} +pub fn query(input: proc_macro::TokenStream) -> proc_macro::TokenStream { + input +} From 5e3196c5b920c008deb914c2c6da70a75c9a2787 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Thu, 27 Oct 2022 13:37:32 +0900 Subject: [PATCH 3/4] query --- crates/swc_ecma_quote_macros/src/lib.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/crates/swc_ecma_quote_macros/src/lib.rs b/crates/swc_ecma_quote_macros/src/lib.rs index 16fc91d381d4..f1b67856483d 100644 --- a/crates/swc_ecma_quote_macros/src/lib.rs +++ b/crates/swc_ecma_quote_macros/src/lib.rs @@ -67,7 +67,16 @@ pub fn internal_quote(input: proc_macro::TokenStream) -> proc_macro::TokenStream /// /// ```ignore /// -/// let q = query!(""); +/// let q = query!("class Foo extends YourClass {}"); +/// +/// let module: Module = create_your_module(); +/// ``` +/// +/// ```ignore +/// +/// let q = query!("console.log(...$1)"); +/// +/// let module: Module = create_your_module(); /// ``` #[proc_macro] pub fn query(input: proc_macro::TokenStream) -> proc_macro::TokenStream { From be632677e949c46e3f8bad080a64cea8fb3e75f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Thu, 27 Oct 2022 13:38:59 +0900 Subject: [PATCH 4/4] More --- crates/swc_ecma_quote_macros/src/lib.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/swc_ecma_quote_macros/src/lib.rs b/crates/swc_ecma_quote_macros/src/lib.rs index f1b67856483d..8b0447cb3f01 100644 --- a/crates/swc_ecma_quote_macros/src/lib.rs +++ b/crates/swc_ecma_quote_macros/src/lib.rs @@ -78,6 +78,14 @@ pub fn internal_quote(input: proc_macro::TokenStream) -> proc_macro::TokenStream /// /// let module: Module = create_your_module(); /// ``` +/// +/// +/// ```ignore +/// +/// let q = query!("if ($1) { $2; } else $3"); +/// +/// let module: Module = create_your_module(); +/// ``` #[proc_macro] pub fn query(input: proc_macro::TokenStream) -> proc_macro::TokenStream { input