deleteScopedImageFilesAt function

  1. @visibleForTesting
Future<void> deleteScopedImageFilesAt(
  1. String scope,
  2. String basePath
)

Implementation

@visibleForTesting
Future<void> deleteScopedImageFilesAt(String scope, String basePath) async {
  final canonicalScope = _canonicalizeScope(scope.trim());
  if (canonicalScope.isEmpty) return;
  final scopes = <String>{
    canonicalScope,
    _legacyScopeForCanonical(canonicalScope),
  };
  for (final scopeName in scopes) {
    final directory = Directory('$basePath/$scopeName');
    if (!directory.existsSync()) continue;
    for (final entity in directory.listSync(followLinks: false)) {
      if (entity is File && _looksLikeImageFilename(entity.path)) {
        try {
          await entity.delete();
        } catch (_) {}
      }
    }
    try {
      if (directory.existsSync() && directory.listSync().isEmpty) {
        await directory.delete();
      }
    } catch (_) {}
  }
}