toJson method

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

Implementation

@override
Map<String, dynamic>? toJson(ImageProvider? value) {
  if (value == null) return null;

  assert(
      value is AssetImage || value is MemoryImage || value is NetworkImage);
  if (value is AssetImage) {
    return <String, dynamic>{
      'assetName': value.assetName,
      'package': value.package,
      'type': 'asset',
    };
  } else if (value is MemoryImage) {
    return <String, dynamic>{
      'bytes': base64Encode(value.bytes),
      'scale': value.scale,
      'type': 'memory',
    };
  } else if (value is NetworkImage) {
    return <String, dynamic>{
      'headers': value.headers,
      'scale': value.scale,
      'type': 'network',
      'url': value.url,
    };
  }

  throw 'Json_Unsuported_Value';
}