use crate::chain::CriteriumChain;
use crate::number::NumberCriterium;
pub mod direct_match;
#[cfg(feature = "rusqlite")]
pub mod rusqlite;
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "serde", serde(rename_all = "snake_case"))]
pub enum TagCriterium<T> {
Has(CriteriumChain<T>),
HasNot(CriteriumChain<T>),
HasNOf {
n: NumberCriterium<i64>,
#[cfg_attr(feature = "serde", serde(rename = "where"))]
chain: CriteriumChain<T>,
},
}