encodeWithDifference method
dynamic
encodeWithDifference()
Encode state and return difference from initial state.
Implementation
dynamic encodeWithDifference() {
final state = encode();
switch (state) {
case Map<String, dynamic> map:
final initialState = initialSerializedState as Map<String, dynamic>;
final difference = initialState.difference(map);
if (difference.isEmpty) return null;
return difference;
case Object value when initialSerializedState != value:
return value;
default:
return null;
}
}