toJson method

  1. @override
Map<String, dynamic>? toJson(
  1. Gradient? value
)
override

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';
}