function _(t,r){const{field:e,op:s,value:n,hidden:a}=r;if(a||!e)return t;switch(s){case"eq":return t.eq(e,n);case"neq":case"not":return t.neq(e,n);case"gt":return t.gt(e,n);case"lt":return t.lt(e,n);case"gte":return t.gte(e,n);case"lte":return t.lte(e,n);case"has":case"like":return t.ilike(e,`%${n}%`);case"sw":return t.ilike(e,`${n}%`);case"ew":return t.ilike(e,`%${n}`);case"in":{const i=Array.isArray(n)?n:String(n).split(",").map(c=>c.trim()).filter(Boolean);return i.length?t.in(e,i):t}case"nn":return t.not(e,"is",null);default:return t}}function h(t,r,e="-created_at",s){const{sort:n,order:a}=r;if(n!=null&&n.key&&(!s||s.includes(n.key)))return t.order(n.key,{ascending:n.order==="asc"});if(a){const c=a.replace(/^[-+]/,"");if(!s||s.includes(c))return t.order(c,{ascending:!a.startsWith("-")})}const i=e.replace(/^[-+]/,"");return t.order(i,{ascending:!e.startsWith("-")})}function S(t,r,e){if(e&&r){const s=(r-1)*e;return t.range(s,s+e-1)}return t}function k(t,r,e,s){const n=e.page||1,a=e.limit||20,i=(n-1)*a;return{rows:(t||[]).map((o,p)=>({...s?s(o):o,index:i+p})),total:r??0,query:{...e,page:n,limit:a,total:r??0}}}function l(t){const r=t.trim();if(!r)return"%";const e=`%${r.replace(/\\/g,"\\\\").replace(/%/g,"\\%").replace(/_/g,"\\_")}%`;return/[,.()*]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}const d=["name","phone","first_name","last_name"],u=40;function f(t){return[...new Set(t)]}function m(t,r,e=[],s="user_id"){const n=l(r),a=t.map(c=>`${c}.ilike.${n}`),i=f(e).slice(0,u);return i.length&&a.push(`${s}.in.(${i.join(",")})`),a.join(",")}async function $(t,r,e=d,s=u){const n=r.trim();if(!n)return[];const a=l(n),{data:i,error:c}=await t.from("users").select("id").or(e.map(o=>`${o}.ilike.${a}`).join(",")).limit(s);if(c)throw c;return(i||[]).map(o=>o.id)}function I(t,r,e=[],s=[],n="user_id"){return t.or(m(e,r,s,n))}export{u as M,I as a,_ as b,h as c,S as d,k as e,$ as f,m as g,l as t};