import 'package:equatable/equatable.dart'; import 'package:flutter/material.dart'; import 'package:hydrated_bloc/hydrated_bloc.dart'; import 'package:scrobbles/models/topartists.dart'; part 'data_top_artists_state.dart'; class DataTopArtistsCubit extends HydratedCubit<DataTopArtistsState> { DataTopArtistsCubit() : super(const DataTopArtistsState()); void getData(DataTopArtistsState state) { emit(state); } TopArtistsData? getValue(key) { return state.topArtists; } void update(TopArtistsData? topArtists) { if ((topArtists != null) && (state.topArtists.toString() != topArtists.toString())) { setValue(topArtists); } } void setValue(TopArtistsData? topArtists) { emit(DataTopArtistsState( topArtists: topArtists, )); } @override DataTopArtistsState? fromJson(Map<String, dynamic> json) { return DataTopArtistsState( topArtists: TopArtistsData.fromJson(json['topArtists']), ); } @override Map<String, Object?>? toJson(DataTopArtistsState state) { return <String, Object?>{ 'topArtists': state.topArtists?.toJson(), }; } }