class EmoteModelData { final List? packages; EmoteModelData({ required this.packages, }); factory EmoteModelData.fromJson(Map jsonRes) { final List? packages = jsonRes['packages'] is List ? [] : null; if (packages != null) { for (final dynamic item in jsonRes['packages']!) { if (item != null) { try { packages.add(PackageItem.fromJson(item)); } catch (_) {} } } } return EmoteModelData( packages: packages, ); } } class PackageItem { final int? id; final String? text; final String? url; final int? mtime; final int? type; final int? attr; final Meta? meta; final List? emote; PackageItem({ required this.id, required this.text, required this.url, required this.mtime, required this.type, required this.attr, required this.meta, required this.emote, }); factory PackageItem.fromJson(Map jsonRes) { final List? emote = jsonRes['emote'] is List ? [] : null; if (emote != null) { for (final dynamic item in jsonRes['emote']!) { if (item != null) { try { emote.add(Emote.fromJson(item)); } catch (_) {} } } } return PackageItem( id: jsonRes['id'], text: jsonRes['text'], url: jsonRes['url'], mtime: jsonRes['mtime'], type: jsonRes['type'], attr: jsonRes['attr'], meta: Meta.fromJson(jsonRes['meta']), emote: emote, ); } } class Meta { final int? size; final List? suggest; Meta({ required this.size, required this.suggest, }); factory Meta.fromJson(Map jsonRes) => Meta( size: jsonRes['size'], suggest: jsonRes['suggest'] is List ? [] : null, ); } class Emote { final int? id; final int? packageId; final String? text; final String? url; final int? mtime; final int? type; final int? attr; final Meta? meta; final dynamic activity; Emote({ required this.id, required this.packageId, required this.text, required this.url, required this.mtime, required this.type, required this.attr, required this.meta, required this.activity, }); factory Emote.fromJson(Map jsonRes) => Emote( id: jsonRes['id'], packageId: jsonRes['package_id'], text: jsonRes['text'], url: jsonRes['url'], mtime: jsonRes['mtime'], type: jsonRes['type'], attr: jsonRes['attr'], meta: Meta.fromJson(jsonRes['meta']), activity: jsonRes['activity'], ); }