MiniProgramGalleryResult.fromJson constructor
MiniProgramGalleryResult.fromJson(
- Map<String, dynamic> json
)
Implementation
factory MiniProgramGalleryResult.fromJson(Map<String, dynamic> json) {
final images = json['images'];
final selectedAt = json['selectedAtUtc'];
if (json['selectionId'] is! String ||
images is! List ||
images.isEmpty ||
images.length > miniProgramGalleryMaxImages ||
selectedAt is! String) {
throw const FormatException('Invalid gallery selection metadata.');
}
final timestamp = DateTime.tryParse(selectedAt);
if (timestamp == null) {
throw const FormatException('Invalid gallery selection timestamp.');
}
return MiniProgramGalleryResult(
selectionId: json['selectionId'] as String,
images: images.map((image) {
if (image is! Map<String, dynamic>) {
throw const FormatException('Invalid gallery image metadata.');
}
return MiniProgramGalleryImage.fromJson(image);
}).toList(),
selectedAtUtc: timestamp,
);
}