toJson method
Implementation
@override
Map<String, dynamic>? toJson(Gradient? value) {
if (value == null) return null;
if (value is LinearGradient) {
return {
'begin': const NullableAlignmentConverter()
.toJson(value.begin as Alignment?),
'colors': _encodeList<String?>(
value.colors,
(value) => const NullableColorConverter().toJson(value),
),
'end':
const NullableAlignmentConverter().toJson(value.end as Alignment?),
'stops': value.stops,
'tileMode': const NullableTileModeConverter().toJson(value.tileMode),
'transform':
const NullableGradientTransformConverter().toJson(value.transform),
'type': 'linear',
};
} else if (value is RadialGradient) {
return {
'center': const NullableAlignmentConverter()
.toJson(value.center as Alignment?),
'colors': _encodeList<String?>(
value.colors,
(value) => const NullableColorConverter().toJson(value),
),
'focal': const NullableAlignmentConverter()
.toJson(value.focal as Alignment?),
'focalRadius': value.focalRadius,
'radius': value.radius,
'stops': value.stops,
'tileMode': const NullableTileModeConverter().toJson(value.tileMode),
'transform':
const NullableGradientTransformConverter().toJson(value.transform),
'type': 'radial',
};
} else if (value is SweepGradient) {
return {
'center': const NullableAlignmentConverter()
.toJson(value.center as Alignment?),
'colors': _encodeList<String?>(
value.colors,
(value) => const NullableColorConverter().toJson(value),
),
'endAngle': value.endAngle,
'startAngle': value.startAngle,
'stops': value.stops,
'tileMode': const NullableTileModeConverter().toJson(value.tileMode),
'transform':
const NullableGradientTransformConverter().toJson(value.transform),
'type': 'sweep',
};
}
throw 'Json_Unsuported_Value';
}