andOrInternal method

QueryBuilder<OBJ, R, QAfterFilterOperator> andOrInternal(
  1. FilterGroupType andOr
)

Implementation

QueryBuilder<OBJ, R, QAfterFilterOperator> andOrInternal(
    FilterGroupType andOr) {
  if (andOr == FilterGroupType.and) {
    if (_filterAnd == null) {
      return copyWith(
        filterOr: FilterGroup(
          type: FilterGroupType.or,
          filters: _filterOr.filters.sublist(0, _filterOr.filters.length - 1),
        ),
        filterAnd: FilterGroup(
          type: FilterGroupType.and,
          filters: [_filterOr.filters.last],
        ),
      );
    }
  } else if (_filterAnd != null) {
    return copyWith(
      filterOr: FilterGroup(
        filters: [..._filterOr.filters, _filterAnd!],
        type: FilterGroupType.or,
      ),
      filterAnd: null,
    );
  }
  return copyWith();
}