#[non_exhaustive]pub enum SearchIntent {
NumericId(i64),
Email(String),
Personnummer(String),
RelationId {
model: String,
id: i64,
},
Text(String),
}Expand description
What the user probably typed into the list-page search box. Letting the handler branch on this gives cleaner narrow-match behaviour than “grep every String field”.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
NumericId(i64)
Parsed as a non-negative integer — likely an ID lookup.
Email(String)
Contains @ and . in plausible positions — email search.
Personnummer(String)
Matches the 12/13-character Swedish personnummer shape.
RelationId
0.8.0 — an FK field is being searched by target id. Emitted
only by classify_search_for_field when the caller supplies
a relation target; plain classify_search never produces it.
Text(String)
Everything else, including empty string.
Implementations§
Trait Implementations§
Source§impl Clone for SearchIntent
impl Clone for SearchIntent
Source§fn clone(&self) -> SearchIntent
fn clone(&self) -> SearchIntent
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SearchIntent
impl Debug for SearchIntent
Source§impl PartialEq for SearchIntent
impl PartialEq for SearchIntent
Source§fn eq(&self, other: &SearchIntent) -> bool
fn eq(&self, other: &SearchIntent) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for SearchIntent
impl StructuralPartialEq for SearchIntent
Auto Trait Implementations§
impl Freeze for SearchIntent
impl RefUnwindSafe for SearchIntent
impl Send for SearchIntent
impl Sync for SearchIntent
impl Unpin for SearchIntent
impl UnsafeUnpin for SearchIntent
impl UnwindSafe for SearchIntent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more