Skip to main content

Filters and Queries

This combines query_example.dart, filter_non_generic_example.dart, and filter_generic_example.dart.

Enable filters

(generateJson: true, generateFilter: true)
abstract class $Product {
int get id;
String get name;
double get price;
DateTime get createdAt;
bool get isAvailable;
}

Build filters

final filter = And([
ProductFields.isAvailable.eq(true),
ProductFields.price.lt(1000.0),
ProductFields.name.contains('Pro'),
]);

Sort helpers

final sortByPrice = ProductFields.price.desc();

In-memory evaluation

final results = products.filter(filter).orderBy(sortByPrice);

Generic filter fields

(generateFilter: true)
abstract class $CreateParams<T, P> {
T get data;
P? get params;
}

final dataField = CreateParamsFields.data<String, Params>();