pub struct FieldPath(/* private fields */);Expand description
Field path supporting up to 5 levels of nesting
Implementations§
Source§impl FieldPath
impl FieldPath
Sourcepub unsafe fn new_unchecked(path: impl Into<String>) -> Self
pub unsafe fn new_unchecked(path: impl Into<String>) -> Self
Creates a new field path from a string-like value without validation
§Safety
This function skips validation of the field path. The caller must ensure:
- Path length does not exceed 256 characters
- Path contains valid field references only
- Path nesting depth does not exceed 5 levels
§Examples
let path = unsafe { FieldPath::new_unchecked("user.name") };Sourcepub fn eq<IFSB: IFSBValueMarker>(self, ifsb: IFSB) -> FieldFilter
pub fn eq<IFSB: IFSBValueMarker>(self, ifsb: IFSB) -> FieldFilter
Creates an equality filter
Sourcepub unsafe fn eq_unchecked<T: Serialize>(self, value: T) -> FieldFilter
pub unsafe fn eq_unchecked<T: Serialize>(self, value: T) -> FieldFilter
Creates an equality filter from any serializable value
§Safety
The caller must ensure the value serializes to either:
- A number
- A string
- A boolean
Sourcepub fn ne<IFSB: IFSBValueMarker>(self, ifsb: IFSB) -> FieldFilter
pub fn ne<IFSB: IFSBValueMarker>(self, ifsb: IFSB) -> FieldFilter
Creates a not equal filter
Sourcepub unsafe fn ne_unchecked<T: Serialize>(self, value: T) -> FieldFilter
pub unsafe fn ne_unchecked<T: Serialize>(self, value: T) -> FieldFilter
Creates a not equal filter from any serializable value
§Safety
The caller must ensure the value serializes to either:
- A number
- A string
- A boolean
Sourcepub fn le<IFS: IFSValueMarker>(self, ifs: IFS) -> FieldFilter
pub fn le<IFS: IFSValueMarker>(self, ifs: IFS) -> FieldFilter
Creates a less than or equal filter
Sourcepub unsafe fn le_unchecked<T: Serialize>(self, value: T) -> FieldFilter
pub unsafe fn le_unchecked<T: Serialize>(self, value: T) -> FieldFilter
Creates a less than or equal filter from any serializable value
§Safety
The caller must ensure the value serializes to either:
- A number
- A string
Sourcepub fn lt<IFS: IFSValueMarker>(self, ifs: IFS) -> FieldFilter
pub fn lt<IFS: IFSValueMarker>(self, ifs: IFS) -> FieldFilter
Creates a less than filter
Sourcepub unsafe fn lt_unchecked<T: Serialize>(self, value: T) -> FieldFilter
pub unsafe fn lt_unchecked<T: Serialize>(self, value: T) -> FieldFilter
Creates a less than filter from any serializable value
§Safety
The caller must ensure the value serializes to either:
- A number
- A string
Sourcepub fn ge<IFS: IFSValueMarker>(self, ifs: IFS) -> FieldFilter
pub fn ge<IFS: IFSValueMarker>(self, ifs: IFS) -> FieldFilter
Creates a greater than or equal filter
Sourcepub unsafe fn ge_unchecked<T: Serialize>(self, value: T) -> FieldFilter
pub unsafe fn ge_unchecked<T: Serialize>(self, value: T) -> FieldFilter
Creates a greater than or equal filter from any serializable value
§Safety
The caller must ensure the value serializes to either:
- A number
- A string
Sourcepub fn gt<IFS: IFSValueMarker>(self, ifs: IFS) -> FieldFilter
pub fn gt<IFS: IFSValueMarker>(self, ifs: IFS) -> FieldFilter
Creates a greater than filter
Sourcepub unsafe fn gt_unchecked<T: Serialize>(self, value: T) -> FieldFilter
pub unsafe fn gt_unchecked<T: Serialize>(self, value: T) -> FieldFilter
Creates a greater than filter from any serializable value
§Safety
The caller must ensure the value serializes to either:
- A number
- A string
Sourcepub fn contains<IFS: IFSValueMarker>(self, ifs: IFS) -> FieldFilter
pub fn contains<IFS: IFSValueMarker>(self, ifs: IFS) -> FieldFilter
Creates a contains filter for strings or arrays
Sourcepub unsafe fn contains_unchecked<T: Serialize>(self, value: T) -> FieldFilter
pub unsafe fn contains_unchecked<T: Serialize>(self, value: T) -> FieldFilter
Creates a contains filter from any serializable value
§Safety
The caller must ensure the value serializes to either:
- A number
- A string
Sourcepub fn not_contains<IFS: IFSValueMarker>(self, ifs: IFS) -> FieldFilter
pub fn not_contains<IFS: IFSValueMarker>(self, ifs: IFS) -> FieldFilter
Creates a not contains filter for strings or arrays
Sourcepub unsafe fn not_contains_unchecked<T: Serialize>(
self,
value: T,
) -> FieldFilter
pub unsafe fn not_contains_unchecked<T: Serialize>( self, value: T, ) -> FieldFilter
Creates a not contains filter from any serializable value
§Safety
The caller must ensure the value serializes to either:
- A number
- A string
Sourcepub fn begins_with(self, value: impl Into<String>) -> FieldFilter
pub fn begins_with(self, value: impl Into<String>) -> FieldFilter
Creates a begins with filter for string fields
Sourcepub fn in_values<IFS: IFSValueMarker>(
self,
values: impl Into<FixedVec<IFS, 5>>,
) -> FieldFilter
pub fn in_values<IFS: IFSValueMarker>( self, values: impl Into<FixedVec<IFS, 5>>, ) -> FieldFilter
Creates an IN filter accepting up to 5 values
§Examples
let path = FieldPath::new("user.id")?;
let filter = path.in_values(["id1", "id2", "id3"]);Sourcepub unsafe fn in_values_unchecked<T: Serialize>(
self,
values: impl Into<FixedVec<T, 5>>,
) -> FieldFilter
pub unsafe fn in_values_unchecked<T: Serialize>( self, values: impl Into<FixedVec<T, 5>>, ) -> FieldFilter
Creates an IN filter from any array of up to 5 serializable values
§Safety
The caller must ensure each value in the array serializes to either:
- A number
- A string
Sourcepub fn not_in<IFS: IFSValueMarker>(
self,
values: impl Into<FixedVec<IFS, 5>>,
) -> FieldFilter
pub fn not_in<IFS: IFSValueMarker>( self, values: impl Into<FixedVec<IFS, 5>>, ) -> FieldFilter
Creates a NOT IN filter accepting up to 5 values
§Examples
let path = FieldPath::new("user.role")?;
let filter = path.not_in(["admin", "moderator"]);Sourcepub unsafe fn not_in_unchecked<T: Serialize>(
self,
values: impl Into<FixedVec<T, 5>>,
) -> FieldFilter
pub unsafe fn not_in_unchecked<T: Serialize>( self, values: impl Into<FixedVec<T, 5>>, ) -> FieldFilter
Creates a NOT IN filter from any array of up to 5 serializable values
§Safety
The caller must ensure values in the array serializes to either:
- Numbers
- Strings
Sourcepub fn between<IFS: IFSValueMarker>(self, start: IFS, end: IFS) -> FieldFilter
pub fn between<IFS: IFSValueMarker>(self, start: IFS, end: IFS) -> FieldFilter
Creates a BETWEEN filter that matches values in a range
Sourcepub unsafe fn between_unchecked<T: Serialize>(
self,
start: T,
end: T,
) -> FieldFilter
pub unsafe fn between_unchecked<T: Serialize>( self, start: T, end: T, ) -> FieldFilter
Creates a BETWEEN filter from any two serializable values
§Safety
The caller must ensure both values serialize to either:
- Numbers
- Strings
Sourcepub fn contains_any<IFS: IFSValueMarker>(
self,
values: impl Into<FixedVec<IFS, 20>>,
) -> FieldFilter
pub fn contains_any<IFS: IFSValueMarker>( self, values: impl Into<FixedVec<IFS, 20>>, ) -> FieldFilter
Creates a contains any filter accepting up to 20 values
§Examples
let path = FieldPath::new("user.permissions")?;
let filter = path.contains_any(["read", "write", "delete"]);Sourcepub unsafe fn contains_any_unchecked<T: Serialize>(
self,
values: impl Into<FixedVec<T, 20>>,
) -> FieldFilter
pub unsafe fn contains_any_unchecked<T: Serialize>( self, values: impl Into<FixedVec<T, 20>>, ) -> FieldFilter
Creates a contains any filter from any array of up to 20 serializable values
§Safety
The caller must ensure values in the array serializes to either:
- Numbers
- Strings