sqlx_d1/
macros.rs

1#![cfg(feature = "query")]
2
3//! ref: <https://github.com/launchbadge/sqlx/blob/6651d2df72586519708147d96e1ec1054a898c1e/src/macros/mod.rs>
4
5#[doc(hidden)]
6pub use sqlx_d1_macros;
7
8/// `sqlx::query!` for Cloudflare D1.
9/// 
10/// See [sqlx::query!](https://docs.rs/sqlx/latest/sqlx/macro.query.html) for details.
11#[macro_export]
12#[cfg_attr(docsrs, doc(cfg(feature = "query")))]
13macro_rules! query (
14    ($query:expr) => ({
15        $crate::macros::sqlx_d1_macros::expand_query!(source = $query)
16    });
17    ($query:expr, $($args:tt)*) => ({
18        $crate::macros::sqlx_d1_macros::expand_query!(source = $query, args = [$($args)*])
19    })
20);
21
22/// `sqlx::query_unchecked!` for Cloudflare D1.
23/// 
24/// See [sqlx::query_unchecked!](https://docs.rs/sqlx/latest/sqlx/macro.query_unchecked.html) for details.
25#[macro_export]
26#[cfg_attr(docsrs, doc(cfg(feature = "query")))]
27macro_rules! query_unchecked (
28    ($query:expr) => ({
29        $crate::macros::sqlx_d1_macros::expand_query!(source = $query, checked = false)
30    });
31    ($query:expr, $($args:tt)*) => ({
32        $crate::macros::sqlx_d1_macros::expand_query!(source = $query, args = [$($args)*], checked = false)
33    })
34);
35
36/// `sqlx::query_file!` for Cloudflare D1.
37/// 
38/// See [sqlx::query_file!](https://docs.rs/sqlx/latest/sqlx/macro.query_file.html) for details.
39#[macro_export]
40#[cfg_attr(docsrs, doc(cfg(feature = "query")))]
41macro_rules! query_file (
42    ($path:literal) => ({
43        $crate::macros::sqlx_d1_macros::expand_query!(source_file = $path)
44    });
45    ($path:literal, $($args:tt)*) => ({
46        $crate::macros::sqlx_d1_macros::expand_query!(source_file = $path, args = [$($args)*])
47    })
48);
49
50/// `sqlx::query_file_unchecked!` for Cloudflare D1.
51/// 
52/// See [sqlx::query_file_unchecked!](https://docs.rs/sqlx/latest/sqlx/macro.query_file_unchecked.html) for details.
53#[macro_export]
54#[cfg_attr(docsrs, doc(cfg(feature = "query")))]
55macro_rules! query_file_unchecked (
56    ($path:literal) => ({
57        $crate::macros::sqlx_d1_macros::expand_query!(source_file = $path, checked = false)
58    });
59    ($path:literal, $($args:tt)*) => ({
60        $crate::macros::sqlx_d1_macros::expand_query!(source_file = $path, args = [$($args)*], checked = false)
61    })
62);
63
64/// `sqlx::query_as!` for Cloudflare D1.
65/// 
66/// See [sqlx::query_as!](https://docs.rs/sqlx/latest/sqlx/macro.query_as.html) for details.
67#[macro_export]
68#[cfg_attr(docsrs, doc(cfg(feature = "query")))]
69macro_rules! query_as (
70    ($out_struct:path, $query:expr) => ( {
71        $crate::macros::sqlx_d1_macros::expand_query!(record = $out_struct, source = $query)
72    });
73    ($out_struct:path, $query:expr, $($args:tt)*) => ( {
74        $crate::macros::sqlx_d1_macros::expand_query!(record = $out_struct, source = $query, args = [$($args)*])
75    })
76);
77
78/// `sqlx::query_file_as!` for Cloudflare D1.
79/// 
80/// See [sqlx::query_file_as!](https://docs.rs/sqlx/latest/sqlx/macro.query_file_as.html) for details.
81#[macro_export]
82#[cfg_attr(docsrs, doc(cfg(feature = "query")))]
83macro_rules! query_file_as (
84    ($out_struct:path, $path:literal) => ( {
85        $crate::macros::sqlx_d1_macros::expand_query!(record = $out_struct, source_file = $path)
86    });
87    ($out_struct:path, $path:literal, $($args:tt)*) => ( {
88        $crate::macros::sqlx_d1_macros::expand_query!(record = $out_struct, source_file = $path, args = [$($args)*])
89    })
90);
91
92/// `sqlx::query_as_unchecked!` for Cloudflare D1.
93/// 
94/// See [sqlx::query_as_unchecked!](https://docs.rs/sqlx/latest/sqlx/macro.query_as_unchecked.html) for details.
95#[macro_export]
96#[cfg_attr(docsrs, doc(cfg(feature = "query")))]
97macro_rules! query_as_unchecked (
98    ($out_struct:path, $query:expr) => ( {
99        $crate::macros::sqlx_d1_macros::expand_query!(record = $out_struct, source = $query, checked = false)
100    });
101
102    ($out_struct:path, $query:expr, $($args:tt)*) => ( {
103        $crate::macros::sqlx_d1_macros::expand_query!(record = $out_struct, source = $query, args = [$($args)*], checked = false)
104    })
105);
106
107/// `sqlx::query_file_as_unchecked!` for Cloudflare D1.
108/// 
109/// See [sqlx::query_file_as_unchecked!](https://docs.rs/sqlx/latest/sqlx/macro.query_file_as_unchecked.html) for details.
110#[macro_export]
111#[cfg_attr(docsrs, doc(cfg(feature = "query")))]
112macro_rules! query_file_as_unchecked (
113    ($out_struct:path, $path:literal) => ( {
114        $crate::macros::sqlx_d1_macros::expand_query!(record = $out_struct, source_file = $path, checked = false)
115    });
116
117    ($out_struct:path, $path:literal, $($args:tt)*) => ( {
118        $crate::macros::sqlx_d1_macros::expand_query!(record = $out_struct, source_file = $path, args = [$($args)*], checked = false)
119    })
120);
121
122/// `sqlx::query_scalor!` for Cloudflare D1.
123/// 
124/// See [sqlx::query_scalor!](https://docs.rs/sqlx/latest/sqlx/macro.query_scalor.html) for details.
125#[macro_export]
126#[cfg_attr(docsrs, doc(cfg(feature = "query")))]
127macro_rules! query_scalar (
128    ($query:expr) => (
129        $crate::macros::sqlx_d1_macros::expand_query!(scalar = _, source = $query)
130    );
131    ($query:expr, $($args:tt)*) => (
132        $crate::macros::sqlx_d1_macros::expand_query!(scalar = _, source = $query, args = [$($args)*])
133    )
134);
135
136/// `sqlx::query_file_scalor!` for Cloudflare D1.
137/// 
138/// See [sqlx::query_file_scalor!](https://docs.rs/sqlx/latest/sqlx/macro.query_file_scalor.html) for details.
139#[macro_export]
140#[cfg_attr(docsrs, doc(cfg(feature = "query")))]
141macro_rules! query_file_scalar (
142    ($path:literal) => (
143        $crate::macros::sqlx_d1_macros::expand_query!(scalar = _, source_file = $path)
144    );
145    ($path:literal, $($args:tt)*) => (
146        $crate::macros::sqlx_d1_macros::expand_query!(scalar = _, source_file = $path, args = [$($args)*])
147    )
148);
149
150/// `sqlx::query_scalor_unchecked!` for Cloudflare D1.
151/// 
152/// See [sqlx::query_scalor_unchecked!](https://docs.rs/sqlx/latest/sqlx/macro.query_scalor_unchecked.html) for details.
153#[macro_export]
154#[cfg_attr(docsrs, doc(cfg(feature = "query")))]
155macro_rules! query_scalar_unchecked (
156    ($query:expr) => (
157        $crate::macros::sqlx_d1_macros::expand_query!(scalar = _, source = $query, checked = false)
158    );
159    ($query:expr, $($args:tt)*) => (
160        $crate::macros::sqlx_d1_macros::expand_query!(scalar = _, source = $query, args = [$($args)*], checked = false)
161    )
162);
163
164/// `sqlx::query_file_scalor_unchecked!` for Cloudflare D1.
165/// 
166/// See [sqlx::query_file_scalor_unchecked!](https://docs.rs/sqlx/latest/sqlx/macro.query_file_scalor_unchecked.html) for details.
167#[macro_export]
168#[cfg_attr(docsrs, doc(cfg(feature = "query")))]
169macro_rules! query_file_scalar_unchecked (
170    ($path:literal) => (
171        $crate::macros::sqlx_d1_macros::expand_query!(scalar = _, source_file = $path, checked = false)
172    );
173    ($path:literal, $($args:tt)*) => (
174        $crate::macros::sqlx_d1_macros::expand_query!(scalar = _, source_file = $path, args = [$($args)*], checked = false)
175    )
176);