class Proxie { Proxie({ required this.proxies, }); late Map proxies; Proxie.fromJson(Map json) { proxies = (json['proxies'] as Map).map((key, value) => MapEntry(key, ProxieProxiesItem.fromJson(value))); } // Map toJson() { // final _data = {}; // _data['proxies'] = proxies.toJson(); // return _data; // } // @override // String toString() { // return toJson().toString(); // } } class ProxieProxiesItem { ProxieProxiesItem({ this.all, required this.history, required this.name, this.now, required this.type, required this.udp, }); late List? all; late List history; late String name; late String? now; late String type; late bool udp; get delay { return history.isEmpty ? 0 : history.last.delay; } ProxieProxiesItem.fromJson(Map json) { all = json['all'] == null ? null : List.castFrom(json['all']); history = List.from(json['history']).map((e) => ProxieProxiesItemHistory.fromJson(e)).toList(); name = json['name']; now = json['now']; type = json['type']; udp = json['udp']; } Map toJson() { final data = {}; data['all'] = all; data['history'] = history.map((e) => e.toJson()).toList(); data['name'] = name; data['now'] = now; data['type'] = type; data['udp'] = udp; return data; } @override String toString() { return toJson().toString(); } } class ProxieProxiesItemHistory { ProxieProxiesItemHistory({ required this.time, required this.delay, }); late String time; late int delay; ProxieProxiesItemHistory.fromJson(Map json) { time = json['time']; delay = json['delay']; } Map toJson() { final data = {}; data['time'] = time; data['delay'] = delay; return data; } @override String toString() { return toJson().toString(); } } class ProxieProvider { ProxieProvider({ required this.providers, }); late Map providers; ProxieProvider.fromJson(Map json) { providers = (json['providers'] as Map).map((key, value) => MapEntry(key, ProxieProviderItem.fromJson(value))); } // Map toJson() { // final _data = {}; // _data['providers'] = providers.toJson(); // return _data; // } // @override // String toString() { // return toJson().toString(); // } } class ProxieProviderItem { ProxieProviderItem({ required this.name, required this.proxies, required this.type, required this.vehicleType, this.updatedAt, }); late String name; late List proxies; late String type; late String vehicleType; late String? updatedAt; ProxieProviderItem.fromJson(Map json) { name = json['name']; proxies = List.from(json['proxies']).map((e) => ProxieProxiesItem.fromJson(e)).toList(); type = json['type']; vehicleType = json['vehicleType']; updatedAt = json['updatedAt']; } Map toJson() { final data = {}; data['name'] = name; data['proxies'] = proxies.map((e) => e.toJson()).toList(); data['type'] = type; data['vehicleType'] = vehicleType; data['updatedAt'] = updatedAt; return data; } @override String toString() { return toJson().toString(); } } class ProxieProxieType { static const String selector = 'Selector'; static const String urltest = 'URLTest'; static const String fallback = 'Fallback'; static const String loadbalance = 'LoadBalance'; static const String direct = 'Direct'; static const String reject = 'Reject'; }