t×tecexpressby TeKOcloud
DEv0.7.1
API & types / FLUTTER

TxFilter.

Comparison/text filter and nested AND, OR and NOT expressions.

The default operator is equality. Text operators ignore case. Empty AND is true; empty OR is false. Dart matches(item) returns bool; Vue txMatches(item, filter) returns boolean. Getter errors propagate.

TxFilter

ParameterTypeDefaultMeaning
selectorTxGetter<T>?requiredField path or getter for a query value.
valueObject?requiredCurrent input/option value.
operatorTxFilterOperatorTxFilterOperator.equalComparison/text operator.

TxFilter.and

ParameterTypeDefaultMeaning
filtersList<TxFilter<T>>requiredChild filters of the logical junction.

TxFilter.or

ParameterTypeDefaultMeaning
filtersList<TxFilter<T>>requiredChild filters of the logical junction.

TxFilter.not

ParameterTypeDefaultMeaning
filterTxFilter<T>requiredFilter expression.
Member / type / returnMeaning
final List<TxFilter<T>>? childrenChild filters or contained widgets.
final String? junctionand/or/not junction of a compound filter.
bool matches(T item)Synchronously tests a record against this filter.
dart
import 'package:tecexpress/tecexpress.dart';

Future<void> example() async {
  final adult = TxFilter<int>((v) => v, 18, operator: TxFilterOperator.greaterOrEqual);
  print(adult.matches(20));
  print(TxFilter.and([adult, TxFilter.not(TxFilter<int>((v) => v, 30))]).matches(20));
  print(TxFilter.or([adult]).matches(20));
}