Rename data structures to optimize the program

This commit is contained in:
zontreck 2024-11-22 15:57:34 -07:00
parent 56b638fab3
commit c2fc6db82f

View file

@ -1,8 +1,8 @@
class AWSJson { class AWSJson {
String syncToken = ""; String syncToken = "";
String createDate = ""; String createDate = "";
List<AWSIPv4> prefixes = []; List<AWSIP> prefixes = [];
List<AWSIPv6> ipv6_prefixes = []; List<AWSIP> ipv6_prefixes = [];
AWSJson._(); AWSJson._();
factory AWSJson.parse(Map<String, dynamic> js) { factory AWSJson.parse(Map<String, dynamic> js) {
@ -13,48 +13,30 @@ class AWSJson {
List<dynamic> LPv4 = js['prefixes'] as List<dynamic>; List<dynamic> LPv4 = js['prefixes'] as List<dynamic>;
for (var entry in LPv4) { for (var entry in LPv4) {
ajs.prefixes.add(AWSIPv4.parse(entry as Map<String, dynamic>)); ajs.prefixes.add(AWSIP.parse(entry as Map<String, dynamic>, ipv6: false));
} }
List<dynamic> LPv6 = js['ipv6_prefixes'] as List<dynamic>; List<dynamic> LPv6 = js['ipv6_prefixes'] as List<dynamic>;
for (var entry in LPv6) { for (var entry in LPv6) {
ajs.ipv6_prefixes.add(AWSIPv6.parse(entry as Map<String, dynamic>)); ajs.ipv6_prefixes
.add(AWSIP.parse(entry as Map<String, dynamic>, ipv6: true));
} }
return ajs; return ajs;
} }
} }
class AWSIPv4 { class AWSIP {
String ip_prefix = ""; String ip_prefix = "";
String region = ""; String region = "";
String service = ""; String service = "";
String network_border_group = ""; String network_border_group = "";
AWSIPv4._(); AWSIP._();
factory AWSIPv4.parse(Map<String, dynamic> js) { factory AWSIP.parse(Map<String, dynamic> js, {required bool ipv6}) {
AWSIPv4 ip = AWSIPv4._(); AWSIP ip = AWSIP._();
ip.ip_prefix = js['ip_prefix'] as String; ip.ip_prefix = js["${ipv6 ? "ipv6_" : "ip_"}prefix"] as String;
ip.region = js['region'] as String;
ip.service = js['service'] as String;
ip.network_border_group = js['network_border_group'] as String;
return ip;
}
}
class AWSIPv6 {
String ipv6_prefix = "";
String region = "";
String service = "";
String network_border_group = "";
AWSIPv6._();
factory AWSIPv6.parse(Map<String, dynamic> js) {
AWSIPv6 ip = AWSIPv6._();
ip.ipv6_prefix = js['ipv6_prefix'] as String;
ip.region = js['region'] as String; ip.region = js['region'] as String;
ip.service = js['service'] as String; ip.service = js['service'] as String;
ip.network_border_group = js['network_border_group'] as String; ip.network_border_group = js['network_border_group'] as String;