part of 'plot_parameter_bloc.dart';

abstract class PlotParameterState extends Equatable {
  const PlotParameterState();

  @override
  List<Object> get props => [];
}

class PlotParameterInitial extends PlotParameterState {}

class PlotParameterLoading extends PlotParameterState {}

class PlotParameterFailure extends PlotParameterState {
  final String errorString;
  PlotParameterFailure({required this.errorString});
}

class PlotParameterSuccess<T> extends PlotParameterState {
  final List<T> items;
  final int page;
  final bool hasReachedMax;

  const PlotParameterSuccess({required this.items, required this.page, required this.hasReachedMax});

  PlotParameterSuccess copyWith({List<T>? items, required int page, bool? hasReachedMax}) {
    return PlotParameterSuccess(items: items ?? this.items, page: page ?? this.page, hasReachedMax: hasReachedMax ?? this.hasReachedMax);
  }

  @override
  List<Object> get props => [items, hasReachedMax];
}
