welds_macros/blocks/impl_struct/
fn_where_col.rs1use crate::info::Info;
2use proc_macro2::TokenStream;
3use quote::quote;
4
5pub(crate) fn write(info: &Info) -> TokenStream {
6 let schema = &info.schemastruct;
7 let wp = &info.welds_path;
8
9 quote! {
10
11
12
13 pub fn where_col(
14 lam: impl Fn(#schema) -> Box<dyn #wp::query::clause::ClauseAdder>,
15 ) -> #wp::query::builder::QueryBuilder<Self>
16 where
17 #schema: #wp::model_traits::TableColumns,
18 Self: Send
19 {
20 let select = #wp::query::builder::QueryBuilder::new();
21 select.where_col(lam)
22 }
23
24
25
26
27 }
28}