Map<String, dynamic> toJson() { final data = <String, dynamic>{ 'url': url, 'type': type.index, }; return data..removeWhere((key, value) => value == null); }