toPackagexPlatformTypes method
Convert any text symbol example: "linux" converted to PackagexPlatformType.linux
Implementation
List<PackagexPlatformType> toPackagexPlatformTypes({
bool isAutoPlatformCurrent = true,
}) {
List<String> texts = split(",");
List<PackagexPlatformType> packagexPlatformTypes = [];
for (String text in texts) {
PackagexPlatformType? packagexPlatformType = PackagexPlatformType.values
.firstWhereOrNull((element) =>
element.name.toLowerCase() == text.toLowerCase().trim());
if (packagexPlatformType != null) {
if (!packagexPlatformTypes.contains(packagexPlatformType)) {
packagexPlatformTypes.add(packagexPlatformType);
}
}
}
if (packagexPlatformTypes.isEmpty) {
if (Dart.isAndroid) {
packagexPlatformTypes.add(PackagexPlatformType.android);
}
if (Dart.isIOS) {
packagexPlatformTypes.add(PackagexPlatformType.ios);
}
if (Dart.isLinux) {
packagexPlatformTypes.add(PackagexPlatformType.linux);
}
if (Dart.isMacOS) {
packagexPlatformTypes.add(PackagexPlatformType.macos);
}
if (Dart.isWeb) {
packagexPlatformTypes.add(PackagexPlatformType.web);
}
if (Dart.isWindows) {
packagexPlatformTypes.add(PackagexPlatformType.windows);
}
}
return packagexPlatformTypes.toSet().toList();
}