import 'package:meta/meta.dart'; import 'package:satu/core/models/auth/auth_response.dart'; @immutable class UserState { final bool isError; final bool isLoading; final AuthResponse auth; UserState( {this.isError, this.isLoading, this.auth, }); factory UserState.initial(UserState payload) => UserState( isLoading: false, isError: false, auth: payload?.auth ?? (AuthResponse()..operation=false), ); UserState copyWith({ @required bool isError, @required bool isLoading, @required AuthResponse auth }) { return UserState( isError: isError ?? this.isError, isLoading: isLoading ?? this.isLoading, auth: auth ?? this.auth, ); } static UserState fromJson(dynamic json) { return json != null ? UserState( auth: AuthResponse.fromMap(json['auth']), ) : null; } dynamic toJson() { return { "auth": auth != null ? auth.toJson() : null, }; } }