diff --git a/crates/swc_ecma_quote_macros/src/lib.rs b/crates/swc_ecma_quote_macros/src/lib.rs index ed7d1c44eda7..8b0447cb3f01 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,34 @@ pub fn internal_quote(input: proc_macro::TokenStream) -> proc_macro::TokenStream .to_token_stream() .into() } + +/// +/// +/// # Matchers +/// +/// +/// ```ignore +/// +/// 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(); +/// ``` +/// +/// +/// ```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 +} 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 @@ +