[][src]Enum webdev_lib::search::NullableSearch

pub enum NullableSearch<T> {
    Partial(T),
    Exact(T),
    Some,
    None,
    NoSearch,
}

Search fo a field that can be null

This could be done as a Search<Option>, but then the cases for Any and None are not entirely clear.

For example, this would make some sense:

PartialSearch(Some(t)) -> Field is not null and partially matches (PartialSearch(T)) ExactSearch(Some(t)) -> Field is not null and fully matches (ExactSearch(T)) PartialSearch(None) -> Field is not null (Some) ExactSearch(None) -> Field is null (None) NoSearch -> Do not search by this field (NoSearch)

but it is not immediatly clear what the PartialSearch(None) and ExactSearch(None) correspond to, and could be confusing and subjective. Instead, we use this enum.

Variants

Partial(T)

Field is not null and partially matches

Exact(T)

Field is not null and exactly matches

Some

Field is not null (Some matches Rust terminology better than NonNull or similar)

None

Field is null (None matches Rust terminology better than Null or similar)

NoSearch

Do not search by this field

Methods

impl<T: FromStr> NullableSearch<T>[src]

pub fn from_query(query: &str) -> Result<NullableSearch<T>, SearchParseError>[src]

Trait Implementations

impl<T: PartialEq> PartialEq<NullableSearch<T>> for NullableSearch<T>[src]

impl<T: Debug> Debug for NullableSearch<T>[src]

Auto Trait Implementations

impl<T> Unpin for NullableSearch<T> where
    T: Unpin

impl<T> Sync for NullableSearch<T> where
    T: Sync

impl<T> Send for NullableSearch<T> where
    T: Send

impl<T> UnwindSafe for NullableSearch<T> where
    T: UnwindSafe

impl<T> RefUnwindSafe for NullableSearch<T> where
    T: RefUnwindSafe

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> IntoSql for T[src]

fn into_sql<T>(self) -> Self::Expression where
    Self: AsExpression<T>, 
[src]

Convert self to an expression for Diesel's query builder. Read more

fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
    &'a Self: AsExpression<T>, 
[src]

Convert &self to an expression for Diesel's query builder. Read more

impl<T> Typeable for T where
    T: Any
[src]

fn get_type(&self) -> TypeId[src]

Get the TypeId of this object.

impl<T> Erased for T[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Err = <U as TryFrom<T>>::Err

impl<T> SetParameter for T[src]

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 
[src]

Sets value as a parameter of self.