import 'package:equatable/equatable.dart'; abstract class IdsQueryParameter with EquatableMixin { final List _ids; final bool onlyNotAssigned; const IdsQueryParameter.fromIds(List ids) : onlyNotAssigned = false, _ids = ids; const IdsQueryParameter.notAssigned() : onlyNotAssigned = true, _ids = const []; const IdsQueryParameter.unset() : onlyNotAssigned = false, _ids = const []; bool get isUnset => _ids.isEmpty && onlyNotAssigned == false; bool get isSet => _ids.isNotEmpty && onlyNotAssigned == false; List get ids => _ids; String toQueryParameter(); @override List get props => [onlyNotAssigned, _ids]; }