composeFilter method

Function composeFilter(
  1. FilterParams? filter
)

Implementation

Function composeFilter(FilterParams? filter) {
  filter = filter ?? FilterParams();

  var id = filter.getAsNullableString('id');
  var userId = filter.getAsNullableString('user_id');
  var active = filter.getAsNullableBoolean('active');
  var fromTime = filter.getAsNullableDateTime('from_time');
  var toTime = filter.getAsNullableDateTime('to_time');

  return (item) {
    if (id != null && item.id != id) {
      return false;
    }
    if (userId != null && item.user_id != userId) {
      return false;
    }
    if (active != null && item.active != active) {
      return false;
    }
    if (fromTime != null && item.request_time >= fromTime) {
      return false;
    }
    if (toTime != null && item.request_time < toTime) {
      return false;
    }
    return true;
  };
}