isVersionRetracted method
Check whether a specific version of a package has been retracted.
Retracted versions include a retracted field set to true in the
versions list returned by /api/packages/{package}.
Returns false on failure (assumes not retracted if we cannot verify).
Implementation
Future<bool> isVersionRetracted(
String packageName,
String version,
) async {
try {
final info = await getPackageInfo(packageName);
final versions = info['versions'] as List<dynamic>? ?? [];
for (final v in versions) {
final versionMap = v as Map<String, dynamic>;
if (versionMap['version'] == version) {
return versionMap['retracted'] == true;
}
}
// Version not found in the list — treat as not retracted.
return false;
} catch (e, stack) {
Logger.error(
'Error checking retraction status for $packageName@$version',
e,
stack,
);
return false;
}
}