// ignore_for_file: public_member_api_docs, sort_constructors_first import 'dart:convert'; enum LivePhotosPart { video, image } class LivePhotosMetadata { // enum LivePhotosPart part; String id; LivePhotosMetadata({required this.part, required this.id}); LivePhotosMetadata copyWith({LivePhotosPart? part, String? id}) { return LivePhotosMetadata(part: part ?? this.part, id: id ?? this.id); } Map toMap() { return {'part': part.index, 'id': id}; } factory LivePhotosMetadata.fromMap(Map map) { return LivePhotosMetadata(part: LivePhotosPart.values[map['part'] as int], id: map['id'] as String); } String toJson() => json.encode(toMap()); factory LivePhotosMetadata.fromJson(String source) => LivePhotosMetadata.fromMap(json.decode(source) as Map); @override String toString() => 'LivePhotosMetadata(part: $part, id: $id)'; @override bool operator ==(covariant LivePhotosMetadata other) { if (identical(this, other)) return true; return other.part == part && other.id == id; } @override int get hashCode => part.hashCode ^ id.hashCode; }