part of 'providers_cubit.dart'; class ProvidersState extends Equatable { const ProvidersState(this.all); final List all; ProvidersState updateElement( final ProviderModel provider, final StateType newState, ) { final List newList = [...all]; final int index = newList.indexOf(provider); newList[index] = provider.updateState(newState); return ProvidersState(newList); } List get connected => all .where((final service) => service.state != StateType.uninitialized) .toList(); List get uninitialized => all .where((final service) => service.state == StateType.uninitialized) .toList(); bool get isFullyInitialized => uninitialized.isEmpty; @override List get props => all; } class InitialProviderState extends ProvidersState { InitialProviderState() : super( ProviderType.values .map( (final type) => ProviderModel( state: StateType.uninitialized, type: type, ), ) .toList(), ); }