import 'dart:convert'; T? asT(dynamic value) { if (value is T) { return value; } return null; } class ComicWebSearchModel { ComicWebSearchModel({ required this.id, required this.comicName, required this.comicAuthor, required this.comicCover, required this.cover, required this.lastUpdateChapterName, required this.comicUrlRaw, required this.comicUrl, required this.status, required this.chapterUrlRaw, required this.chapterUrl, }); factory ComicWebSearchModel.fromJson(Map json) => ComicWebSearchModel( id: asT(json['id'])!, comicName: asT(json['comic_name'])!, comicAuthor: asT(json['comic_author']) ?? "", comicCover: asT(json['comic_cover']) ?? "", cover: asT(json['cover']) ?? "", lastUpdateChapterName: asT(json['last_update_chapter_name']) ?? "", comicUrlRaw: asT(json['comic_url_raw']) ?? "", comicUrl: asT(json['comic_url']) ?? "", status: asT(json['status']) ?? "", chapterUrlRaw: asT(json['chapter_url_raw']) ?? "", chapterUrl: asT(json['chapter_url']) ?? "", ); int id; String comicName; String comicAuthor; String comicCover; String cover; String lastUpdateChapterName; String comicUrlRaw; String comicUrl; String status; String chapterUrlRaw; String chapterUrl; @override String toString() { return jsonEncode(this); } Map toJson() => { 'id': id, 'comic_name': comicName, 'comic_author': comicAuthor, 'comic_cover': comicCover, 'cover': cover, 'last_update_chapter_name': lastUpdateChapterName, 'comic_url_raw': comicUrlRaw, 'comic_url': comicUrl, 'status': status, 'chapter_url_raw': chapterUrlRaw, 'chapter_url': chapterUrl, }; }