decode static method

ColorValue? decode(
  1. dynamic json
)

Implementation

static ColorValue? decode(dynamic json) {
  if (json == null) {
    return null;
  }
  if (json is! Map<String, dynamic>) {
    return null;
  }

  final typename = json['__typename'];
  if (typename == null || typename is! String) {
    return null;
  }

  switch (typename) {
    case 'Color':
      final decoded = Color.decode(json);
      return decoded != null ? ColorValue.asColor(decoded) : null;
    case 'LinearGradient':
      final decoded = LinearGradient.decode(json);
      return decoded != null ? ColorValue.asLinearGradient(decoded) : null;
    default:
      return null;
  }
}