Module query

Module query 

Source
Expand description

Type-safe OData filter builder for API queries.

This module provides a fluent API for building OData filter expressions with compile-time type safety and automatic string escaping.

§Example

use spiris::query::Filter;

// Simple equality filter
let filter = Filter::field("IsActive").eq(true);
assert_eq!(filter.to_string(), "IsActive eq true");

// Combined filters with AND/OR
let filter = Filter::field("IsActive").eq(true)
    .and(Filter::field("Name").contains("Corp"));
assert_eq!(filter.to_string(), "(IsActive eq true) and (contains(Name, 'Corp'))");

// String values are automatically escaped
let filter = Filter::field("Name").eq("O'Brien & Co");
assert_eq!(filter.to_string(), "Name eq 'O''Brien & Co'");

Structs§

FieldFilter
Builder for field-level filter operations.
Filter
A filter expression for OData queries.

Traits§

FilterValue
Trait for values that can be used in OData filter expressions.