Store query contract: filtering, searching, sorting, grouping, paging, projection and cancellation.
Vue: omitted options are undefined; DataSource supplies count and paging defaults. Dart defaults appear in the constructor. skip/take apply to rows and top-level groups. Local processing returns counts even without a count request. Vue select is a field list; Dart select is a T→T callback. Forward signal/cancellation to custom async operations.
TxLoadOptions
| Parameter | Type | Default | Meaning |
|---|---|---|---|
| sort | List<TxSort<T>> | const [] | Sort descriptors in priority order. |
| filter | TxFilter<T>? | null | Filter expression. |
| searchExpr | List<TxGetter<T>> | const [] | Search fields or getters. |
| searchValue | String | '' | Search text; local search ignores case. |
| group | List<TxSort<T>> | const [] | Group descriptors or group name. |
| skip | int | 0 | Number of results to skip. |
| take | int? | null | Maximum number of results to return. |
| select | T Function(T)? | null | Projection before final mapping. |
| requireTotalCount | bool | true | Requests the total count before paging. |
| requireGroupCount | bool | false | Requests the number of top-level groups. |
| cancellation | TxCancellation? | null | Cooperative cancellation token. |
import 'package:tecexpress/tecexpress.dart';
Future<void> example() async {
final options = TxLoadOptions<int>(sort: [TxSort((v) => v)], take: 1);
print(txQuery([2, 1], options).data);
}