import 'package:aman_kassa_flutter/redux/constants/setting_const.dart'; import 'package:meta/meta.dart'; @immutable class SettingState { final String mode; final String tradeType; final String pinCode; final bool pinLocked; final bool pinSkip; SettingState({this.mode, this.tradeType, this.pinCode, this.pinLocked, this.pinSkip}); //read hive factory SettingState.initial(SettingState payload) { return SettingState( mode: payload?.mode ?? SettingModeKassa, tradeType: payload?.tradeType ?? SettingTradeTypeGood, pinCode: payload?.pinCode ?? null, pinLocked: payload?.pinLocked ?? false, pinSkip: false, ); } //write hive SettingState copyWith({ @required mode, @required tradeType, @required pinCode, @required pinLocked, @required pinSkip, }) { return SettingState( mode: mode ?? this.mode, tradeType: tradeType ?? this.tradeType, pinCode: pinCode ?? this.pinCode, pinLocked: pinLocked ?? this.pinLocked, pinSkip: pinSkip ?? this.pinSkip ); } static SettingState fromJson(dynamic json) { return json != null ? SettingState( tradeType: json['tradeType'], mode: json['mode'], pinCode: json['pinCode'], pinLocked: json['pinLocked'], pinSkip: json['pinSkip'], ) : null; } dynamic toJson() { return { "tradeType": tradeType, "mode": mode, "pinCode": pinCode, "pinLocked" : pinLocked, "pinSkip" : pinSkip, }; } }