clone method

QueryBuilder clone()

Clone the query builder

Implementation

QueryBuilder clone() {
  final cloned = QueryBuilder()
    .._filters.addAll(_filters)
    .._populate.addAll(_populate)
    .._select.addAll(_select)
    .._sortBy = _sortBy
    .._order = _order
    .._limit = _limit
    .._offset = _offset;

  // Clone OR conditions
  for (var condition in _orConditions) {
    cloned._orConditions.add(Map<String, dynamic>.from(condition));
  }

  // Clone named OR groups
  _namedOrGroups.forEach((groupName, conditions) {
    cloned._namedOrGroups[groupName] = conditions
        .map((c) => Map<String, dynamic>.from(c))
        .toList();
  });

  return cloned;
}