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>();