filter method

  1. @override
DisposableFuture<bool> filter(
  1. Object filterQuery, {
  2. int? limit = UNLIMITED,
})
override

Filter up to limit results using filterQuery. limit is used instead of lockedLimit iff unlockLimit is true.

Implementation

@override
DisposableFuture<bool> filter(Object filterQuery, {int? limit = UNLIMITED}) {
  _currentLimit = _unlockLimit ? limit : lockedLimit;
  // If the limit is locked and finite, only filter one extra item to
  // determine if results will be truncated to meet the lockedLimit.
  if (limit != null) {
    if (!(_unlockLimit || limit == UNLIMITED)) {
      limit++;
    }
  }

  DisposableFuture<bool> filtered =
      (_options as Filterable).filter(filterQuery, limit: limit);
  filtered.then((_) {
    _updateFilteredOptions();
  });
  return filtered;
}